@charset "UTF-8";
/*
$base-bg:                #ffffff !default;
$base-bg-darker:         #eeeeee !default;
$base-bg-dark:           #f9f9f9 !default;
$base-border:            #d9d9d9 !default;
$base-color:             #202020 !default;
*/
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i&subset=cyrillic,cyrillic-ext,latin-ext");
/*!
 * Bootstrap v3.3.5 (http://getbootstrap.com)
 * Copyright 2011-2015 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;
  font-size: inherit;
}

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;
  }
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  font-family: "Open Sans", sans-serif;
  font-size: 12px;
  line-height: 1.428571429;
  color: #202020;
  background-color: #dddddd;
}

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

a {
  color: #1b99bd;
  text-decoration: none;
}
a:hover, a:focus {
  color: #11637a;
  text-decoration: underline;
}
a:focus {
  /*
  // Default
  outline: thin dotted;
  // WebKit
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  */
  text-decoration: none;
  outline: 0;
}

figure {
  margin: 0;
}

img {
  vertical-align: middle;
}

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

.img-rounded {
  border-radius: 0;
}

.img-thumbnail {
  padding: 3px;
  line-height: 1.428571429;
  background-color: #f9f9f9;
  border: 1px solid #d9d9d9;
  border-radius: 2;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}

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

hr {
  margin-top: 17px;
  margin-bottom: 17px;
  border: 0;
  border-top: 1px solid #f9f9f9;
}

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

h1, .h1,
h2, .h2,
h3, .h3 {
  margin-top: 17px;
  margin-bottom: 8.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: 8.5px;
  margin-bottom: 8.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: 31px;
}

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

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

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

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

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

p {
  margin: 0 0 8.5px;
}

.lead {
  margin-bottom: 17px;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 18px;
  }
}

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

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

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

.text-right, .action-block {
  text-align: right;
}

.text-center, .plan .plan-footer, .plan .plan-title {
  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: #eeeeee;
}

.text-primary {
  color: #1b99bd;
}

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

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

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

.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: 7.5px;
  margin: 34px 0 17px;
  border-bottom: 1px solid #f9f9f9;
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 8.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: 17px;
}

dt,
dd {
  line-height: 1.428571429;
}

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

.initialism {
  font-size: 90%;
}

blockquote {
  padding: 8.5px 17px;
  margin: 0 0 17px;
  font-size: 15px;
  border-left: 5px solid #f9f9f9;
}
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.428571429;
  color: #eeeeee;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: "— ";
}

.blockquote-reverse,
blockquote.pull-right,
.nav-pagination blockquote.pagination {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #f9f9f9;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
.blockquote-reverse small:before,
.blockquote-reverse .small:before,
blockquote.pull-right footer:before,
.nav-pagination blockquote.pagination footer:before,
blockquote.pull-right small:before,
.nav-pagination blockquote.pagination small:before,
blockquote.pull-right .small:before,
.nav-pagination blockquote.pagination .small:before {
  content: "";
}
.blockquote-reverse footer:after,
.blockquote-reverse small:after,
.blockquote-reverse .small:after,
blockquote.pull-right footer:after,
.nav-pagination blockquote.pagination footer:after,
blockquote.pull-right small:after,
.nav-pagination blockquote.pagination small:after,
blockquote.pull-right .small:after,
.nav-pagination blockquote.pagination .small:after {
  content: " —";
}

address {
  margin-bottom: 17px;
  font-style: normal;
  line-height: 1.428571429;
}

.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, .plans, .checkboxes {
  margin-left: -15px;
  margin-right: -15px;
}
.row:before, .plans:before, .checkboxes:before, .row:after, .plans:after, .checkboxes:after {
  content: " ";
  display: table;
}
.row:after, .plans:after, .checkboxes:after {
  clear: both;
}

.col-xs-1, .col-sm-1, .col-md-1, .table-icon .item, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .plan-col, .col-lg-3, .col-xs-4, .col-sm-4, .lang-list .lang-item, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li[data-original-index], .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index][data-optgroup], .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .checkboxes .checkbox, .col-sm-6, .bootstrap-select.form-control.multiexpand.half .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], .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, .bootstrap-select.form-control.multiexpand.full .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control .dropdown-menu.inner > li[data-original-index][data-optgroup], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li[data-original-index][data-optgroup], .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .bootstrap-select.form-control .dropdown-menu.inner > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li, .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, .table-icon .item, .col-xs-4, .col-xs-5, .col-xs-6, .checkboxes .checkbox, .lang-list .lang-item, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .plan-col {
  float: left;
}

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

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

.col-xs-3, .table-icon .item {
  width: 25%;
}

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

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

.col-xs-6, .checkboxes .checkbox, .lang-list .lang-item {
  width: 50%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .table-icon .item, .col-sm-3, .col-sm-4, .plan-col, .lang-list .lang-item, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li[data-original-index], .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index][data-optgroup], .col-sm-5, .col-sm-6, .checkboxes .checkbox, .bootstrap-select.form-control.multiexpand.half .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .bootstrap-select.form-control.multiexpand.full .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control .dropdown-menu.inner > li[data-original-index][data-optgroup], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li[data-original-index][data-optgroup], .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .bootstrap-select.form-control .dropdown-menu.inner > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li {
    float: left;
  }

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

  .col-sm-2, .table-icon .item {
    width: 16.6666666667%;
  }

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

  .col-sm-4, .plan-col, .lang-list .lang-item, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li[data-original-index], .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index][data-optgroup] {
    width: 33.3333333333%;
  }

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

  .col-sm-6, .checkboxes .checkbox, .bootstrap-select.form-control.multiexpand.half .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index] {
    width: 50%;
  }

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

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

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

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

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

  .col-sm-12, .bootstrap-select.form-control.multiexpand.full .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control .dropdown-menu.inner > li[data-original-index][data-optgroup], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li[data-original-index][data-optgroup], .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .bootstrap-select.form-control .dropdown-menu.inner > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li {
    width: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .col-sm-offset-12 {
    margin-left: 100%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .table-icon .item, .col-md-2, .col-md-3, .plan-col, .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, .table-icon .item {
    width: 8.3333333333%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .col-lg-offset-12 {
    margin-left: 100%;
  }
}
table {
  background-color: transparent;
}

caption {
  padding-top: 12px;
  padding-bottom: 12px;
  color: #eeeeee;
  text-align: left;
}

th {
  text-align: left;
}

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 17px;
}
.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: 12px;
  line-height: 1.428571429;
  vertical-align: top;
  border-top: 1px solid #d9d9d9;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #d9d9d9;
}
.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 #d9d9d9;
}
.table .table {
  background-color: #dddddd;
}

.table-condensed > thead > tr > th, #widgets .table > thead > tr > th, .table.table-list > thead > tr > th,
.table-condensed > thead > tr > td,
#widgets .table > thead > tr > td,
.table.table-list > thead > tr > td,
.table-condensed > tbody > tr > th,
#widgets .table > tbody > tr > th,
.table.table-list > tbody > tr > th,
.table-condensed > tbody > tr > td,
#widgets .table > tbody > tr > td,
.table.table-list > tbody > tr > td,
.table-condensed > tfoot > tr > th,
#widgets .table > tfoot > tr > th,
.table.table-list > tfoot > tr > th,
.table-condensed > tfoot > tr > td,
#widgets .table > tfoot > tr > td,
.table.table-list > tfoot > tr > td {
  padding: 3px;
}

.table-bordered {
  border: 1px solid #d9d9d9;
}
.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 #d9d9d9;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}

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

.table-hover > tbody > tr:hover, .table.table-list > tbody > tr:hover {
  background-color: #f9f9f9;
}

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

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

.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.table-list > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table.table-list > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table.table-list > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table.table-list > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th, .table.table-list > 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.table-list > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table.table-list > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table.table-list > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table.table-list > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th, .table.table-list > 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.table-list > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table.table-list > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table.table-list > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table.table-list > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th, .table.table-list > 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.table-list > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table.table-list > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table.table-list > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table.table-list > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th, .table.table-list > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}

.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 12.75px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #d9d9d9;
  }
  .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: 17px;
  font-size: 18px;
  line-height: inherit;
  color: #777777;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}

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

input[type=search] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  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 {
  /*
  // Default
  outline: thin dotted;
  // WebKit
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  */
  text-decoration: none;
  outline: 0;
}

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

.form-control, div.dataTables_wrapper div.dataTables_filter input {
  display: block;
  width: 100%;
  height: 31px;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.428571429;
  color: #555555;
  background-color: #f9f9f9;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.form-control:focus, div.dataTables_wrapper div.dataTables_filter input:focus {
  color: #202020;
  background-color: #ffffff;
  border-color: #d9d9d9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
}
.form-control::-moz-placeholder, div.dataTables_wrapper div.dataTables_filter input::-moz-placeholder {
  color: #cccccc;
  opacity: 1;
}
.form-control:-ms-input-placeholder, div.dataTables_wrapper div.dataTables_filter input:-ms-input-placeholder {
  color: #cccccc;
}
.form-control::-webkit-input-placeholder, div.dataTables_wrapper div.dataTables_filter input::-webkit-input-placeholder {
  color: #cccccc;
}
.form-control[disabled], div.dataTables_wrapper div.dataTables_filter input[disabled], .form-control[readonly], div.dataTables_wrapper div.dataTables_filter input[readonly], fieldset[disabled] .form-control, fieldset[disabled] div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter fieldset[disabled] input {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled], div.dataTables_wrapper div.dataTables_filter input[disabled], fieldset[disabled] .form-control, fieldset[disabled] div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter fieldset[disabled] input {
  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, div.dataTables_wrapper div.dataTables_filter input[type=date],
input[type=time].form-control,
div.dataTables_wrapper div.dataTables_filter input[type=time],
input[type=datetime-local].form-control,
div.dataTables_wrapper div.dataTables_filter input[type=datetime-local],
input[type=month].form-control,
div.dataTables_wrapper div.dataTables_filter input[type=month] {
    line-height: 31px;
  }
  input[type=date].input-sm,
.input-group-sm > .input-group-btn > input[type=date].btn, .input-group-sm input[type=date],
input[type=time].input-sm,
.input-group-sm > .input-group-btn > input[type=time].btn,
.input-group-sm input[type=time],
input[type=datetime-local].input-sm,
.input-group-sm > .input-group-btn > input[type=datetime-local].btn,
.input-group-sm input[type=datetime-local],
input[type=month].input-sm,
.input-group-sm > .input-group-btn > input[type=month].btn,
.input-group-sm input[type=month] {
    line-height: 28px;
  }
  input[type=date].input-lg,
.input-group-lg > .input-group-btn > input[type=date].btn, .input-group-lg input[type=date],
input[type=time].input-lg,
.input-group-lg > .input-group-btn > input[type=time].btn,
.input-group-lg input[type=time],
input[type=datetime-local].input-lg,
.input-group-lg > .input-group-btn > input[type=datetime-local].btn,
.input-group-lg input[type=datetime-local],
input[type=month].input-lg,
.input-group-lg > .input-group-btn > input[type=month].btn,
.input-group-lg input[type=month] {
    line-height: 40px;
  }
}
.form-group {
  margin-bottom: 10px;
}

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 17px;
  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,
.group .checkbox,
.table .checkbox {
  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,
.group .checkbox + .checkbox-inline,
.group .checkbox-inline + .checkbox,
.group .checkbox + .checkbox,
.table .checkbox + .checkbox-inline,
.table .checkbox-inline + .checkbox,
.table .checkbox + .checkbox {
  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,
.group .disabled.checkbox,
.table .disabled.checkbox,
fieldset[disabled] .checkbox-inline,
fieldset[disabled] .group .checkbox,
.group fieldset[disabled] .checkbox,
fieldset[disabled] .table .checkbox,
.table fieldset[disabled] .checkbox {
  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: 29px;
}
.form-control-static.input-lg, .input-group-lg > .form-control-static.form-control, div.dataTables_wrapper div.dataTables_filter .input-group-lg > input.form-control-static,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control, div.dataTables_wrapper div.dataTables_filter .input-group-sm > input.form-control-static,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn {
  padding-left: 0;
  padding-right: 0;
}

.input-sm, .input-group-sm > .form-control, div.dataTables_wrapper div.dataTables_filter .input-group-sm > input,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 28px;
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 2;
}

select.input-sm, .input-group-sm > select.form-control,
.input-group-sm > select.input-group-addon,
.input-group-sm > .input-group-btn > select.btn {
  height: 28px;
  line-height: 28px;
}

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

.form-group-sm .form-control, .form-group-sm div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .form-group-sm input {
  height: 28px;
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 2;
}
.form-group-sm select.form-control {
  height: 28px;
  line-height: 28px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 28px;
  min-height: 28px;
  padding: 6px 10px;
  font-size: 11px;
  line-height: 1.5;
}

.input-lg, .input-group-lg > .form-control, div.dataTables_wrapper div.dataTables_filter .input-group-lg > input,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 40px;
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.3333333;
  border-radius: 0;
}

select.input-lg, .input-group-lg > select.form-control,
.input-group-lg > select.input-group-addon,
.input-group-lg > .input-group-btn > select.btn {
  height: 40px;
  line-height: 40px;
}

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

.form-group-lg .form-control, .form-group-lg div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .form-group-lg input {
  height: 40px;
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.3333333;
  border-radius: 0;
}
.form-group-lg select.form-control {
  height: 40px;
  line-height: 40px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 40px;
  min-height: 30px;
  padding: 11px 16px;
  font-size: 13px;
  line-height: 1.3333333;
}

.has-feedback {
  position: relative;
}
.has-feedback .form-control, .has-feedback div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .has-feedback input {
  padding-right: 31px;
}

.form-control-feedback, .form-group.search:before,
.bs-searchbox:before {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 31px;
  height: 31px;
  line-height: 31px;
  text-align: center;
  pointer-events: none;
}

.input-lg + .form-control-feedback, .input-lg + .form-group.search:before,
.input-lg + .bs-searchbox:before, .input-group-lg > .form-control + .form-control-feedback, div.dataTables_wrapper div.dataTables_filter .input-group-lg > input + .form-control-feedback, .input-group-lg > .form-control + .form-group.search:before, div.dataTables_wrapper div.dataTables_filter .input-group-lg > input + .form-group.search:before,
.input-group-lg > .form-control + .bs-searchbox:before,
div.dataTables_wrapper div.dataTables_filter .input-group-lg > input + .bs-searchbox:before,
.input-group-lg > .input-group-addon + .form-control-feedback,
.input-group-lg > .input-group-addon + .form-group.search:before,
.input-group-lg > .input-group-addon + .bs-searchbox:before,
.input-group-lg > .input-group-btn > .btn + .form-control-feedback,
.input-group-lg > .input-group-btn > .btn + .form-group.search:before,
.input-group-lg > .input-group-btn > .btn + .bs-searchbox:before,
.input-group-lg + .form-control-feedback,
.input-group-lg + .form-group.search:before,
.input-group-lg + .bs-searchbox:before,
.form-group-lg .form-control + .form-control-feedback,
.form-group-lg div.dataTables_wrapper div.dataTables_filter input + .form-control-feedback,
div.dataTables_wrapper div.dataTables_filter .form-group-lg input + .form-control-feedback,
.form-group-lg .form-control + .form-group.search:before,
.form-group-lg div.dataTables_wrapper div.dataTables_filter input + .form-group.search:before,
div.dataTables_wrapper div.dataTables_filter .form-group-lg input + .form-group.search:before,
.form-group-lg .form-control + .bs-searchbox:before,
.form-group-lg div.dataTables_wrapper div.dataTables_filter input + .bs-searchbox:before,
div.dataTables_wrapper div.dataTables_filter .form-group-lg input + .bs-searchbox:before {
  width: 40px;
  height: 40px;
  line-height: 40px;
}

.input-sm + .form-control-feedback, .input-sm + .form-group.search:before,
.input-sm + .bs-searchbox:before, .input-group-sm > .form-control + .form-control-feedback, div.dataTables_wrapper div.dataTables_filter .input-group-sm > input + .form-control-feedback, .input-group-sm > .form-control + .form-group.search:before, div.dataTables_wrapper div.dataTables_filter .input-group-sm > input + .form-group.search:before,
.input-group-sm > .form-control + .bs-searchbox:before,
div.dataTables_wrapper div.dataTables_filter .input-group-sm > input + .bs-searchbox:before,
.input-group-sm > .input-group-addon + .form-control-feedback,
.input-group-sm > .input-group-addon + .form-group.search:before,
.input-group-sm > .input-group-addon + .bs-searchbox:before,
.input-group-sm > .input-group-btn > .btn + .form-control-feedback,
.input-group-sm > .input-group-btn > .btn + .form-group.search:before,
.input-group-sm > .input-group-btn > .btn + .bs-searchbox:before,
.input-group-sm + .form-control-feedback,
.input-group-sm + .form-group.search:before,
.input-group-sm + .bs-searchbox:before,
.form-group-sm .form-control + .form-control-feedback,
.form-group-sm div.dataTables_wrapper div.dataTables_filter input + .form-control-feedback,
div.dataTables_wrapper div.dataTables_filter .form-group-sm input + .form-control-feedback,
.form-group-sm .form-control + .form-group.search:before,
.form-group-sm div.dataTables_wrapper div.dataTables_filter input + .form-group.search:before,
div.dataTables_wrapper div.dataTables_filter .form-group-sm input + .form-group.search:before,
.form-group-sm .form-control + .bs-searchbox:before,
.form-group-sm div.dataTables_wrapper div.dataTables_filter input + .bs-searchbox:before,
div.dataTables_wrapper div.dataTables_filter .form-group-sm input + .bs-searchbox:before {
  width: 28px;
  height: 28px;
  line-height: 28px;
}

.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.bootstrap-select,
.has-success .form-control,
.has-success div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_filter .has-success input {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control.bootstrap-select:focus,
.has-success .form-control:focus,
.has-success div.dataTables_wrapper div.dataTables_filter input:focus,
div.dataTables_wrapper div.dataTables_filter .has-success input:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  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, .has-success .form-group.search:before,
.has-success .bs-searchbox:before {
  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.bootstrap-select,
.has-warning .form-control,
.has-warning div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_filter .has-warning input {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control.bootstrap-select:focus,
.has-warning .form-control:focus,
.has-warning div.dataTables_wrapper div.dataTables_filter input:focus,
div.dataTables_wrapper div.dataTables_filter .has-warning input:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  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, .has-warning .form-group.search:before,
.has-warning .bs-searchbox:before {
  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.bootstrap-select,
.has-error .form-control,
.has-error div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_filter .has-error input {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control.bootstrap-select:focus,
.has-error .form-control:focus,
.has-error div.dataTables_wrapper div.dataTables_filter input:focus,
div.dataTables_wrapper div.dataTables_filter .has-error input:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  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, .has-error .form-group.search:before,
.has-error .bs-searchbox:before {
  color: #a94442;
}

.has-feedback label ~ .form-control-feedback, .has-feedback label ~ .form-group.search:before,
.has-feedback label ~ .bs-searchbox:before {
  top: 22px;
}
.has-feedback label.sr-only ~ .form-control-feedback, .has-feedback label.sr-only ~ .form-group.search:before,
.has-feedback label.sr-only ~ .bs-searchbox:before {
  top: 0;
}

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

@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control, .form-inline div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .form-inline input {
    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,
.form-inline .input-group div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_filter .form-inline .input-group input {
    width: auto;
  }
  .form-inline .input-group > .form-control, .form-inline div.dataTables_wrapper div.dataTables_filter .input-group > input, div.dataTables_wrapper div.dataTables_filter .form-inline .input-group > input {
    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, .form-inline .has-feedback .form-group.search:before,
.form-inline .has-feedback .bs-searchbox:before {
    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: 24px;
}
.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, .form-horizontal .has-feedback .form-group.search:before,
.form-horizontal .has-feedback .bs-searchbox:before {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 14.333333px;
    font-size: 13px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 11px;
  }
}

.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.428571429;
  border-radius: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
  /*
  // Default
  outline: thin dotted;
  // WebKit
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  */
  text-decoration: none;
  outline: 0;
}
.btn:hover, .btn:focus, .btn.focus {
  color: #777777;
  text-decoration: none;
}
.btn:active, .btn.active {
  outline: 0;
  background-image: none;
}
.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}

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

.btn-default {
  color: #777777;
  background-color: #eeeeee;
  border-color: #eeeeee;
}
.btn-default:focus, .btn-default.focus {
  color: #777777;
  background-color: #d5d5d5;
  border-color: #aeaeae;
}
.btn-default:hover {
  color: #777777;
  background-color: #d5d5d5;
  border-color: #cfcfcf;
}
.btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle {
  color: #777777;
  background-color: #d5d5d5;
  border-color: #cfcfcf;
}
.btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus, .open > .btn-default.dropdown-toggle:hover, .open > .btn-default.dropdown-toggle:focus, .open > .btn-default.dropdown-toggle.focus {
  color: #777777;
  background-color: #c3c3c3;
  border-color: #aeaeae;
}
.btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle {
  background-image: none;
}
.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active {
  background-color: #eeeeee;
  border-color: #eeeeee;
}
.btn-default .badge {
  color: #eeeeee;
  background-color: #777777;
}

.btn-primary, .btn-action {
  color: #fff;
  background-color: #1b99bd;
  border-color: #1887a7;
}
.btn-primary:focus, .btn-action:focus, .btn-primary.focus, .focus.btn-action {
  color: #fff;
  background-color: #157590;
  border-color: #082d37;
}
.btn-primary:hover, .btn-action:hover {
  color: #fff;
  background-color: #157590;
  border-color: #105c71;
}
.btn-primary:active, .btn-action:active, .btn-primary.active, .active.btn-action, .open > .btn-primary.dropdown-toggle, .open > .dropdown-toggle.btn-action {
  color: #fff;
  background-color: #157590;
  border-color: #105c71;
}
.btn-primary:active:hover, .btn-action:active:hover, .btn-primary:active:focus, .btn-action:active:focus, .btn-primary:active.focus, .btn-action:active.focus, .btn-primary.active:hover, .active.btn-action:hover, .btn-primary.active:focus, .active.btn-action:focus, .btn-primary.active.focus, .active.focus.btn-action, .open > .btn-primary.dropdown-toggle:hover, .open > .dropdown-toggle.btn-action:hover, .open > .btn-primary.dropdown-toggle:focus, .open > .dropdown-toggle.btn-action:focus, .open > .btn-primary.dropdown-toggle.focus, .open > .dropdown-toggle.focus.btn-action {
  color: #fff;
  background-color: #105c71;
  border-color: #082d37;
}
.btn-primary:active, .btn-action:active, .btn-primary.active, .active.btn-action, .open > .btn-primary.dropdown-toggle, .open > .dropdown-toggle.btn-action {
  background-image: none;
}
.btn-primary.disabled, .disabled.btn-action, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], [disabled].btn-action, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-action, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active {
  background-color: #1b99bd;
  border-color: #1887a7;
}
.btn-primary .badge, .btn-action .badge {
  color: #1b99bd;
  background-color: #fff;
}

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus, .btn-success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus, .open > .btn-success.dropdown-toggle:hover, .open > .btn-success.dropdown-toggle:focus, .open > .btn-success.dropdown-toggle.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle {
  background-image: none;
}
.btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}

.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus, .btn-info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus, .open > .btn-info.dropdown-toggle:hover, .open > .btn-info.dropdown-toggle:focus, .open > .btn-info.dropdown-toggle.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle {
  background-image: none;
}
.btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}

.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus, .btn-warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus, .open > .btn-warning.dropdown-toggle:hover, .open > .btn-warning.dropdown-toggle:focus, .open > .btn-warning.dropdown-toggle.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle {
  background-image: none;
}
.btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}

.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus, .btn-danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus, .open > .btn-danger.dropdown-toggle:hover, .open > .btn-danger.dropdown-toggle:focus, .open > .btn-danger.dropdown-toggle.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle {
  background-image: none;
}
.btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}

.btn-link {
  color: #1b99bd;
  font-weight: normal;
  border-radius: 0;
}
.btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
  border-color: transparent;
}
.btn-link:hover, .btn-link:focus {
  color: #11637a;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus {
  color: #eeeeee;
  text-decoration: none;
}

.btn-lg, .btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.3333333;
  border-radius: 0;
}

.btn-sm, .action-block .btn, .btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 2;
}

.btn-xs, .btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 2;
}

.btn-block {
  display: block;
  width: 100%;
}

.btn-block + .btn-block {
  margin-top: 5px;
}

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

.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}

.collapse {
  display: none;
}
.collapse.in {
  display: block;
}

tr.collapse.in {
  display: table-row;
}

tbody.collapse.in {
  display: table-row-group;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}

.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, .leaflet-control-layers .leaflet-control-layers-list {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 12px;
  text-align: left;
  background-color: #ffffff;
  border: 1px solid #d9d9d9;
  border: 1px solid #d9d9d9;
  border-radius: 0;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right, .nav-pagination .dropdown-menu.pagination, .leaflet-control-layers .pull-right.leaflet-control-layers-list, .leaflet-control-layers .nav-pagination .leaflet-control-layers-list.pagination, .nav-pagination .leaflet-control-layers .leaflet-control-layers-list.pagination {
  right: 0;
  left: auto;
}
.dropdown-menu .divider, .leaflet-control-layers .leaflet-control-layers-list .divider {
  height: 1px;
  margin: 7.5px 0;
  overflow: hidden;
  background-color: #d9d9d9;
}
.dropdown-menu > li > a, .leaflet-control-layers .leaflet-control-layers-list > li > a {
  display: block;
  padding: 6px 13px;
  clear: both;
  font-weight: normal;
  line-height: 1.428571429;
  color: #777777;
  white-space: nowrap;
}

.dropdown-menu > li > a:hover, .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .dropdown-menu > li > a:focus, .leaflet-control-layers .leaflet-control-layers-list > li > a:focus {
  text-decoration: none;
  color: #777777;
  background-color: #f9f9f9;
}

.dropdown-menu > .active > a, .leaflet-control-layers .leaflet-control-layers-list > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
  color: #777777;
  text-decoration: none;
  outline: 0;
  background-color: #f9f9f9;
}

.dropdown-menu > .disabled > a, .leaflet-control-layers .leaflet-control-layers-list > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
  color: #aaaaaa;
}
.dropdown-menu > .disabled > a:hover, .leaflet-control-layers .leaflet-control-layers-list > .disabled > a:hover, .dropdown-menu > .disabled > a:focus, .leaflet-control-layers .leaflet-control-layers-list > .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, .leaflet-control-layers .open > .leaflet-control-layers-list {
  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: 11px;
  line-height: 1.428571429;
  color: #777777;
  white-space: nowrap;
}

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

.pull-right > .dropdown-menu, .nav-pagination .pagination > .dropdown-menu, .leaflet-control-layers .pull-right > .leaflet-control-layers-list, .leaflet-control-layers .nav-pagination .pagination > .leaflet-control-layers-list, .nav-pagination .leaflet-control-layers .pagination > .leaflet-control-layers-list {
  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, .dropup .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .dropup .leaflet-control-layers-list,
.navbar-fixed-bottom .dropdown .dropdown-menu,
.navbar-fixed-bottom .dropdown .leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers .navbar-fixed-bottom .dropdown .leaflet-control-layers-list {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}

@media (min-width: 768px) {
  .navbar-right .dropdown-menu, .navbar-right .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .navbar-right .leaflet-control-layers-list {
    right: 0;
    left: auto;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}

.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}

.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar:before, .btn-toolbar:after {
  content: " ";
  display: table;
}
.btn-toolbar:after {
  clear: both;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}

.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}

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

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

.btn-group > .btn-group {
  float: left;
}

.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}

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

.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}

.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}

.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}

.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.btn .caret {
  margin-left: 0;
}

.btn-lg .caret, .btn-group-lg > .btn .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}

.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {
  border-width: 0 5px 5px;
}

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after {
  content: " ";
  display: table;
}
.btn-group-vertical > .btn-group:after {
  clear: both;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}

.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}

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

.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu, .btn-group-justified > .btn-group .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .btn-group-justified > .btn-group .leaflet-control-layers-list {
  left: auto;
}

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

.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*=col-] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control, .input-group div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .input-group input {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}

.input-group-addon,
.input-group-btn,
.input-group .form-control,
.input-group div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_filter .input-group input {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child),
.input-group div.dataTables_wrapper div.dataTables_filter input:not(:first-child):not(:last-child),
div.dataTables_wrapper div.dataTables_filter .input-group input:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}

.input-group-addon {
  padding: 6px 12px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #f9f9f9;
  border: 1px solid transparent;
  border-radius: 0;
}
.input-group-addon.input-sm,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn {
  padding: 5px 10px;
  font-size: 11px;
  border-radius: 2;
}
.input-group-addon.input-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
  padding: 10px 16px;
  font-size: 13px;
  border-radius: 0;
}
.input-group-addon input[type=radio],
.input-group-addon input[type=checkbox] {
  margin-top: 0;
}

.input-group .form-control:first-child, .input-group div.dataTables_wrapper div.dataTables_filter input:first-child, div.dataTables_wrapper div.dataTables_filter .input-group input:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.input-group-addon:first-child {
  border-right: 0;
}

.input-group .form-control:last-child, .input-group div.dataTables_wrapper div.dataTables_filter input:last-child, div.dataTables_wrapper div.dataTables_filter .input-group input:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.input-group-addon:last-child {
  border-left: 0;
}

.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}

.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 {
  text-decoration: none;
  background-color: #ffffff;
}
.nav > li.disabled > a {
  color: #aaaaaa;
}
.nav > li.disabled > a:hover {
  color: #aaaaaa;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a, .nav .open > a:hover {
  background-color: #ffffff;
  border-color: #1b99bd;
}
.nav .nav-divider {
  height: 1px;
  margin: 7.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}

.nav-tabs {
  border-bottom: 1px solid transparent;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.428571429;
  border: 1px solid transparent;
  border-radius: 0 0 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #ffffff #ffffff transparent;
}
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  color: #202020;
  background-color: #ffffff;
  border: 1px solid #ffffff;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 0;
}
.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: #ffffff;
  background-color: #1b99bd;
}

.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, .nav-justified > .dropdown .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .nav-justified > .dropdown .leaflet-control-layers-list {
  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: 0;
}
.nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #d9d9d9;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #d9d9d9;
    border-radius: 0 0 0 0;
  }
  .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
    border-bottom-color: #ffffff;
  }
}

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

.nav-tabs .dropdown-menu, .nav-tabs .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .nav-tabs .leaflet-control-layers-list {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.navbar {
  position: relative;
  min-height: 42px;
  margin-bottom: 0;
  border: 1px solid transparent;
}
.navbar:before, .navbar:after {
  content: " ";
  display: table;
}
.navbar:after {
  clear: both;
}
@media (min-width: 768px) {
  .navbar {
    border-radius: 0;
  }
}

.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, #header .main-navbar .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}

.navbar-fixed-top .navbar-collapse, #header .main-navbar .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse, #header .main-navbar .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, #header .main-navbar,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 768px) {
  .navbar-fixed-top, #header .main-navbar,
.navbar-fixed-bottom {
    border-radius: 0;
  }
}

.navbar-fixed-top, #header .main-navbar {
  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: 12.5px 15px;
  font-size: 13px;
  line-height: 17px;
  height: 42px;
}
.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: 0px;
  margin-bottom: 0px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 0;
}
.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: 6.25px -15px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 17px;
}
@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu, .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list {
    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 .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list > li > a,
.navbar-nav .open .dropdown-menu .dropdown-header,
.navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list .dropdown-header,
.leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list > li > a {
    line-height: 17px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:focus, .leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list > 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: 12.5px;
    padding-bottom: 12.5px;
  }
}

.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 5.5px;
  margin-bottom: 5.5px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control, .navbar-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .navbar-form input {
    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,
.navbar-form .input-group div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_filter .navbar-form .input-group input {
    width: auto;
  }
  .navbar-form .input-group > .form-control, .navbar-form div.dataTables_wrapper div.dataTables_filter .input-group > input, div.dataTables_wrapper div.dataTables_filter .navbar-form .input-group > input {
    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, .navbar-form .has-feedback .form-group.search:before,
.navbar-form .has-feedback .bs-searchbox:before {
    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;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}

.navbar-nav > li > .dropdown-menu, .leaflet-control-layers .navbar-nav > li > .leaflet-control-layers-list {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu, .navbar-fixed-bottom .leaflet-control-layers .navbar-nav > li > .leaflet-control-layers-list, .leaflet-control-layers .navbar-fixed-bottom .navbar-nav > li > .leaflet-control-layers-list {
  margin-bottom: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.navbar-btn {
  margin-top: 5.5px;
  margin-bottom: 5.5px;
}
.navbar-btn.btn-sm, .action-block .navbar-btn.btn, .btn-group-sm > .navbar-btn.btn {
  margin-top: 7px;
  margin-bottom: 7px;
}
.navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn {
  margin-top: 10px;
  margin-bottom: 10px;
}

.navbar-text {
  margin-top: 12.5px;
  margin-bottom: 12.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: #ffffff;
  border-color: #d9d9d9;
}
.navbar-default .navbar-brand {
  color: #202020;
}
.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
  color: #1b99bd;
  background-color: #ffffff;
}
.navbar-default .navbar-text {
  color: #202020;
}
.navbar-default .navbar-nav > li > a {
  color: #202020;
}
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
  color: #1b99bd;
  background-color: #f9f9f9;
}
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
  color: #1b99bd;
  background-color: #f9f9f9;
}
.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: #d9d9d9;
}
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
  background-color: #f9f9f9;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #1b99bd;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #d9d9d9;
}
.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
  background-color: #f9f9f9;
  color: #1b99bd;
}
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a, .navbar-default .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .navbar-default .navbar-nav .open .leaflet-control-layers-list > li > a {
    color: #202020;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers .navbar-default .navbar-nav .open .leaflet-control-layers-list > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-default .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:focus, .leaflet-control-layers .navbar-default .navbar-nav .open .leaflet-control-layers-list > li > a:focus {
    color: #1b99bd;
    background-color: #f9f9f9;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .active > a, .leaflet-control-layers .navbar-default .navbar-nav .open .leaflet-control-layers-list > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #1b99bd;
    background-color: #f9f9f9;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .disabled > a, .leaflet-control-layers .navbar-default .navbar-nav .open .leaflet-control-layers-list > .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: #202020;
}
.navbar-default .navbar-link:hover {
  color: #1b99bd;
}
.navbar-default .btn-link {
  color: #202020;
}
.navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
  color: #1b99bd;
}
.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: white;
}
.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: white;
}
.navbar-inverse .navbar-nav > li > a {
  color: white;
}
.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, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .dropdown-header, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > .dropdown-header {
    border-color: #090909;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list .divider, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list .divider {
    background-color: #090909;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > li > a {
    color: white;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:focus, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > li > a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .active > a, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > .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 .leaflet-control-layers .leaflet-control-layers-list > .disabled > a, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > .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: white;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: white;
}
.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: 17px 0;
  border-radius: 0;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.428571429;
  text-decoration: none;
  color: #202020;
  background-color: #ffffff;
  border: 1px solid transparent;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.pagination > li > a:hover, .pagination > li > a:focus,
.pagination > li > span:hover,
.pagination > li > span:focus {
  z-index: 3;
  color: #202020;
  background-color: #f9f9f9;
  border-color: transparent;
}
.pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,
.pagination > .active > span,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
  z-index: 2;
  color: #1b99bd;
  background-color: #f9f9f9;
  border-color: transparent;
  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: #aaaaaa;
  background-color: #ffffff;
  border-color: transparent;
  cursor: not-allowed;
}

.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 2;
  border-top-left-radius: 2;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 2;
  border-top-right-radius: 2;
}

.label {
  display: inline;
  padding: 0.2em 0.6em 0.3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25em;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}

a.label:hover, a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.label-default {
  background-color: #eeeeee;
}
.label-default[href]:hover, .label-default[href]:focus {
  background-color: #d5d5d5;
}

.label-primary {
  background-color: #1b99bd;
}
.label-primary[href]:hover, .label-primary[href]:focus {
  background-color: #157590;
}

.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover, .label-success[href]:focus {
  background-color: #449d44;
}

.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover, .label-info[href]:focus {
  background-color: #31b0d5;
}

.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover, .label-warning[href]:focus {
  background-color: #ec971f;
}

.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover, .label-danger[href]:focus {
  background-color: #c9302c;
}

.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #eeeeee;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge, .btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
.list-group-item.active > .badge, .list-group > li.active > .badge, .nav-pills > .active > a > .badge {
  color: #1b99bd;
  background-color: #fff;
}
.list-group-item > .badge, .list-group > li > .badge {
  float: right;
}
.list-group-item > .badge + .badge, .list-group > li > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}

a.badge:hover, a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.thumbnail {
  display: block;
  padding: 3px;
  margin-bottom: 17px;
  line-height: 1.428571429;
  background-color: #f9f9f9;
  border: 1px solid #d9d9d9;
  border-radius: 2;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
.thumbnail .caption {
  padding: 9px;
  color: #202020;
}

a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #1b99bd;
}

.alert, .help-block {
  padding: 15px;
  margin-bottom: 17px;
  border: 1px solid transparent;
  border-radius: 0;
}
.alert h4, .help-block h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link, .help-block .alert-link {
  font-weight: bold;
}
.alert > p, .help-block > p,
.alert > ul,
.help-block > ul {
  margin-bottom: 0;
}
.alert > p + p, .help-block > p + p {
  margin-top: 5px;
}

.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close, .alert-dismissable button.ui-dialog-titlebar-close,
.alert-dismissible .close,
.alert-dismissible button.ui-dialog-titlebar-close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}

.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}

.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}

.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}

.alert-danger, .help-block.error {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr, .help-block.error hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link, .help-block.error .alert-link {
  color: #843534;
}

@-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: 17px;
  margin-bottom: 17px;
  background-color: #f5f5f5;
  border-radius: 0;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 11px;
  line-height: 17px;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  text-shadow: -1px 0 #1b99bd, 0 1px #1b99bd, 1px 0 #1b99bd, 0 -1px #1b99bd;
  background-color: #1b99bd;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}

.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-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-image: -o-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-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;
  -o-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: -webkit-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-image: -o-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-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: -webkit-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-image: -o-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-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: -webkit-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-image: -o-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-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: -webkit-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-image: -o-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-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);
}

.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}

.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}

.media-body {
  width: 10000px;
}

.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}

.media-right,
.media > .pull-right,
.nav-pagination .media > .pagination {
  padding-left: 10px;
}

.media-left,
.media > .pull-left {
  padding-right: 10px;
}

.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}

.media-middle {
  vertical-align: middle;
}

.media-bottom {
  vertical-align: bottom;
}

.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}

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

.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}

.list-group-item, .list-group > li {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #ffffff;
  border: 1px solid #d9d9d9;
}
.list-group-item:first-child, .list-group > li:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.list-group-item:last-child, .list-group > li:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

a.list-group-item,
button.list-group-item {
  color: #555555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #202020;
}
a.list-group-item:hover, a.list-group-item:focus,
button.list-group-item:hover,
button.list-group-item:focus {
  text-decoration: none;
  color: #555555;
  background-color: #f9f9f9;
}

button.list-group-item {
  width: 100%;
  text-align: left;
}

.list-group-item.disabled, .list-group > li.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {
  background-color: #f9f9f9;
  color: #eeeeee;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading, .list-group > li.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text, .list-group > li.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {
  color: #eeeeee;
}
.list-group-item.active, .list-group > li.active, .list-group-item.active:hover, .list-group-item.active:focus {
  z-index: 2;
  color: #ffffff;
  background-color: #1b99bd;
  border-color: #1b99bd;
}
.list-group-item.active .list-group-item-heading, .list-group > li.active .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group > li.active .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group > li.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text, .list-group > li.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {
  color: #b0e5f4;
}

.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}

a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover, a.list-group-item-success:focus,
button.list-group-item-success:hover,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}
a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,
button.list-group-item-success.active,
button.list-group-item-success.active:hover,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}

.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}

a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover, a.list-group-item-info:focus,
button.list-group-item-info:hover,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus,
button.list-group-item-info.active,
button.list-group-item-info.active:hover,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}

.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}

a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover, a.list-group-item-warning:focus,
button.list-group-item-warning:hover,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}
a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus,
button.list-group-item-warning.active,
button.list-group-item-warning.active:hover,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}

.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}

a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover, a.list-group-item-danger:focus,
button.list-group-item-danger:hover,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}
a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus,
button.list-group-item-danger.active,
button.list-group-item-danger.active:hover,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}

.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}

.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}

.panel, .plan {
  margin-bottom: 17px;
  background-color: #ffffff;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.panel-body, .plan .plan-body, #widgets .widget-body {
  padding: 15px;
}
.panel-body:before, .plan .plan-body:before, #widgets .widget-body:before, .panel-body:after, .plan .plan-body:after, #widgets .widget-body:after {
  content: " ";
  display: table;
}
.panel-body:after, .plan .plan-body:after, #widgets .widget-body:after {
  clear: both;
}

.panel-heading, .plan .plan-heading, #widgets .widget-heading {
  padding: 9px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: -1;
  border-top-left-radius: -1;
}
.panel-heading > .dropdown .dropdown-toggle, .plan .plan-heading > .dropdown .dropdown-toggle, #widgets .widget-heading > .dropdown .dropdown-toggle {
  color: inherit;
}

.panel-title, .plan .plan-title, #widgets .widget-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 14px;
  color: inherit;
}
.panel-title > a, .plan .plan-title > a, #widgets .widget-title > a,
.panel-title > small,
.plan .plan-title > small,
#widgets .widget-title > small,
.panel-title > .small,
.plan .plan-title > .small,
#widgets .widget-title > .small,
.panel-title > small > a,
.plan .plan-title > small > a,
#widgets .widget-title > small > a,
.panel-title > .small > a,
.plan .plan-title > .small > a,
#widgets .widget-title > .small > a {
  color: inherit;
}

.panel-footer, .plan .plan-footer {
  padding: 9px 15px;
  background-color: #f9f9f9;
  border-top: 1px solid #d9d9d9;
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}

.panel > .list-group, .plan > .list-group,
.panel > .panel-collapse > .list-group,
.plan > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item, .plan > .list-group .list-group-item, .panel > .list-group > li, .plan > .list-group > li,
.panel > .panel-collapse > .list-group .list-group-item,
.panel > .panel-collapse > .list-group > li,
.plan > .panel-collapse > .list-group > li {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child, .plan > .list-group:first-child .list-group-item:first-child, .panel > .list-group:first-child .list-group > li:first-child, .plan > .list-group:first-child .list-group > li:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: -1;
  border-top-left-radius: -1;
}
.panel > .list-group:last-child .list-group-item:last-child, .plan > .list-group:last-child .list-group-item:last-child, .panel > .list-group:last-child .list-group > li:last-child, .plan > .list-group:last-child .list-group > li:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child, .plan .panel > .plan-heading + .panel-collapse > .list-group .list-group-item:first-child, .plan > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child, .plan > .plan-heading + .panel-collapse > .list-group .list-group-item:first-child, #widgets .panel > .widget-heading + .panel-collapse > .list-group .list-group-item:first-child, #widgets .plan > .widget-heading + .panel-collapse > .list-group .list-group-item:first-child, .panel > .panel-heading + .panel-collapse > .list-group > li:first-child, .plan .panel > .plan-heading + .panel-collapse > .list-group > li:first-child, .plan > .panel-heading + .panel-collapse > .list-group > li:first-child, .plan > .plan-heading + .panel-collapse > .list-group > li:first-child, #widgets .panel > .widget-heading + .panel-collapse > .list-group > li:first-child, #widgets .plan > .widget-heading + .panel-collapse > .list-group > li:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.panel-heading + .list-group .list-group-item:first-child, .plan .plan-heading + .list-group .list-group-item:first-child, #widgets .widget-heading + .list-group .list-group-item:first-child, .panel-heading + .list-group > li:first-child, .plan .plan-heading + .list-group > li:first-child, #widgets .widget-heading + .list-group > li:first-child {
  border-top-width: 0;
}

.list-group + .panel-footer, .plan .list-group + .plan-footer {
  border-top-width: 0;
}

.panel > .table, .plan > .table,
.panel > .table-responsive > .table,
.plan > .table-responsive > .table,
.panel > .panel-collapse > .table,
.plan > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption, .plan > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child, .plan > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child,
.plan > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: -1;
  border-top-left-radius: -1;
}
.panel > .table:first-child > thead:first-child > tr:first-child, .plan > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.plan > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: -1;
  border-top-right-radius: -1;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .plan > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.plan > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.plan > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.plan > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: -1;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .plan > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.plan > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.plan > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.plan > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: -1;
}
.panel > .table:last-child, .plan > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child,
.plan > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}
.panel > .table:last-child > tbody:last-child > tr:last-child, .plan > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.plan > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: -1;
  border-bottom-right-radius: -1;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .plan > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.plan > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.plan > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.plan > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: -1;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .plan > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.plan > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.plan > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.plan > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: -1;
}
.panel > .panel-body + .table, .plan .panel > .plan-body + .table, .plan > .panel-body + .table, .plan > .plan-body + .table, #widgets .panel > .widget-body + .table, #widgets .plan > .widget-body + .table,
.panel > .panel-body + .table-responsive,
.plan .panel > .plan-body + .table-responsive,
.plan > .panel-body + .table-responsive,
.plan > .plan-body + .table-responsive,
#widgets .panel > .widget-body + .table-responsive,
#widgets .plan > .widget-body + .table-responsive,
.panel > .table + .panel-body,
.plan .panel > .table + .plan-body,
.plan > .table + .panel-body,
.plan > .table + .plan-body,
#widgets .panel > .table + .widget-body,
#widgets .plan > .table + .widget-body,
.panel > .table-responsive + .panel-body,
.plan .panel > .table-responsive + .plan-body,
.plan > .table-responsive + .panel-body,
.plan > .table-responsive + .plan-body,
#widgets .panel > .table-responsive + .widget-body,
#widgets .plan > .table-responsive + .widget-body {
  border-top: 1px solid #d9d9d9;
}
.panel > .table > tbody:first-child > tr:first-child th, .plan > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td,
.plan > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered, .plan > .table-bordered,
.panel > .table-responsive > .table-bordered,
.plan > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child, .plan > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.plan > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.plan > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.plan > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.plan > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.plan > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child, .plan > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.plan > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.plan > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.plan > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.plan > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.plan > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td, .plan > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.plan > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > td,
.plan > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > th,
.plan > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td, .plan > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.plan > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > td,
.plan > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > th,
.plan > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive, .plan > .table-responsive {
  border: 0;
  margin-bottom: 0;
}

.panel-group {
  margin-bottom: 17px;
}
.panel-group .panel, .panel-group .plan {
  margin-bottom: 0;
  border-radius: 0;
}
.panel-group .panel + .panel, .panel-group .plan + .panel, .panel-group .panel + .plan, .panel-group .plan + .plan {
  margin-top: 5px;
}
.panel-group .panel-heading, .panel-group .plan .plan-heading, .plan .panel-group .plan-heading, .panel-group #widgets .widget-heading, #widgets .panel-group .widget-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .plan .panel-heading + .panel-collapse > .plan-body, .plan .panel-group .panel-heading + .panel-collapse > .plan-body, .panel-group .plan .plan-heading + .panel-collapse > .panel-body, .panel-group .plan .plan-heading + .panel-collapse > .plan-body, .plan .panel-group .plan-heading + .panel-collapse > .panel-body, .plan .panel-group .plan-heading + .panel-collapse > .plan-body, .panel-group #widgets .panel-heading + .panel-collapse > .widget-body, .panel-group #widgets .plan .plan-heading + .panel-collapse > .widget-body, .plan .panel-group #widgets .plan-heading + .panel-collapse > .widget-body, #widgets .panel-group .panel-heading + .panel-collapse > .widget-body, #widgets .panel-group .plan .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-group .plan-heading + .panel-collapse > .widget-body, .panel-group #widgets .widget-heading + .panel-collapse > .panel-body, .panel-group #widgets .plan .widget-heading + .panel-collapse > .plan-body, .plan .panel-group #widgets .widget-heading + .panel-collapse > .plan-body, .panel-group #widgets .widget-heading + .panel-collapse > .widget-body, #widgets .panel-group .widget-heading + .panel-collapse > .panel-body, #widgets .panel-group .plan .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-group .widget-heading + .panel-collapse > .plan-body, #widgets .panel-group .widget-heading + .panel-collapse > .widget-body,
.panel-group .panel-heading + .panel-collapse > .list-group,
.panel-group .plan .plan-heading + .panel-collapse > .list-group,
.plan .panel-group .plan-heading + .panel-collapse > .list-group,
.panel-group #widgets .widget-heading + .panel-collapse > .list-group,
#widgets .panel-group .widget-heading + .panel-collapse > .list-group {
  border-top: 1px solid #d9d9d9;
}
.panel-group .panel-footer, .panel-group .plan .plan-footer, .plan .panel-group .plan-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body, .panel-group .plan .plan-footer + .panel-collapse .panel-body, .plan .panel-group .plan-footer + .panel-collapse .panel-body, .panel-group .panel-footer + .panel-collapse .plan .plan-body, .panel-group .plan .plan-footer + .panel-collapse .plan .plan-body, .plan .panel-group .panel-footer + .panel-collapse .plan-body, .plan .panel-group .plan-footer + .panel-collapse .plan-body, .panel-group .panel-footer + .panel-collapse #widgets .widget-body, .panel-group .plan .plan-footer + .panel-collapse #widgets .widget-body, .plan .panel-group .plan-footer + .panel-collapse #widgets .widget-body, #widgets .panel-group .panel-footer + .panel-collapse .widget-body, #widgets .panel-group .plan .plan-footer + .panel-collapse .widget-body, .plan #widgets .panel-group .plan-footer + .panel-collapse .widget-body {
  border-bottom: 1px solid #d9d9d9;
}

.panel-default, .plan, #widgets .widget {
  border-color: #d9d9d9;
}
.panel-default > .panel-heading, .plan .panel-default > .plan-heading, .plan > .panel-heading, .plan > .plan-heading, #widgets .panel-default > .widget-heading, #widgets .plan > .widget-heading, #widgets .widget > .panel-heading, #widgets .plan .widget > .plan-heading, .plan #widgets .widget > .plan-heading, #widgets .widget > .widget-heading {
  color: #777777;
  background-color: #f9f9f9;
  border-color: #d9d9d9;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body, .plan .panel-default > .panel-heading + .panel-collapse > .plan-body, .plan .panel-default > .plan-heading + .panel-collapse > .panel-body, .plan .panel-default > .plan-heading + .panel-collapse > .plan-body, .plan > .panel-heading + .panel-collapse > .panel-body, .plan > .panel-heading + .panel-collapse > .plan-body, .plan > .plan-heading + .panel-collapse > .panel-body, .plan > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-default > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-default > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-default > .plan-heading + .panel-collapse > .widget-body, #widgets .plan > .panel-heading + .panel-collapse > .widget-body, #widgets .plan > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-default > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-default > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-default > .widget-heading + .panel-collapse > .plan-body, #widgets .plan > .widget-heading + .panel-collapse > .panel-body, #widgets .plan > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-default > .widget-heading + .panel-collapse > .widget-body, #widgets .plan > .widget-heading + .panel-collapse > .widget-body, #widgets .widget > .panel-heading + .panel-collapse > .panel-body, #widgets .plan .widget > .panel-heading + .panel-collapse > .plan-body, .plan #widgets .widget > .panel-heading + .panel-collapse > .plan-body, #widgets .plan .widget > .plan-heading + .panel-collapse > .panel-body, #widgets .plan .widget > .plan-heading + .panel-collapse > .plan-body, .plan #widgets .widget > .plan-heading + .panel-collapse > .panel-body, .plan #widgets .widget > .plan-heading + .panel-collapse > .plan-body, #widgets .widget > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .widget > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .widget > .plan-heading + .panel-collapse > .widget-body, #widgets .widget > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .widget > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .widget > .widget-heading + .panel-collapse > .plan-body, #widgets .widget > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: #d9d9d9;
}
.panel-default > .panel-heading .badge, .plan .panel-default > .plan-heading .badge, .plan > .panel-heading .badge, .plan > .plan-heading .badge, #widgets .panel-default > .widget-heading .badge, #widgets .plan > .widget-heading .badge, #widgets .widget > .panel-heading .badge, #widgets .plan .widget > .plan-heading .badge, .plan #widgets .widget > .plan-heading .badge, #widgets .widget > .widget-heading .badge {
  color: #f9f9f9;
  background-color: #777777;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body, .plan .panel-default > .plan-footer + .panel-collapse > .panel-body, .plan .panel-default > .panel-footer + .panel-collapse > .plan-body, .plan .panel-default > .plan-footer + .panel-collapse > .plan-body, .plan > .panel-footer + .panel-collapse > .panel-body, .plan > .plan-footer + .panel-collapse > .panel-body, .plan > .panel-footer + .panel-collapse > .plan-body, .plan > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-default > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-default > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-default > .plan-footer + .panel-collapse > .widget-body, #widgets .plan > .panel-footer + .panel-collapse > .widget-body, #widgets .plan > .plan-footer + .panel-collapse > .widget-body, #widgets .widget > .panel-footer + .panel-collapse > .panel-body, #widgets .plan .widget > .plan-footer + .panel-collapse > .panel-body, .plan #widgets .widget > .plan-footer + .panel-collapse > .panel-body, #widgets .plan .widget > .panel-footer + .panel-collapse > .plan-body, #widgets .plan .widget > .plan-footer + .panel-collapse > .plan-body, .plan #widgets .widget > .panel-footer + .panel-collapse > .plan-body, .plan #widgets .widget > .plan-footer + .panel-collapse > .plan-body, #widgets .widget > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .widget > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .widget > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: #d9d9d9;
}

.panel-primary {
  border-color: #1b99bd;
}
.panel-primary > .panel-heading, .plan .panel-primary > .plan-heading, #widgets .panel-primary > .widget-heading {
  color: #fff;
  background-color: #1b99bd;
  border-color: #1b99bd;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body, .plan .panel-primary > .panel-heading + .panel-collapse > .plan-body, .plan .panel-primary > .plan-heading + .panel-collapse > .panel-body, .plan .panel-primary > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-primary > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-primary > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-primary > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-primary > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-primary > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-primary > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-primary > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: #1b99bd;
}
.panel-primary > .panel-heading .badge, .plan .panel-primary > .plan-heading .badge, #widgets .panel-primary > .widget-heading .badge {
  color: #1b99bd;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body, .plan .panel-primary > .plan-footer + .panel-collapse > .panel-body, .plan .panel-primary > .panel-footer + .panel-collapse > .plan-body, .plan .panel-primary > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-primary > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-primary > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-primary > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: #1b99bd;
}

.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading, .plan .panel-success > .plan-heading, #widgets .panel-success > .widget-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body, .plan .panel-success > .panel-heading + .panel-collapse > .plan-body, .plan .panel-success > .plan-heading + .panel-collapse > .panel-body, .plan .panel-success > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-success > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-success > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-success > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-success > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-success > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-success > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-success > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge, .plan .panel-success > .plan-heading .badge, #widgets .panel-success > .widget-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body, .plan .panel-success > .plan-footer + .panel-collapse > .panel-body, .plan .panel-success > .panel-footer + .panel-collapse > .plan-body, .plan .panel-success > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-success > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-success > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-success > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: #d6e9c6;
}

.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading, .plan .panel-info > .plan-heading, #widgets .panel-info > .widget-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body, .plan .panel-info > .panel-heading + .panel-collapse > .plan-body, .plan .panel-info > .plan-heading + .panel-collapse > .panel-body, .plan .panel-info > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-info > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-info > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-info > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-info > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-info > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-info > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-info > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge, .plan .panel-info > .plan-heading .badge, #widgets .panel-info > .widget-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body, .plan .panel-info > .plan-footer + .panel-collapse > .panel-body, .plan .panel-info > .panel-footer + .panel-collapse > .plan-body, .plan .panel-info > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-info > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-info > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-info > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: #bce8f1;
}

.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading, .plan .panel-warning > .plan-heading, #widgets .panel-warning > .widget-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body, .plan .panel-warning > .panel-heading + .panel-collapse > .plan-body, .plan .panel-warning > .plan-heading + .panel-collapse > .panel-body, .plan .panel-warning > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-warning > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-warning > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-warning > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-warning > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-warning > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-warning > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-warning > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge, .plan .panel-warning > .plan-heading .badge, #widgets .panel-warning > .widget-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body, .plan .panel-warning > .plan-footer + .panel-collapse > .panel-body, .plan .panel-warning > .panel-footer + .panel-collapse > .plan-body, .plan .panel-warning > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-warning > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-warning > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-warning > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: #faebcc;
}

.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading, .plan .panel-danger > .plan-heading, #widgets .panel-danger > .widget-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body, .plan .panel-danger > .panel-heading + .panel-collapse > .plan-body, .plan .panel-danger > .plan-heading + .panel-collapse > .panel-body, .plan .panel-danger > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-danger > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-danger > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-danger > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-danger > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-danger > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-danger > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-danger > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge, .plan .panel-danger > .plan-heading .badge, #widgets .panel-danger > .widget-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body, .plan .panel-danger > .plan-footer + .panel-collapse > .panel-body, .plan .panel-danger > .panel-footer + .panel-collapse > .plan-body, .plan .panel-danger > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-danger > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-danger > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-danger > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: #ebccd1;
}

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}

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

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

.close, button.ui-dialog-titlebar-close {
  float: right;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover, button.ui-dialog-titlebar-close:hover, .close:focus, button.ui-dialog-titlebar-close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

button.close, button.ui-dialog-titlebar-close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}

.modal-open {
  overflow: hidden;
}

.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

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

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}

.modal-content {
  position: relative;
  background-color: #ffffff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.modal-header, .ui-dialog-titlebar.ui-widget-header {
  padding: 15px;
  border-bottom: 1px solid transparent;
  min-height: 16.428571429px;
}

.modal-header .close, .modal-header button.ui-dialog-titlebar-close, .ui-dialog-titlebar.ui-widget-header .close, .ui-dialog-titlebar.ui-widget-header button.ui-dialog-titlebar-close {
  margin-top: -2px;
}

.modal-title, .ui-dialog-title {
  margin: 0;
  line-height: 1.428571429;
}

.modal-body {
  position: relative;
  padding: 15px;
}

.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid transparent;
}
.modal-footer:before, .modal-footer:after {
  content: " ";
  display: table;
}
.modal-footer:after {
  clear: both;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}

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

@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }

  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }

  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Open Sans", sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.428571429;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 11px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0;
}

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}

.clearfix:before, .lang-list:before, .clearfix:after, .lang-list:after {
  content: " ";
  display: table;
}
.clearfix:after, .lang-list:after {
  clear: both;
}

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.pull-right, .nav-pagination .pagination {
  float: right !important;
}

.pull-left {
  float: left !important;
}

.hide {
  display: none !important;
}

.show {
  display: block !important;
}

.invisible {
  visibility: hidden;
}

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

.hidden {
  display: none !important;
}

.affix {
  position: fixed;
}

@-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, .banner {
    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;
  }
}
/*! jQuery UI - v1.12.1 - 2017-06-12
* http://jqueryui.com
* Includes: core.css, resizable.css, sortable.css, theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
* Copyright jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
  display: none;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none;
}

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse;
}

.ui-helper-clearfix:after {
  clear: both;
}

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  filter: Alpha(Opacity=0);
  /* support: IE8 */
}

.ui-front {
  z-index: 100;
}

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
  cursor: default !important;
  pointer-events: none;
}

/* Icons
----------------------------------*/
.ui-icon {
  display: inline-block;
  vertical-align: middle;
  margin-top: -0.25em;
  position: relative;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat;
}

.ui-widget-icon-block {
  left: 50%;
  margin-left: -8px;
  display: block;
}

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ui-resizable {
  position: relative;
}

.ui-resizable-handle {
  position: absolute;
  font-size: 0.1px;
  display: block;
  -ms-touch-action: none;
  touch-action: none;
}

.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
  display: none;
}

.ui-resizable-n {
  cursor: n-resize;
  height: 7px;
  width: 100%;
  top: -5px;
  left: 0;
}

.ui-resizable-s {
  cursor: s-resize;
  height: 7px;
  width: 100%;
  bottom: -5px;
  left: 0;
}

.ui-resizable-e {
  cursor: e-resize;
  width: 7px;
  right: -5px;
  top: 0;
  height: 100%;
}

.ui-resizable-w {
  cursor: w-resize;
  width: 7px;
  left: -5px;
  top: 0;
  height: 100%;
}

.ui-resizable-se {
  cursor: se-resize;
  width: 12px;
  height: 12px;
  right: 1px;
  bottom: 1px;
}

.ui-resizable-sw {
  cursor: sw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  bottom: -5px;
}

.ui-resizable-nw {
  cursor: nw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  top: -5px;
}

.ui-resizable-ne {
  cursor: ne-resize;
  width: 9px;
  height: 9px;
  right: -5px;
  top: -5px;
}

.ui-sortable-handle {
  -ms-touch-action: none;
  touch-action: none;
}

/* Component containers
----------------------------------*/
.ui-widget {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
}

.ui-widget .ui-widget {
  font-size: 1em;
}

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
}

.ui-widget.ui-widget-content {
  border: 1px solid #c5c5c5;
}

.ui-widget-content {
  border: 1px solid #dddddd;
  background: #ffffff;
  color: #333333;
}

.ui-widget-content a {
  color: #333333;
}

.ui-widget-header {
  border: 1px solid #dddddd;
  background: #e9e9e9;
  color: #333333;
  font-weight: bold;
}

.ui-widget-header a {
  color: #333333;
}

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
  border: 1px solid #c5c5c5;
  background: #f6f6f6;
  font-weight: normal;
  color: #454545;
}

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
  color: #454545;
  text-decoration: none;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
  border: 1px solid #cccccc;
  background: #ededed;
  font-weight: normal;
  color: #2b2b2b;
}

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
  color: #2b2b2b;
  text-decoration: none;
}

.ui-visual-focus {
  box-shadow: 0 0 3px 1px #5e9ed6;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
  border: 1px solid #003eff;
  background: #007fff;
  font-weight: normal;
  color: #ffffff;
}

.ui-icon-background,
.ui-state-active .ui-icon-background {
  border: #003eff;
  background-color: #ffffff;
}

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #ffffff;
  text-decoration: none;
}

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid #dad55e;
  background: #fffa90;
  color: #777620;
}

.ui-state-checked {
  border: 1px solid #dad55e;
  background: #fffa90;
}

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: #777620;
}

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
  border: 1px solid #f1a899;
  background: #fddfdf;
  color: #5f3f3f;
}

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
  color: #5f3f3f;
}

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
  color: #5f3f3f;
}

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
  font-weight: bold;
}

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
  opacity: 0.7;
  filter: Alpha(Opacity=70);
  /* support: IE8 */
  font-weight: normal;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: 0.35;
  filter: Alpha(Opacity=35);
  /* support: IE8 */
  background-image: none;
}

.ui-state-disabled .ui-icon {
  filter: Alpha(Opacity=35);
  /* support: IE8 - See #6059 */
}

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  width: 16px;
  height: 16px;
}

.ui-icon,
.ui-widget-content .ui-icon {
  background-image: url("images/ui-icons_444444_256x240.png");
}

.ui-widget-header .ui-icon {
  background-image: url("images/ui-icons_444444_256x240.png");
}

.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon,
.ui-button:hover .ui-icon,
.ui-button:focus .ui-icon {
  background-image: url("images/ui-icons_555555_256x240.png");
}

.ui-state-active .ui-icon,
.ui-button:active .ui-icon {
  background-image: url("images/ui-icons_ffffff_256x240.png");
}

.ui-state-highlight .ui-icon,
.ui-button .ui-state-highlight.ui-icon {
  background-image: url("images/ui-icons_777620_256x240.png");
}

.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
  background-image: url("images/ui-icons_cc0000_256x240.png");
}

.ui-button .ui-icon {
  background-image: url("images/ui-icons_777777_256x240.png");
}

/* positioning */
.ui-icon-blank {
  background-position: 16px 16px;
}

.ui-icon-caret-1-n {
  background-position: 0 0;
}

.ui-icon-caret-1-ne {
  background-position: -16px 0;
}

.ui-icon-caret-1-e {
  background-position: -32px 0;
}

.ui-icon-caret-1-se {
  background-position: -48px 0;
}

.ui-icon-caret-1-s {
  background-position: -65px 0;
}

.ui-icon-caret-1-sw {
  background-position: -80px 0;
}

.ui-icon-caret-1-w {
  background-position: -96px 0;
}

.ui-icon-caret-1-nw {
  background-position: -112px 0;
}

.ui-icon-caret-2-n-s {
  background-position: -128px 0;
}

.ui-icon-caret-2-e-w {
  background-position: -144px 0;
}

.ui-icon-triangle-1-n {
  background-position: 0 -16px;
}

.ui-icon-triangle-1-ne {
  background-position: -16px -16px;
}

.ui-icon-triangle-1-e {
  background-position: -32px -16px;
}

.ui-icon-triangle-1-se {
  background-position: -48px -16px;
}

.ui-icon-triangle-1-s {
  background-position: -65px -16px;
}

.ui-icon-triangle-1-sw {
  background-position: -80px -16px;
}

.ui-icon-triangle-1-w {
  background-position: -96px -16px;
}

.ui-icon-triangle-1-nw {
  background-position: -112px -16px;
}

.ui-icon-triangle-2-n-s {
  background-position: -128px -16px;
}

.ui-icon-triangle-2-e-w {
  background-position: -144px -16px;
}

.ui-icon-arrow-1-n {
  background-position: 0 -32px;
}

.ui-icon-arrow-1-ne {
  background-position: -16px -32px;
}

.ui-icon-arrow-1-e {
  background-position: -32px -32px;
}

.ui-icon-arrow-1-se {
  background-position: -48px -32px;
}

.ui-icon-arrow-1-s {
  background-position: -65px -32px;
}

.ui-icon-arrow-1-sw {
  background-position: -80px -32px;
}

.ui-icon-arrow-1-w {
  background-position: -96px -32px;
}

.ui-icon-arrow-1-nw {
  background-position: -112px -32px;
}

.ui-icon-arrow-2-n-s {
  background-position: -128px -32px;
}

.ui-icon-arrow-2-ne-sw {
  background-position: -144px -32px;
}

.ui-icon-arrow-2-e-w {
  background-position: -160px -32px;
}

.ui-icon-arrow-2-se-nw {
  background-position: -176px -32px;
}

.ui-icon-arrowstop-1-n {
  background-position: -192px -32px;
}

.ui-icon-arrowstop-1-e {
  background-position: -208px -32px;
}

.ui-icon-arrowstop-1-s {
  background-position: -224px -32px;
}

.ui-icon-arrowstop-1-w {
  background-position: -240px -32px;
}

.ui-icon-arrowthick-1-n {
  background-position: 1px -48px;
}

.ui-icon-arrowthick-1-ne {
  background-position: -16px -48px;
}

.ui-icon-arrowthick-1-e {
  background-position: -32px -48px;
}

.ui-icon-arrowthick-1-se {
  background-position: -48px -48px;
}

.ui-icon-arrowthick-1-s {
  background-position: -64px -48px;
}

.ui-icon-arrowthick-1-sw {
  background-position: -80px -48px;
}

.ui-icon-arrowthick-1-w {
  background-position: -96px -48px;
}

.ui-icon-arrowthick-1-nw {
  background-position: -112px -48px;
}

.ui-icon-arrowthick-2-n-s {
  background-position: -128px -48px;
}

.ui-icon-arrowthick-2-ne-sw {
  background-position: -144px -48px;
}

.ui-icon-arrowthick-2-e-w {
  background-position: -160px -48px;
}

.ui-icon-arrowthick-2-se-nw {
  background-position: -176px -48px;
}

.ui-icon-arrowthickstop-1-n {
  background-position: -192px -48px;
}

.ui-icon-arrowthickstop-1-e {
  background-position: -208px -48px;
}

.ui-icon-arrowthickstop-1-s {
  background-position: -224px -48px;
}

.ui-icon-arrowthickstop-1-w {
  background-position: -240px -48px;
}

.ui-icon-arrowreturnthick-1-w {
  background-position: 0 -64px;
}

.ui-icon-arrowreturnthick-1-n {
  background-position: -16px -64px;
}

.ui-icon-arrowreturnthick-1-e {
  background-position: -32px -64px;
}

.ui-icon-arrowreturnthick-1-s {
  background-position: -48px -64px;
}

.ui-icon-arrowreturn-1-w {
  background-position: -64px -64px;
}

.ui-icon-arrowreturn-1-n {
  background-position: -80px -64px;
}

.ui-icon-arrowreturn-1-e {
  background-position: -96px -64px;
}

.ui-icon-arrowreturn-1-s {
  background-position: -112px -64px;
}

.ui-icon-arrowrefresh-1-w {
  background-position: -128px -64px;
}

.ui-icon-arrowrefresh-1-n {
  background-position: -144px -64px;
}

.ui-icon-arrowrefresh-1-e {
  background-position: -160px -64px;
}

.ui-icon-arrowrefresh-1-s {
  background-position: -176px -64px;
}

.ui-icon-arrow-4 {
  background-position: 0 -80px;
}

.ui-icon-arrow-4-diag {
  background-position: -16px -80px;
}

.ui-icon-extlink {
  background-position: -32px -80px;
}

.ui-icon-newwin {
  background-position: -48px -80px;
}

.ui-icon-refresh {
  background-position: -64px -80px;
}

.ui-icon-shuffle {
  background-position: -80px -80px;
}

.ui-icon-transfer-e-w {
  background-position: -96px -80px;
}

.ui-icon-transferthick-e-w {
  background-position: -112px -80px;
}

.ui-icon-folder-collapsed {
  background-position: 0 -96px;
}

.ui-icon-folder-open {
  background-position: -16px -96px;
}

.ui-icon-document {
  background-position: -32px -96px;
}

.ui-icon-document-b {
  background-position: -48px -96px;
}

.ui-icon-note {
  background-position: -64px -96px;
}

.ui-icon-mail-closed {
  background-position: -80px -96px;
}

.ui-icon-mail-open {
  background-position: -96px -96px;
}

.ui-icon-suitcase {
  background-position: -112px -96px;
}

.ui-icon-comment {
  background-position: -128px -96px;
}

.ui-icon-person {
  background-position: -144px -96px;
}

.ui-icon-print {
  background-position: -160px -96px;
}

.ui-icon-trash {
  background-position: -176px -96px;
}

.ui-icon-locked {
  background-position: -192px -96px;
}

.ui-icon-unlocked {
  background-position: -208px -96px;
}

.ui-icon-bookmark {
  background-position: -224px -96px;
}

.ui-icon-tag {
  background-position: -240px -96px;
}

.ui-icon-home {
  background-position: 0 -112px;
}

.ui-icon-flag {
  background-position: -16px -112px;
}

.ui-icon-calendar {
  background-position: -32px -112px;
}

.ui-icon-cart {
  background-position: -48px -112px;
}

.ui-icon-pencil {
  background-position: -64px -112px;
}

.ui-icon-clock {
  background-position: -80px -112px;
}

.ui-icon-disk {
  background-position: -96px -112px;
}

.ui-icon-calculator {
  background-position: -112px -112px;
}

.ui-icon-zoomin {
  background-position: -128px -112px;
}

.ui-icon-zoomout {
  background-position: -144px -112px;
}

.ui-icon-search {
  background-position: -160px -112px;
}

.ui-icon-wrench {
  background-position: -176px -112px;
}

.ui-icon-gear {
  background-position: -192px -112px;
}

.ui-icon-heart {
  background-position: -208px -112px;
}

.ui-icon-star {
  background-position: -224px -112px;
}

.ui-icon-link {
  background-position: -240px -112px;
}

.ui-icon-cancel {
  background-position: 0 -128px;
}

.ui-icon-plus {
  background-position: -16px -128px;
}

.ui-icon-plusthick {
  background-position: -32px -128px;
}

.ui-icon-minus {
  background-position: -48px -128px;
}

.ui-icon-minusthick {
  background-position: -64px -128px;
}

.ui-icon-close {
  background-position: -80px -128px;
}

.ui-icon-closethick {
  background-position: -96px -128px;
}

.ui-icon-key {
  background-position: -112px -128px;
}

.ui-icon-lightbulb {
  background-position: -128px -128px;
}

.ui-icon-scissors {
  background-position: -144px -128px;
}

.ui-icon-clipboard {
  background-position: -160px -128px;
}

.ui-icon-copy {
  background-position: -176px -128px;
}

.ui-icon-contact {
  background-position: -192px -128px;
}

.ui-icon-image {
  background-position: -208px -128px;
}

.ui-icon-video {
  background-position: -224px -128px;
}

.ui-icon-script {
  background-position: -240px -128px;
}

.ui-icon-alert {
  background-position: 0 -144px;
}

.ui-icon-info {
  background-position: -16px -144px;
}

.ui-icon-notice {
  background-position: -32px -144px;
}

.ui-icon-help {
  background-position: -48px -144px;
}

.ui-icon-check {
  background-position: -64px -144px;
}

.ui-icon-bullet {
  background-position: -80px -144px;
}

.ui-icon-radio-on {
  background-position: -96px -144px;
}

.ui-icon-radio-off {
  background-position: -112px -144px;
}

.ui-icon-pin-w {
  background-position: -128px -144px;
}

.ui-icon-pin-s {
  background-position: -144px -144px;
}

.ui-icon-play {
  background-position: 0 -160px;
}

.ui-icon-pause {
  background-position: -16px -160px;
}

.ui-icon-seek-next {
  background-position: -32px -160px;
}

.ui-icon-seek-prev {
  background-position: -48px -160px;
}

.ui-icon-seek-end {
  background-position: -64px -160px;
}

.ui-icon-seek-start {
  background-position: -80px -160px;
}

/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first {
  background-position: -80px -160px;
}

.ui-icon-stop {
  background-position: -96px -160px;
}

.ui-icon-eject {
  background-position: -112px -160px;
}

.ui-icon-volume-off {
  background-position: -128px -160px;
}

.ui-icon-volume-on {
  background-position: -144px -160px;
}

.ui-icon-power {
  background-position: 0 -176px;
}

.ui-icon-signal-diag {
  background-position: -16px -176px;
}

.ui-icon-signal {
  background-position: -32px -176px;
}

.ui-icon-battery-0 {
  background-position: -48px -176px;
}

.ui-icon-battery-1 {
  background-position: -64px -176px;
}

.ui-icon-battery-2 {
  background-position: -80px -176px;
}

.ui-icon-battery-3 {
  background-position: -96px -176px;
}

.ui-icon-circle-plus {
  background-position: 0 -192px;
}

.ui-icon-circle-minus {
  background-position: -16px -192px;
}

.ui-icon-circle-close {
  background-position: -32px -192px;
}

.ui-icon-circle-triangle-e {
  background-position: -48px -192px;
}

.ui-icon-circle-triangle-s {
  background-position: -64px -192px;
}

.ui-icon-circle-triangle-w {
  background-position: -80px -192px;
}

.ui-icon-circle-triangle-n {
  background-position: -96px -192px;
}

.ui-icon-circle-arrow-e {
  background-position: -112px -192px;
}

.ui-icon-circle-arrow-s {
  background-position: -128px -192px;
}

.ui-icon-circle-arrow-w {
  background-position: -144px -192px;
}

.ui-icon-circle-arrow-n {
  background-position: -160px -192px;
}

.ui-icon-circle-zoomin {
  background-position: -176px -192px;
}

.ui-icon-circle-zoomout {
  background-position: -192px -192px;
}

.ui-icon-circle-check {
  background-position: -208px -192px;
}

.ui-icon-circlesmall-plus {
  background-position: 0 -208px;
}

.ui-icon-circlesmall-minus {
  background-position: -16px -208px;
}

.ui-icon-circlesmall-close {
  background-position: -32px -208px;
}

.ui-icon-squaresmall-plus {
  background-position: -48px -208px;
}

.ui-icon-squaresmall-minus {
  background-position: -64px -208px;
}

.ui-icon-squaresmall-close {
  background-position: -80px -208px;
}

.ui-icon-grip-dotted-vertical {
  background-position: 0 -224px;
}

.ui-icon-grip-dotted-horizontal {
  background-position: -16px -224px;
}

.ui-icon-grip-solid-vertical {
  background-position: -32px -224px;
}

.ui-icon-grip-solid-horizontal {
  background-position: -48px -224px;
}

.ui-icon-gripsmall-diagonal-se {
  background-position: -64px -224px;
}

.ui-icon-grip-diagonal-se {
  background-position: -80px -224px;
}

/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
  border-top-left-radius: 3px;
}

.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
  border-top-right-radius: 3px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
  border-bottom-left-radius: 3px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
  border-bottom-right-radius: 3px;
}

/* Overlays */
.ui-widget-overlay {
  background: #aaaaaa;
  opacity: 0.3;
  filter: Alpha(Opacity=30);
  /* support: IE8 */
}

.ui-widget-shadow {
  -webkit-box-shadow: 0px 0px 5px #666666;
  box-shadow: 0px 0px 5px #666666;
}

.animated, #widgets .widget-streetview .widget-body img, #widgets .widget-sensors .table, #widgets .widget-driver .table,
#widgets .widget-services .table,
#widgets .widget-device .table,
#widgets .widget-locking .table,
#widgets .widget-gprs-command .table,
#widgets .widget-recent-events .table, .tab-pane, #sidebar [data-device=speed] {
  animation-duration: 1s;
  animation-fill-mode: both;
}
.animated.infinite, #widgets .widget-streetview .widget-body img.infinite, #widgets .widget-sensors .infinite.table, #widgets .widget-driver .infinite.table,
#widgets .widget-services .infinite.table,
#widgets .widget-device .infinite.table,
#widgets .widget-locking .infinite.table,
#widgets .widget-gprs-command .infinite.table,
#widgets .widget-recent-events .infinite.table, .infinite.tab-pane, #sidebar .infinite[data-device=speed] {
  animation-iteration-count: infinite;
}
.animated.hinge, #widgets .widget-streetview .widget-body img.hinge, #widgets .widget-sensors .hinge.table, #widgets .widget-driver .hinge.table,
#widgets .widget-services .hinge.table,
#widgets .widget-device .hinge.table,
#widgets .widget-locking .hinge.table,
#widgets .widget-gprs-command .hinge.table,
#widgets .widget-recent-events .hinge.table, .hinge.tab-pane, #sidebar .hinge[data-device=speed] {
  animation-duration: 2s;
}
.animated.flipOutX, #widgets .widget-streetview .widget-body img.flipOutX, #widgets .widget-sensors .flipOutX.table, #widgets .widget-driver .flipOutX.table,
#widgets .widget-services .flipOutX.table,
#widgets .widget-device .flipOutX.table,
#widgets .widget-locking .flipOutX.table,
#widgets .widget-gprs-command .flipOutX.table,
#widgets .widget-recent-events .flipOutX.table, .flipOutX.tab-pane, #sidebar .flipOutX[data-device=speed] {
  animation-duration: 0.75s;
}
.animated.flipOutY, #widgets .widget-streetview .widget-body img.flipOutY, #widgets .widget-sensors .flipOutY.table, #widgets .widget-driver .flipOutY.table,
#widgets .widget-services .flipOutY.table,
#widgets .widget-device .flipOutY.table,
#widgets .widget-locking .flipOutY.table,
#widgets .widget-gprs-command .flipOutY.table,
#widgets .widget-recent-events .flipOutY.table, .flipOutY.tab-pane, #sidebar .flipOutY[data-device=speed] {
  animation-duration: 0.75s;
}
.animated.bounceIn, #widgets .widget-streetview .widget-body img.bounceIn, #widgets .widget-sensors .bounceIn.table, #widgets .widget-driver .bounceIn.table,
#widgets .widget-services .bounceIn.table,
#widgets .widget-device .bounceIn.table,
#widgets .widget-locking .bounceIn.table,
#widgets .widget-gprs-command .bounceIn.table,
#widgets .widget-recent-events .bounceIn.table, .bounceIn.tab-pane, #sidebar .bounceIn[data-device=speed] {
  animation-duration: 0.75s;
}
.animated.bounceOut, #widgets .widget-streetview .widget-body img.bounceOut, #widgets .widget-sensors .bounceOut.table, #widgets .widget-driver .bounceOut.table,
#widgets .widget-services .bounceOut.table,
#widgets .widget-device .bounceOut.table,
#widgets .widget-locking .bounceOut.table,
#widgets .widget-gprs-command .bounceOut.table,
#widgets .widget-recent-events .bounceOut.table, .bounceOut.tab-pane, #sidebar .bounceOut[data-device=speed] {
  animation-duration: 0.75s;
}
.animated.flip, #widgets .widget-streetview .widget-body img.flip, #widgets .widget-sensors .flip.table, #widgets .widget-driver .flip.table,
#widgets .widget-services .flip.table,
#widgets .widget-device .flip.table,
#widgets .widget-locking .flip.table,
#widgets .widget-gprs-command .flip.table,
#widgets .widget-recent-events .flip.table, .flip.tab-pane, #sidebar .flip[data-device=speed] {
  backface-visibility: visible;
  animation-name: flip;
}

@-webkit-keyframes bounce {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  20% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  53% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  80% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  20% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  53% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  80% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}

@-webkit-keyframes flash {
  from {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
  25% {
    opacity: 0;
  }
  75% {
    opacity: 0;
  }
}
@keyframes flash {
  from {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
  25% {
    opacity: 0;
  }
  75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}

@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand, #sidebar [data-device=speed] {
  animation-name: rubberBand;
}

@-webkit-keyframes shake {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  30% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  70% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  40% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shake {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  30% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  70% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  40% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  animation-name: shake;
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  0.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  1.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  2.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  3.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
}
@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  0.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  1.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  2.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  3.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
}
.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  50% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  70% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  50% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  70% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  animation-name: tada;
}

@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.wobble {
  animation-name: wobble;
}

@-webkit-keyframes jello {
  from {
    -webkit-transform: none;
    transform: none;
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
  0.1% {
    -webkit-transform: none;
    transform: none;
  }
  1.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  2.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  3.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  4.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  5.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  6.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  7.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from {
    -webkit-transform: none;
    transform: none;
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
  0.1% {
    -webkit-transform: none;
    transform: none;
  }
  1.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  2.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  3.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  4.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  5.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  6.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  7.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  animation-name: jello;
  transform-origin: center;
}

@-webkit-keyframes bounceIn {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  20% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceIn {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  20% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceIn {
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
}
@keyframes bounceInDown {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
}
@keyframes bounceInLeft {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInRight {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn, #widgets .widget-streetview .widget-body img, #widgets .widget-sensors .table, #widgets .widget-driver .table,
#widgets .widget-services .table,
#widgets .widget-device .table,
#widgets .widget-locking .table,
#widgets .widget-gprs-command .table,
#widgets .widget-recent-events .table, .tab-pane {
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    animation-timing-function: ease-in;
  }
}
@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInX {
  backface-visibility: visible !important;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInY {
  backface-visibility: visible !important;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-name: flipOutX;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  backface-visibility: visible !important;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  from {
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1;
  }
  to {
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1;
  }
  to {
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  animation-name: hinge;
}

@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.rollIn {
  animation-name: rollIn;
}

@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}
.zoomOutLeft {
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}
.zoomOutRight {
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}

/*!
 *  Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: "FontAwesome";
  src: url("../fonts/fontawesome-webfont.eot?v=4.4.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.4.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.4.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.4.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
}
.fa, .form-group.search:before,
.bs-searchbox:before, .caret, .dropup .caret, .navbar-fixed-bottom .dropdown .caret {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: inherit;
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.3333333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.2857142857em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.1428571429em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.1428571429em;
  width: 2.1428571429em;
  top: 0.1428571429em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.8571428571em;
}

.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eee;
  border-radius: 0.1em;
}

.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left, .fa-pull-left.form-group.search:before,
.fa-pull-left.bs-searchbox:before, .fa-pull-left.caret, .navbar-fixed-bottom .dropdown .fa-pull-left.caret {
  margin-right: 0.3em;
}
.fa.fa-pull-right, .fa-pull-right.form-group.search:before,
.fa-pull-right.bs-searchbox:before, .fa-pull-right.caret, .navbar-fixed-bottom .dropdown .fa-pull-right.caret {
  margin-left: 0.3em;
}

/* Deprecated as of 4.4.0 */
.pull-right, .nav-pagination .pagination {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left, .pull-left.form-group.search:before,
.pull-left.bs-searchbox:before, .pull-left.caret, .navbar-fixed-bottom .dropdown .pull-left.caret {
  margin-right: 0.3em;
}
.fa.pull-right, .nav-pagination .fa.pagination, .pull-right.form-group.search:before, .nav-pagination .form-group.search.pagination:before,
.pull-right.bs-searchbox:before,
.nav-pagination .bs-searchbox.pagination:before, .pull-right.caret, .nav-pagination .caret.pagination, .navbar-fixed-bottom .dropdown .pull-right.caret {
  margin-left: 0.3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #fff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "";
}

.fa-music:before {
  content: "";
}

.fa-search:before {
  content: "";
}

.fa-envelope-o:before {
  content: "";
}

.fa-heart:before {
  content: "";
}

.fa-star:before {
  content: "";
}

.fa-star-o:before {
  content: "";
}

.fa-user:before, .icon.driver:before {
  content: "";
}

.fa-film:before {
  content: "";
}

.fa-th-large:before {
  content: "";
}

.fa-th:before {
  content: "";
}

.fa-th-list:before {
  content: "";
}

.fa-check:before {
  content: "";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "";
}

.fa-search-plus:before {
  content: "";
}

.fa-search-minus:before {
  content: "";
}

.fa-power-off:before {
  content: "";
}

.fa-signal:before {
  content: "";
}

.fa-gear:before,
.fa-cog:before {
  content: "";
}

.fa-trash-o:before {
  content: "";
}

.fa-home:before {
  content: "";
}

.fa-file-o:before {
  content: "";
}

.fa-clock-o:before, .icon.time:before {
  content: "";
}

.fa-road:before, .icon.device-distance:before {
  content: "";
}

.fa-download:before {
  content: "";
}

.fa-arrow-circle-o-down:before {
  content: "";
}

.fa-arrow-circle-o-up:before {
  content: "";
}

.fa-inbox:before {
  content: "";
}

.fa-play-circle-o:before {
  content: "";
}

.fa-rotate-right:before,
.fa-repeat:before,
.icon.reset:before {
  content: "";
}

.fa-refresh:before, .icon.restart:before {
  content: "";
}

.fa-list-alt:before {
  content: "";
}

.fa-lock:before, .icon.lock:before {
  content: "";
}

.fa-flag:before {
  content: "";
}

.fa-headphones:before {
  content: "";
}

.fa-volume-off:before {
  content: "";
}

.fa-volume-down:before {
  content: "";
}

.fa-volume-up:before {
  content: "";
}

.fa-qrcode:before, .icon.qrcode:before {
  content: "";
}

.fa-barcode:before, .icon.vin:before {
  content: "";
}

.fa-tag:before {
  content: "";
}

.fa-tags:before {
  content: "";
}

.fa-book:before {
  content: "";
}

.fa-bookmark:before {
  content: "";
}

.fa-print:before {
  content: "";
}

.fa-camera:before {
  content: "";
}

.fa-font:before {
  content: "";
}

.fa-bold:before {
  content: "";
}

.fa-italic:before {
  content: "";
}

.fa-text-height:before {
  content: "";
}

.fa-text-width:before {
  content: "";
}

.fa-align-left:before {
  content: "";
}

.fa-align-center:before {
  content: "";
}

.fa-align-right:before {
  content: "";
}

.fa-align-justify:before {
  content: "";
}

.fa-list:before, .icon.external-link:before {
  content: "";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "";
}

.fa-indent:before {
  content: "";
}

.fa-video-camera:before {
  content: "";
}

.fa-photo:before, .icon.photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "";
}

.fa-pencil:before {
  content: "";
}

.fa-map-marker:before {
  content: "";
}

.fa-adjust:before {
  content: "";
}

.fa-tint:before {
  content: "";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "";
}

.fa-share-square-o:before {
  content: "";
}

.fa-check-square-o:before {
  content: "";
}

.fa-arrows:before {
  content: "";
}

.fa-step-backward:before {
  content: "";
}

.fa-fast-backward:before {
  content: "";
}

.fa-backward:before {
  content: "";
}

.fa-play:before, .icon.play:before {
  content: "";
}

.fa-pause:before, .icon.pause:before {
  content: "";
}

.fa-stop:before, .icon.stop:before {
  content: "";
}

.fa-forward:before {
  content: "";
}

.fa-fast-forward:before {
  content: "";
}

.fa-step-forward:before {
  content: "";
}

.fa-eject:before {
  content: "";
}

.fa-chevron-left:before {
  content: "";
}

.fa-chevron-right:before {
  content: "";
}

.fa-plus-circle:before {
  content: "";
}

.fa-minus-circle:before {
  content: "";
}

.fa-times-circle:before {
  content: "";
}

.fa-check-circle:before {
  content: "";
}

.fa-question-circle:before {
  content: "";
}

.fa-info-circle:before {
  content: "";
}

.fa-crosshairs:before {
  content: "";
}

.fa-times-circle-o:before {
  content: "";
}

.fa-check-circle-o:before {
  content: "";
}

.fa-ban:before {
  content: "";
}

.fa-arrow-left:before {
  content: "";
}

.fa-arrow-right:before {
  content: "";
}

.fa-arrow-up:before {
  content: "";
}

.fa-arrow-down:before {
  content: "";
}

.fa-mail-forward:before,
.fa-share:before,
.icon.forwards:before {
  content: "";
}

.fa-expand:before {
  content: "";
}

.fa-compress:before {
  content: "";
}

.fa-plus:before {
  content: "";
}

.fa-minus:before {
  content: "";
}

.fa-asterisk:before {
  content: "";
}

.fa-exclamation-circle:before {
  content: "";
}

.fa-gift:before {
  content: "";
}

.fa-leaf:before {
  content: "";
}

.fa-fire:before {
  content: "";
}

.fa-eye:before, .icon.eye:before {
  content: "";
}

.fa-eye-slash:before {
  content: "";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "";
}

.fa-plane:before {
  content: "";
}

.fa-calendar:before, .icon.calendar:before {
  content: "";
}

.fa-random:before {
  content: "";
}

.fa-comment:before {
  content: "";
}

.fa-magnet:before {
  content: "";
}

.fa-chevron-up:before {
  content: "";
}

.fa-chevron-down:before {
  content: "";
}

.fa-retweet:before {
  content: "";
}

.fa-shopping-cart:before {
  content: "";
}

.fa-folder:before {
  content: "";
}

.fa-folder-open:before {
  content: "";
}

.fa-arrows-v:before {
  content: "";
}

.fa-arrows-h:before {
  content: "";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "";
}

.fa-twitter-square:before {
  content: "";
}

.fa-facebook-square:before {
  content: "";
}

.fa-camera-retro:before {
  content: "";
}

.fa-key:before, .icon.logout:before {
  content: "";
}

.fa-gears:before,
.fa-cogs:before,
.icon.admin:before,
.icon.multi-edit:before {
  content: "";
}

.fa-comments:before {
  content: "";
}

.fa-thumbs-o-up:before {
  content: "";
}

.fa-thumbs-o-down:before {
  content: "";
}

.fa-star-half:before {
  content: "";
}

.fa-heart-o:before {
  content: "";
}

.fa-sign-out:before {
  content: "";
}

.fa-linkedin-square:before {
  content: "";
}

.fa-thumb-tack:before {
  content: "";
}

.fa-external-link:before {
  content: "";
}

.fa-sign-in:before {
  content: "";
}

.fa-trophy:before {
  content: "";
}

.fa-github-square:before {
  content: "";
}

.fa-upload:before {
  content: "";
}

.fa-lemon-o:before {
  content: "";
}

.fa-phone:before, .icon.call_action:before {
  content: "";
}

.fa-square-o:before {
  content: "";
}

.fa-bookmark-o:before {
  content: "";
}

.fa-phone-square:before {
  content: "";
}

.fa-twitter:before {
  content: "";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "";
}

.fa-github:before {
  content: "";
}

.fa-unlock:before, .icon.unlock:before {
  content: "";
}

.fa-credit-card:before, .icon.rfid:before {
  content: "";
}

.fa-feed:before,
.fa-rss:before {
  content: "";
}

.fa-hdd-o:before {
  content: "";
}

.fa-bullhorn:before {
  content: "";
}

.fa-bell:before {
  content: "";
}

.fa-certificate:before {
  content: "";
}

.fa-hand-o-right:before {
  content: "";
}

.fa-hand-o-left:before {
  content: "";
}

.fa-hand-o-up:before {
  content: "";
}

.fa-hand-o-down:before {
  content: "";
}

.fa-arrow-circle-left:before {
  content: "";
}

.fa-arrow-circle-right:before {
  content: "";
}

.fa-arrow-circle-up:before {
  content: "";
}

.fa-arrow-circle-down:before {
  content: "";
}

.fa-globe:before, .icon.globe:before {
  content: "";
}

.fa-wrench:before {
  content: "";
}

.fa-tasks:before, .icon.checklist:before {
  content: "";
}

.fa-filter:before, .icon.filter:before {
  content: "";
}

.fa-briefcase:before, .icon.route_type:before {
  content: "";
}

.fa-arrows-alt:before, .icon.map-expand:before {
  content: "";
}

.fa-group:before,
.fa-users:before {
  content: "";
}

.fa-chain:before,
.fa-link:before {
  content: "";
}

.fa-cloud:before {
  content: "";
}

.fa-flask:before {
  content: "";
}

.fa-cut:before,
.fa-scissors:before {
  content: "";
}

.fa-copy:before,
.fa-files-o:before {
  content: "";
}

.fa-paperclip:before {
  content: "";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "";
}

.fa-square:before {
  content: "";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "";
}

.fa-list-ul:before {
  content: "";
}

.fa-list-ol:before {
  content: "";
}

.fa-strikethrough:before {
  content: "";
}

.fa-underline:before {
  content: "";
}

.fa-table:before, .icon.lookup:before {
  content: "";
}

.fa-magic:before {
  content: "";
}

.fa-truck:before {
  content: "";
}

.fa-pinterest:before {
  content: "";
}

.fa-pinterest-square:before {
  content: "";
}

.fa-google-plus-square:before {
  content: "";
}

.fa-google-plus:before {
  content: "";
}

.fa-money:before, .icon.money:before {
  content: "";
}

.fa-caret-down:before {
  content: "";
}

.fa-caret-up:before {
  content: "";
}

.fa-caret-left:before {
  content: "";
}

.fa-caret-right:before {
  content: "";
}

.fa-columns:before {
  content: "";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "";
}

.fa-envelope:before, .icon.email:before {
  content: "";
}

.fa-linkedin:before {
  content: "";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "";
}

.fa-legal:before,
.fa-gavel:before {
  content: "";
}

.fa-dashboard:before, .icon.dashboard:before,
.fa-tachometer:before {
  content: "";
}

.fa-comment-o:before {
  content: "";
}

.fa-comments-o:before, .icon.chat:before {
  content: "";
}

.fa-flash:before,
.fa-bolt:before {
  content: "";
}

.fa-sitemap:before {
  content: "";
}

.fa-umbrella:before {
  content: "";
}

.fa-paste:before,
.fa-clipboard:before,
.icon.pre-checklist:before {
  content: "";
}

.fa-lightbulb-o:before {
  content: "";
}

.fa-exchange:before {
  content: "";
}

.fa-cloud-download:before {
  content: "";
}

.fa-cloud-upload:before {
  content: "";
}

.fa-user-md:before {
  content: "";
}

.fa-stethoscope:before {
  content: "";
}

.fa-suitcase:before {
  content: "";
}

.fa-bell-o:before {
  content: "";
}

.fa-coffee:before {
  content: "";
}

.fa-cutlery:before {
  content: "";
}

.fa-file-text-o:before {
  content: "";
}

.fa-building-o:before {
  content: "";
}

.fa-hospital-o:before {
  content: "";
}

.fa-ambulance:before {
  content: "";
}

.fa-medkit:before {
  content: "";
}

.fa-fighter-jet:before {
  content: "";
}

.fa-beer:before {
  content: "";
}

.fa-h-square:before {
  content: "";
}

.fa-plus-square:before {
  content: "";
}

.fa-angle-double-left:before {
  content: "";
}

.fa-angle-double-right:before {
  content: "";
}

.fa-angle-double-up:before {
  content: "";
}

.fa-angle-double-down:before {
  content: "";
}

.fa-angle-left:before {
  content: "";
}

.fa-angle-right:before {
  content: "";
}

.fa-angle-up:before {
  content: "";
}

.fa-angle-down:before, .caret:before, .dropup .caret:before, .navbar-fixed-bottom .dropdown .caret:before {
  content: "";
}

.fa-desktop:before {
  content: "";
}

.fa-laptop:before {
  content: "";
}

.fa-tablet:before {
  content: "";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "";
}

.fa-circle-o:before {
  content: "";
}

.fa-quote-left:before {
  content: "";
}

.fa-quote-right:before {
  content: "";
}

.fa-spinner:before {
  content: "";
}

.fa-circle:before {
  content: "";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "";
}

.fa-github-alt:before {
  content: "";
}

.fa-folder-o:before {
  content: "";
}

.fa-folder-open-o:before {
  content: "";
}

.fa-smile-o:before {
  content: "";
}

.fa-frown-o:before {
  content: "";
}

.fa-meh-o:before {
  content: "";
}

.fa-gamepad:before {
  content: "";
}

.fa-keyboard-o:before {
  content: "";
}

.fa-flag-o:before {
  content: "";
}

.fa-flag-checkered:before {
  content: "";
}

.fa-terminal:before {
  content: "";
}

.fa-code:before {
  content: "";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "";
}

.fa-location-arrow:before {
  content: "";
}

.fa-crop:before {
  content: "";
}

.fa-code-fork:before {
  content: "";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "";
}

.fa-question:before {
  content: "";
}

.fa-info:before {
  content: "";
}

.fa-exclamation:before {
  content: "";
}

.fa-superscript:before {
  content: "";
}

.fa-subscript:before {
  content: "";
}

.fa-eraser:before {
  content: "";
}

.fa-puzzle-piece:before {
  content: "";
}

.fa-microphone:before {
  content: "";
}

.fa-microphone-slash:before {
  content: "";
}

.fa-shield:before {
  content: "";
}

.fa-calendar-o:before {
  content: "";
}

.fa-fire-extinguisher:before {
  content: "";
}

.fa-rocket:before {
  content: "";
}

.fa-maxcdn:before {
  content: "";
}

.fa-chevron-circle-left:before {
  content: "";
}

.fa-chevron-circle-right:before {
  content: "";
}

.fa-chevron-circle-up:before {
  content: "";
}

.fa-chevron-circle-down:before {
  content: "";
}

.fa-html5:before {
  content: "";
}

.fa-css3:before {
  content: "";
}

.fa-anchor:before {
  content: "";
}

.fa-unlock-alt:before {
  content: "";
}

.fa-bullseye:before {
  content: "";
}

.fa-ellipsis-h:before {
  content: "";
}

.fa-ellipsis-v:before {
  content: "";
}

.fa-rss-square:before {
  content: "";
}

.fa-play-circle:before {
  content: "";
}

.fa-ticket:before {
  content: "";
}

.fa-minus-square:before {
  content: "";
}

.fa-minus-square-o:before {
  content: "";
}

.fa-level-up:before {
  content: "";
}

.fa-level-down:before {
  content: "";
}

.fa-check-square:before {
  content: "";
}

.fa-pencil-square:before {
  content: "";
}

.fa-external-link-square:before {
  content: "";
}

.fa-share-square:before {
  content: "";
}

.fa-compass:before {
  content: "";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "";
}

.fa-euro:before,
.fa-eur:before {
  content: "";
}

.fa-gbp:before {
  content: "";
}

.fa-dollar:before,
.fa-usd:before {
  content: "";
}

.fa-rupee:before,
.fa-inr:before {
  content: "";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "";
}

.fa-won:before,
.fa-krw:before {
  content: "";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "";
}

.fa-file:before {
  content: "";
}

.fa-file-text:before {
  content: "";
}

.fa-sort-alpha-asc:before {
  content: "";
}

.fa-sort-alpha-desc:before {
  content: "";
}

.fa-sort-amount-asc:before {
  content: "";
}

.fa-sort-amount-desc:before {
  content: "";
}

.fa-sort-numeric-asc:before {
  content: "";
}

.fa-sort-numeric-desc:before {
  content: "";
}

.fa-thumbs-up:before {
  content: "";
}

.fa-thumbs-down:before {
  content: "";
}

.fa-youtube-square:before {
  content: "";
}

.fa-youtube:before {
  content: "";
}

.fa-xing:before {
  content: "";
}

.fa-xing-square:before {
  content: "";
}

.fa-youtube-play:before {
  content: "";
}

.fa-dropbox:before {
  content: "";
}

.fa-stack-overflow:before {
  content: "";
}

.fa-instagram:before {
  content: "";
}

.fa-flickr:before {
  content: "";
}

.fa-adn:before {
  content: "";
}

.fa-bitbucket:before {
  content: "";
}

.fa-bitbucket-square:before {
  content: "";
}

.fa-tumblr:before {
  content: "";
}

.fa-tumblr-square:before {
  content: "";
}

.fa-long-arrow-down:before {
  content: "";
}

.fa-long-arrow-up:before {
  content: "";
}

.fa-long-arrow-left:before {
  content: "";
}

.fa-long-arrow-right:before {
  content: "";
}

.fa-apple:before {
  content: "";
}

.fa-windows:before {
  content: "";
}

.fa-android:before {
  content: "";
}

.fa-linux:before {
  content: "";
}

.fa-dribbble:before {
  content: "";
}

.fa-skype:before {
  content: "";
}

.fa-foursquare:before {
  content: "";
}

.fa-trello:before {
  content: "";
}

.fa-female:before {
  content: "";
}

.fa-male:before {
  content: "";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "";
}

.fa-sun-o:before {
  content: "";
}

.fa-moon-o:before {
  content: "";
}

.fa-archive:before {
  content: "";
}

.fa-bug:before {
  content: "";
}

.fa-vk:before {
  content: "";
}

.fa-weibo:before {
  content: "";
}

.fa-renren:before {
  content: "";
}

.fa-pagelines:before {
  content: "";
}

.fa-stack-exchange:before {
  content: "";
}

.fa-arrow-circle-o-right:before {
  content: "";
}

.fa-arrow-circle-o-left:before {
  content: "";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "";
}

.fa-dot-circle-o:before {
  content: "";
}

.fa-wheelchair:before {
  content: "";
}

.fa-vimeo-square:before {
  content: "";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "";
}

.fa-plus-square-o:before {
  content: "";
}

.fa-space-shuttle:before {
  content: "";
}

.fa-slack:before {
  content: "";
}

.fa-envelope-square:before {
  content: "";
}

.fa-wordpress:before {
  content: "";
}

.fa-openid:before {
  content: "";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "";
}

.fa-yahoo:before {
  content: "";
}

.fa-google:before {
  content: "";
}

.fa-reddit:before {
  content: "";
}

.fa-reddit-square:before {
  content: "";
}

.fa-stumbleupon-circle:before {
  content: "";
}

.fa-stumbleupon:before {
  content: "";
}

.fa-delicious:before {
  content: "";
}

.fa-digg:before {
  content: "";
}

.fa-pied-piper:before {
  content: "";
}

.fa-pied-piper-alt:before {
  content: "";
}

.fa-drupal:before {
  content: "";
}

.fa-joomla:before {
  content: "";
}

.fa-language:before {
  content: "";
}

.fa-fax:before {
  content: "";
}

.fa-building:before {
  content: "";
}

.fa-child:before {
  content: "";
}

.fa-paw:before {
  content: "";
}

.fa-spoon:before {
  content: "";
}

.fa-cube:before {
  content: "";
}

.fa-cubes:before {
  content: "";
}

.fa-behance:before {
  content: "";
}

.fa-behance-square:before {
  content: "";
}

.fa-steam:before {
  content: "";
}

.fa-steam-square:before {
  content: "";
}

.fa-recycle:before {
  content: "";
}

.fa-automobile:before,
.fa-car:before {
  content: "";
}

.fa-cab:before,
.fa-taxi:before {
  content: "";
}

.fa-tree:before {
  content: "";
}

.fa-spotify:before {
  content: "";
}

.fa-deviantart:before {
  content: "";
}

.fa-soundcloud:before {
  content: "";
}

.fa-database:before {
  content: "";
}

.fa-file-pdf-o:before {
  content: "";
}

.fa-file-word-o:before {
  content: "";
}

.fa-file-excel-o:before {
  content: "";
}

.fa-file-powerpoint-o:before {
  content: "";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "";
}

.fa-file-code-o:before {
  content: "";
}

.fa-vine:before {
  content: "";
}

.fa-codepen:before {
  content: "";
}

.fa-jsfiddle:before {
  content: "";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "";
}

.fa-circle-o-notch:before {
  content: "";
}

.fa-ra:before,
.fa-rebel:before {
  content: "";
}

.fa-ge:before,
.fa-empire:before {
  content: "";
}

.fa-git-square:before {
  content: "";
}

.fa-git:before {
  content: "";
}

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "";
}

.fa-tencent-weibo:before {
  content: "";
}

.fa-qq:before {
  content: "";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "";
}

.fa-send-o:before, .icon.send:before,
.fa-paper-plane-o:before {
  content: "";
}

.fa-history:before {
  content: "";
}

.fa-circle-thin:before {
  content: "";
}

.fa-header:before {
  content: "";
}

.fa-paragraph:before {
  content: "";
}

.fa-sliders:before {
  content: "";
}

.fa-share-alt:before, .icon.sharing:before {
  content: "";
}

.fa-share-alt-square:before {
  content: "";
}

.fa-bomb:before {
  content: "";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "";
}

.fa-tty:before {
  content: "";
}

.fa-binoculars:before {
  content: "";
}

.fa-plug:before {
  content: "";
}

.fa-slideshare:before {
  content: "";
}

.fa-twitch:before {
  content: "";
}

.fa-yelp:before {
  content: "";
}

.fa-newspaper-o:before {
  content: "";
}

.fa-wifi:before {
  content: "";
}

.fa-calculator:before {
  content: "";
}

.fa-paypal:before {
  content: "";
}

.fa-google-wallet:before {
  content: "";
}

.fa-cc-visa:before {
  content: "";
}

.fa-cc-mastercard:before {
  content: "";
}

.fa-cc-discover:before {
  content: "";
}

.fa-cc-amex:before {
  content: "";
}

.fa-cc-paypal:before {
  content: "";
}

.fa-cc-stripe:before {
  content: "";
}

.fa-bell-slash:before {
  content: "";
}

.fa-bell-slash-o:before {
  content: "";
}

.fa-trash:before, .icon.trash:before {
  content: "";
}

.fa-copyright:before {
  content: "";
}

.fa-at:before {
  content: "";
}

.fa-eyedropper:before {
  content: "";
}

.fa-paint-brush:before {
  content: "";
}

.fa-birthday-cake:before {
  content: "";
}

.fa-area-chart:before {
  content: "";
}

.fa-pie-chart:before {
  content: "";
}

.fa-line-chart:before {
  content: "";
}

.fa-lastfm:before {
  content: "";
}

.fa-lastfm-square:before {
  content: "";
}

.fa-toggle-off:before {
  content: "";
}

.fa-toggle-on:before {
  content: "";
}

.fa-bicycle:before {
  content: "";
}

.fa-bus:before {
  content: "";
}

.fa-ioxhost:before {
  content: "";
}

.fa-angellist:before {
  content: "";
}

.fa-cc:before {
  content: "";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "";
}

.fa-meanpath:before {
  content: "";
}

.fa-buysellads:before {
  content: "";
}

.fa-connectdevelop:before {
  content: "";
}

.fa-dashcube:before {
  content: "";
}

.fa-forumbee:before {
  content: "";
}

.fa-leanpub:before {
  content: "";
}

.fa-sellsy:before {
  content: "";
}

.fa-shirtsinbulk:before {
  content: "";
}

.fa-simplybuilt:before {
  content: "";
}

.fa-skyatlas:before {
  content: "";
}

.fa-cart-plus:before {
  content: "";
}

.fa-cart-arrow-down:before {
  content: "";
}

.fa-diamond:before {
  content: "";
}

.fa-ship:before {
  content: "";
}

.fa-user-secret:before {
  content: "";
}

.fa-motorcycle:before {
  content: "";
}

.fa-street-view:before {
  content: "";
}

.fa-heartbeat:before {
  content: "";
}

.fa-venus:before {
  content: "";
}

.fa-mars:before {
  content: "";
}

.fa-mercury:before {
  content: "";
}

.fa-intersex:before,
.fa-transgender:before {
  content: "";
}

.fa-transgender-alt:before {
  content: "";
}

.fa-venus-double:before {
  content: "";
}

.fa-mars-double:before {
  content: "";
}

.fa-venus-mars:before {
  content: "";
}

.fa-mars-stroke:before {
  content: "";
}

.fa-mars-stroke-v:before {
  content: "";
}

.fa-mars-stroke-h:before {
  content: "";
}

.fa-neuter:before {
  content: "";
}

.fa-genderless:before {
  content: "";
}

.fa-facebook-official:before {
  content: "";
}

.fa-pinterest-p:before {
  content: "";
}

.fa-whatsapp:before {
  content: "";
}

.fa-server:before {
  content: "";
}

.fa-user-plus:before {
  content: "";
}

.fa-user-times:before {
  content: "";
}

.fa-hotel:before,
.fa-bed:before {
  content: "";
}

.fa-viacoin:before {
  content: "";
}

.fa-train:before {
  content: "";
}

.fa-subway:before {
  content: "";
}

.fa-medium:before {
  content: "";
}

.fa-yc:before,
.fa-y-combinator:before {
  content: "";
}

.fa-optin-monster:before {
  content: "";
}

.fa-opencart:before {
  content: "";
}

.fa-expeditedssl:before {
  content: "";
}

.fa-battery-4:before,
.fa-battery-full:before {
  content: "";
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "";
}

.fa-battery-2:before,
.fa-battery-half:before {
  content: "";
}

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "";
}

.fa-battery-0:before,
.fa-battery-empty:before {
  content: "";
}

.fa-mouse-pointer:before {
  content: "";
}

.fa-i-cursor:before {
  content: "";
}

.fa-object-group:before, .icon.custom-field:before {
  content: "";
}

.fa-object-ungroup:before {
  content: "";
}

.fa-sticky-note:before {
  content: "";
}

.fa-sticky-note-o:before {
  content: "";
}

.fa-cc-jcb:before {
  content: "";
}

.fa-cc-diners-club:before {
  content: "";
}

.fa-clone:before {
  content: "";
}

.fa-balance-scale:before {
  content: "";
}

.fa-hourglass-o:before {
  content: "";
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "";
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "";
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "";
}

.fa-hourglass:before {
  content: "";
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "";
}

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "";
}

.fa-hand-scissors-o:before {
  content: "";
}

.fa-hand-lizard-o:before {
  content: "";
}

.fa-hand-spock-o:before {
  content: "";
}

.fa-hand-pointer-o:before {
  content: "";
}

.fa-hand-peace-o:before {
  content: "";
}

.fa-trademark:before {
  content: "";
}

.fa-registered:before {
  content: "";
}

.fa-creative-commons:before {
  content: "";
}

.fa-gg:before {
  content: "";
}

.fa-gg-circle:before {
  content: "";
}

.fa-tripadvisor:before {
  content: "";
}

.fa-odnoklassniki:before {
  content: "";
}

.fa-odnoklassniki-square:before {
  content: "";
}

.fa-get-pocket:before {
  content: "";
}

.fa-wikipedia-w:before {
  content: "";
}

.fa-safari:before {
  content: "";
}

.fa-chrome:before {
  content: "";
}

.fa-firefox:before {
  content: "";
}

.fa-opera:before {
  content: "";
}

.fa-internet-explorer:before {
  content: "";
}

.fa-tv:before,
.fa-television:before {
  content: "";
}

.fa-contao:before {
  content: "";
}

.fa-500px:before {
  content: "";
}

.fa-amazon:before {
  content: "";
}

.fa-calendar-plus-o:before {
  content: "";
}

.fa-calendar-minus-o:before {
  content: "";
}

.fa-calendar-times-o:before {
  content: "";
}

.fa-calendar-check-o:before {
  content: "";
}

.fa-industry:before {
  content: "";
}

.fa-map-pin:before {
  content: "";
}

.fa-map-signs:before {
  content: "";
}

.fa-map-o:before, .icon.map-change:before {
  content: "";
}

.fa-map:before {
  content: "";
}

.fa-commenting:before {
  content: "";
}

.fa-commenting-o:before {
  content: "";
}

.fa-houzz:before {
  content: "";
}

.fa-vimeo:before {
  content: "";
}

.fa-black-tie:before {
  content: "";
}

.fa-fonticons:before {
  content: "";
}

@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon.eot?1ro3tw");
  src: url("../fonts/icomoon.eot?1ro3tw#iefix") format("embedded-opentype"), url("../fonts/icomoon.woff2?1ro3tw") format("woff2"), url("../fonts/icomoon.ttf?1ro3tw") format("truetype"), url("../fonts/icomoon.woff?1ro3tw") format("woff"), url("../fonts/icomoon.svg?1ro3tw#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
.ico, .group-heading > .group-title:after, .table.table-list .sorting:before, .table.table-list .sorting:after,
.table.table-list .sorting_desc:before,
.table.table-list .sorting_desc:after,
.table.table-list .sorting_asc:before,
.table.table-list .sorting_asc:after, .btn-collapse i, .icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: inherit;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ico-show-names:before {
  content: "";
}

.ico-object-arrow-border:before {
  content: "";
}

.ico-object-arrow:before {
  content: "";
}

.ico-arrow-left:before, .btn-collapse.collapse-left i:before, .sidebar .btn-collapse i:before, .btn-collapse.collapsed.collapse-right i:before, #widgets.collapsed .btn-collapse.collapse-right i:before, .sidebar.collapsed #widgets.btn-collapse .btn-collapse.collapse-right i:before, .sidebar.collapsed .btn-collapse.collapse-right i:before {
  content: "";
}

.ico-arrow-right:before, .btn-collapse.collapse-right i:before, .btn-collapse.collapsed.collapse-left i:before, #widgets.collapsed .btn-collapse.collapse-left i:before, .sidebar .btn-collapse.collapsed i:before, .sidebar #widgets.collapsed .btn-collapse i:before, #widgets.collapsed .sidebar .btn-collapse i:before, .sidebar.collapsed #widgets.btn-collapse .btn-collapse i:before, .sidebar.collapsed .btn-collapse i:before, .icon.send-command:before {
  content: "";
}

.ico-arrow-up:before, .btn-collapse.collapse-bottom i:before, .btn-collapse.collapsed.collapse-top i:before, #widgets .btn-collapse.collapsed i:before, #widgets.collapsed .btn-collapse i:before, .sidebar.collapsed .btn-collapse.collapse-top i:before, .sidebar.collapsed #widgets .btn-collapse i:before, #widgets .sidebar.collapsed .btn-collapse i:before {
  content: "";
}

.ico-arrow-down:before, .btn-collapse.collapse-top i:before, #widgets .btn-collapse i:before, .btn-collapse.collapsed.collapse-bottom i:before, #widgets.collapsed .btn-collapse.collapse-bottom i:before, .sidebar.collapsed .btn-collapse.collapse-bottom i:before {
  content: "";
}

.ico-arrow-up-down:before, .icon.unit-altitude:before {
  content: "";
}

.ico-arrow-left-right:before, .icon.unit-distance:before {
  content: "";
}

.ico-arrow-arr-right-btn:before {
  content: "";
}

.ico-plus:before, .icon.add:before, .icon.plus:before {
  content: "";
}

.ico-minus:before, .icon.zoomOut:before, .icon.minus:before {
  content: "";
}

.ico-zoom:before, .icon.zoomIn:before {
  content: "";
}

.ico-check:before, .icon.complete:before, .icon.task:before, .icon.check:before {
  content: "";
}

.ico-x:before, .icon.incomplete:before, .icon.history-clean:before, .icon.remove:before, .icon.delete:before, .icon.remove-all:before {
  content: "";
}

.ico-download:before, .icon.download:before, .icon.history-export:before {
  content: "";
}

.ico-upload:before, .icon.upload:before, .icon.task-import:before, .icon.import:before {
  content: "";
}

.ico-gear:before, .icon.edit:before {
  content: "";
}

.ico-search:before, .icon.search:before {
  content: "";
}

.ico-watch:before {
  content: "";
}

.ico-warning:before {
  content: "";
}

.ico-location:before, .icon.map:before {
  content: "";
}

.ico-camera:before, .icon.streetview:before, .icon.camera:before {
  content: "";
}

.ico-street:before, .icon.route-import:before, .icon.routes:before {
  content: "";
}

.ico-reports:before, .icon.reports:before {
  content: "";
}

.ico-filter:before {
  content: "";
}

.ico-graph:before {
  content: "";
}

.ico-follow:before, .icon.follow:before {
  content: "";
}

.ico-traffic:before, .icon.traffic:before {
  content: "";
}

.ico-save:before {
  content: "";
}

.ico-tool:before, .icon.services:before, .icon.tools:before {
  content: "";
}

.ico-ruler:before {
  content: "";
}

.ico-ruler-o:before, .icon.ruler:before {
  content: "";
}

.ico-gear-o:before, .icon.settings:before, .icon.setting:before, .icon.setup:before {
  content: "";
}

.ico-sensor:before, .icon.sensors:before {
  content: "";
}

.ico-signal:before, .icon.satellites:before {
  content: "";
}

.ico-house:before, .icon.address:before {
  content: "";
}

.ico-point:before, .icon.point:before {
  content: "";
}

.ico-logs:before, .icon.logs:before {
  content: "";
}

.ico-options-h:before {
  content: "";
}

.ico-options-v:before, .icon.options:before {
  content: "";
}

.ico-stylize-1:before, .icon.stylize-1:before {
  content: "";
}

.ico-stylize-2:before {
  content: "";
}

.ico-details:before, .icon.list:before, .icon.content:before {
  content: "";
}

.ico-account:before, .icon.account:before {
  content: "";
}

.ico-user:before, .icon.user:before, .icon.users:before, .icon.membership:before {
  content: "";
}

.ico-user-add:before, .icon.user-add:before {
  content: "";
}

.ico-user-settings:before, .icon.user-edit:before, .icon.password:before {
  content: "";
}

.ico-object-o:before, .icon.devices:before {
  content: "";
}

.ico-object:before, .icon.device:before {
  content: "";
}

.ico-object-add:before, .icon.device-add:before {
  content: "";
}

.ico-object-import:before, .icon.device-import:before {
  content: "";
}

.ico-show-names2:before, .icon.show-name:before {
  content: "";
}

.ico-show-trail:before, .icon.show-tail:before {
  content: "";
}

.ico-fitbounds:before, .icon.fitBounds:before {
  content: "";
}

.ico-grouping:before, .icon.group-devices:before {
  content: "";
}

.ico-poi:before, .icon.poi:before, .icon.pois:before {
  content: "";
}

.ico-poi-import:before, .icon.poi-import:before {
  content: "";
}

.ico-add-event:before, .icon.event-add:before {
  content: "";
}

.ico-event:before, .icon.event:before, .icon.events:before, .icon.alerts:before, .icon.alert:before, .icon.help-block:before {
  content: "";
}

.ico-event-add:before {
  content: "";
}

.ico-geofence:before, .icon.geofence:before, .icon.geofences:before {
  content: "";
}

.ico-geofence-import:before, .icon.geofence-import:before {
  content: "";
}

.ico-parking:before, .icon.parking:before {
  content: "";
}

.ico-time-today:before, .icon.today:before {
  content: "";
}

.ico-time-hour:before, .icon.last-hour:before {
  content: "";
}

.ico-time-yesterday:before, .icon.yesterday:before {
  content: "";
}

.ico-gsm-0:before {
  content: "";
}

.ico-gsm-1:before {
  content: "";
}

.ico-gsm-2:before {
  content: "";
}

.ico-gsm-3:before {
  content: "";
}

.ico-gsm-4:before {
  content: "";
}

.ico-gsm-5:before {
  content: "";
}

.ico-battery-0:before {
  content: "";
}

.ico-battery-1:before {
  content: "";
}

.ico-battery-2:before {
  content: "";
}

.ico-battery-3:before {
  content: "";
}

.ico-battery-4:before {
  content: "";
}

.ico-battery-5:before {
  content: "";
}

.ico-engine:before, .icon.detect_engine:before, .icon.engine:before {
  content: "";
}

.ico-ignition:before, .icon.acc:before, .icon.ignition:before {
  content: "";
}

.ico-fuel:before, .icon.fuel_tank_consumption:before, .icon.fuel_consumption:before, .icon.fuel_tank_calibration:before, .icon.fuel_tank:before, .icon.fuel:before, .icon.unit-capacity:before {
  content: "";
}

.ico-odometer:before, .icon.numerical:before, .icon.counter:before, .icon.odometer:before {
  content: "";
}

.ico-battery:before {
  content: "";
}

.ico-rpm:before, .icon.tachometer:before {
  content: "";
}

.ico-speed:before, .icon.speed_ecm:before, .icon.speed:before {
  content: "";
}

.ico-tachometer:before {
  content: "";
}

.ico-temp:before, .icon.temperature:before, .icon.temperature_calibration:before {
  content: "";
}

.ico-doors:before, .icon.door:before, .icon.doors:before {
  content: "";
}

.ico-cpu:before {
  content: "";
}

.ico-db:before {
  content: "";
}

.ico-ram:before {
  content: "";
}

.ico-connected:before {
  content: "";
}

.ico-disconnected:before {
  content: "";
}

.ico-sos:before {
  content: "";
}

.ico-zonein:before {
  content: "";
}

.ico-zoneout:before {
  content: "";
}

.ico-logical:before, .icon.logical:before, .icon.plugged:before {
  content: "";
}

.ico-engine-hours:before, .icon.engine_hours:before {
  content: "";
}

.ico-seatbelt:before, .icon.seatbelt:before {
  content: "";
}

.ico-textual:before, .icon.textual:before {
  content: "";
}

.ico-load:before, .icon.load:before, .icon.load_calibration:before {
  content: "";
}

.checkbox {
  line-height: 1;
  position: relative;
  padding-left: 0;
}
.checkbox label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 0;
  margin-bottom: 0;
  font-weight: normal;
}
.checkbox label::before {
  content: "";
  position: relative;
  z-index: 1;
  left: 0;
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
  color: transparent;
  background-color: #ffffff;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  font-weight: normal;
  line-height: 1;
  border-radius: 2;
  -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}
.checkbox label::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  content: "�";
  color: transparent;
  border: 1px solid #d9d9d9;
  border-radius: 2;
}
.checkbox input[type=checkbox],
.checkbox input[type=radio] {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.checkbox input[type=checkbox]:focus + label::before,
.checkbox input[type=radio]:focus + label::before {
  outline: 0;
}
.checkbox input[type=checkbox]:checked + label::before,
.checkbox input[type=radio]:checked + label::before {
  font-family: "icomoon";
  content: "";
}
.checkbox input[type=checkbox]:checked:disabled + label::before,
.checkbox input[type=radio]:checked:disabled + label::before {
  background-color: inherit;
}
.checkbox input[type=checkbox]:disabled + label,
.checkbox input[type=radio]:disabled + label {
  opacity: 0.45;
}
.checkbox input[type=checkbox]:disabled + label::before,
.checkbox input[type=radio]:disabled + label::before {
  background-color: #eeeeee;
  cursor: not-allowed;
}
.checkbox.checkbox-inline, .group .checkbox, .table .checkbox {
  margin-top: 0;
}

.checkbox-inline, .group .checkbox, .table .checkbox {
  line-height: 1;
  position: relative;
  padding-left: 0;
}
.checkbox-inline label, .group .checkbox label, .table .checkbox label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 0;
  margin-bottom: 0;
  font-weight: normal;
}
.checkbox-inline label::before, .group .checkbox label::before, .table .checkbox label::before {
  content: "";
  position: relative;
  z-index: 1;
  left: 0;
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
  color: transparent;
  background-color: #ffffff;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  font-weight: normal;
  line-height: 1;
  border-radius: 2;
  -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}
.checkbox-inline label::after, .group .checkbox label::after, .table .checkbox label::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  content: "�";
  color: transparent;
  border: 1px solid #d9d9d9;
  border-radius: 2;
}
.checkbox-inline input[type=checkbox], .group .checkbox input[type=checkbox], .table .checkbox input[type=checkbox],
.checkbox-inline input[type=radio],
.group .checkbox input[type=radio],
.table .checkbox input[type=radio] {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.checkbox-inline input[type=checkbox]:focus + label::before, .group .checkbox input[type=checkbox]:focus + label::before, .table .checkbox input[type=checkbox]:focus + label::before,
.checkbox-inline input[type=radio]:focus + label::before,
.group .checkbox input[type=radio]:focus + label::before,
.table .checkbox input[type=radio]:focus + label::before {
  outline: 0;
}
.checkbox-inline input[type=checkbox]:checked + label::before, .group .checkbox input[type=checkbox]:checked + label::before, .table .checkbox input[type=checkbox]:checked + label::before,
.checkbox-inline input[type=radio]:checked + label::before,
.group .checkbox input[type=radio]:checked + label::before,
.table .checkbox input[type=radio]:checked + label::before {
  font-family: "icomoon";
  content: "";
}
.checkbox-inline input[type=checkbox]:checked:disabled + label::before, .group .checkbox input[type=checkbox]:checked:disabled + label::before, .table .checkbox input[type=checkbox]:checked:disabled + label::before,
.checkbox-inline input[type=radio]:checked:disabled + label::before,
.group .checkbox input[type=radio]:checked:disabled + label::before,
.table .checkbox input[type=radio]:checked:disabled + label::before {
  background-color: inherit;
}
.checkbox-inline input[type=checkbox]:disabled + label, .group .checkbox input[type=checkbox]:disabled + label, .table .checkbox input[type=checkbox]:disabled + label,
.checkbox-inline input[type=radio]:disabled + label,
.group .checkbox input[type=radio]:disabled + label,
.table .checkbox input[type=radio]:disabled + label {
  opacity: 0.45;
}
.checkbox-inline input[type=checkbox]:disabled + label::before, .group .checkbox input[type=checkbox]:disabled + label::before, .table .checkbox input[type=checkbox]:disabled + label::before,
.checkbox-inline input[type=radio]:disabled + label::before,
.group .checkbox input[type=radio]:disabled + label::before,
.table .checkbox input[type=radio]:disabled + label::before {
  background-color: #eeeeee;
  cursor: not-allowed;
}
.checkbox-inline.checkbox-inline, .group .checkbox, .table .checkbox {
  margin-top: 0;
}

.checkbox-inline input[type=checkbox]:checked + label::before, .group .checkbox input[type=checkbox]:checked + label::before, .table .checkbox input[type=checkbox]:checked + label::before,
.checkbox-inline input[type=radio]:checked + label::before,
.group .checkbox input[type=radio]:checked + label::before,
.table .checkbox input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #1b99bd;
}
.checkbox-inline input[type=checkbox]:checked + label::after, .group .checkbox input[type=checkbox]:checked + label::after, .table .checkbox input[type=checkbox]:checked + label::after,
.checkbox-inline input[type=radio]:checked + label::after,
.group .checkbox input[type=radio]:checked + label::after,
.table .checkbox input[type=radio]:checked + label::after {
  background-color: #1b99bd;
  border-color: #1b99bd;
}

.checkbox input[type=checkbox]:checked + label::before,
.checkbox input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #1b99bd;
}
.checkbox input[type=checkbox]:checked + label::after,
.checkbox input[type=radio]:checked + label::after {
  background-color: #1b99bd;
  border-color: #1b99bd;
}

.checkbox-primary input[type=checkbox]:checked + label::before,
.checkbox-primary input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #1b99bd;
}
.checkbox-primary input[type=checkbox]:checked + label::after,
.checkbox-primary input[type=radio]:checked + label::after {
  background-color: #1b99bd;
  border-color: #1b99bd;
}

.checkbox-danger input[type=checkbox]:checked + label::before,
.checkbox-danger input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #d9534f;
}
.checkbox-danger input[type=checkbox]:checked + label::after,
.checkbox-danger input[type=radio]:checked + label::after {
  background-color: #d9534f;
  border-color: #d9534f;
}

.checkbox-info input[type=checkbox]:checked + label::before,
.checkbox-info input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #5bc0de;
}
.checkbox-info input[type=checkbox]:checked + label::after,
.checkbox-info input[type=radio]:checked + label::after {
  background-color: #5bc0de;
  border-color: #5bc0de;
}

.checkbox-warning input[type=checkbox]:checked + label::before,
.checkbox-warning input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #f0ad4e;
}
.checkbox-warning input[type=checkbox]:checked + label::after,
.checkbox-warning input[type=radio]:checked + label::after {
  background-color: #f0ad4e;
  border-color: #f0ad4e;
}

.checkbox-success input[type=checkbox]:checked + label::before,
.checkbox-success input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #5cb85c;
}
.checkbox-success input[type=checkbox]:checked + label::after,
.checkbox-success input[type=radio]:checked + label::after {
  background-color: #5cb85c;
  border-color: #5cb85c;
}

.checkbox.checkbox-lg label::before,
.checkbox-inline.checkbox-lg label::before {
  width: 26px;
  height: 26px;
  font-size: 20px;
  font-weight: normal;
}
.checkbox.checkbox-lg label::after,
.checkbox-inline.checkbox-lg label::after {
  width: 28px;
  height: 28px;
}

.radio,
.radio-inline {
  line-height: 1;
  position: relative;
  padding-left: 0;
}
.radio label,
.radio-inline label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 0px;
}
.radio label::before,
.radio-inline label::before {
  content: " ";
  position: relative;
  z-index: 1;
  left: 0;
  width: 12px;
  height: 12px;
  display: inline-block;
  vertical-align: middle;
  color: transparent;
  background-color: #ffffff;
  border-radius: 50%;
  margin: 3px;
  margin-right: 5px;
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
}
.radio label::after,
.radio-inline label::after {
  display: inline-block;
  position: absolute;
  content: " ";
  width: 18px;
  height: 18px;
  left: 0;
  top: 0;
  border-radius: 50%;
  border: 1px solid #d9d9d9;
  background-color: #ffffff;
  -webkit-transition: border 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out;
  transition: border 0.15s ease-in-out;
}
.radio input[type=radio],
.radio-inline input[type=radio] {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.radio input[type=radio]:focus + label::before,
.radio-inline input[type=radio]:focus + label::before {
  outline: 0;
}
.radio input[type=radio]:disabled + label,
.radio-inline input[type=radio]:disabled + label {
  opacity: 0.65;
}
.radio input[type=radio]:disabled + label::before,
.radio-inline input[type=radio]:disabled + label::before {
  cursor: not-allowed;
}
.radio.radio-inline,
.radio-inline.radio-inline {
  margin-top: 0;
}

.radio-inline input[type=radio]:checked + label::before {
  background-color: #1b99bd;
}
.radio-inline input[type=radio]:checked + label::after {
  border-color: #1b99bd;
}

.radio input[type=radio]:checked + label::before {
  background-color: #1b99bd;
}
.radio input[type=radio]:checked + label::after {
  border-color: #1b99bd;
}

.radio-primary input[type=radio]:checked + label::before {
  background-color: #1b99bd;
}
.radio-primary input[type=radio]:checked + label::after {
  border-color: #1b99bd;
}

.radio-danger input[type=radio]:checked + label::before {
  background-color: #d9534f;
}
.radio-danger input[type=radio]:checked + label::after {
  border-color: #d9534f;
}

.radio-info input[type=radio]:checked + label::before {
  background-color: #5bc0de;
}
.radio-info input[type=radio]:checked + label::after {
  border-color: #5bc0de;
}

.radio-warning input[type=radio]:checked + label::before {
  background-color: #f0ad4e;
}
.radio-warning input[type=radio]:checked + label::after {
  border-color: #f0ad4e;
}

.radio-success input[type=radio]:checked + label::before {
  background-color: #5cb85c;
}
.radio-success input[type=radio]:checked + label::after {
  border-color: #5cb85c;
}

/*!
 * Datepicker for Bootstrap
 *
 * Copyright 2012 Stefan Petre
 * Improvements by Ashley Novak
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 */
.datepicker {
  border-radius: 0;
  /*.dow {
    border-top: 1px solid #ddd !important;
  }*/
}
.datepicker.datepicker-inline {
  width: 220px;
}
.datepicker.datepicker-dropdown {
  position: absolute;
  left: auto;
  z-index: 9999;
}
.datepicker.datepicker-dropdown:before {
  content: "";
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #d9d9d9;
  border-top: 0;
  border-bottom-color: #d9d9d9;
  position: absolute;
}
.datepicker.datepicker-dropdown:after {
  content: "";
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  border-top: 0;
  position: absolute;
}
.datepicker.datepicker-dropdown.datepicker-orient-left:before {
  left: 6px;
}
.datepicker.datepicker-dropdown.datepicker-orient-left:after {
  left: 7px;
}
.datepicker.datepicker-dropdown.datepicker-orient-right:before {
  right: 6px;
}
.datepicker.datepicker-dropdown.datepicker-orient-right:after {
  right: 7px;
}
.datepicker.datepicker-dropdown.datepicker-orient-bottom:before {
  top: -7px;
}
.datepicker.datepicker-dropdown.datepicker-orient-bottom:after {
  top: -6px;
}
.datepicker.datepicker-dropdown.datepicker-orient-top:before {
  bottom: -7px;
  border-bottom: 0;
  border-top: 7px solid #d9d9d9;
}
.datepicker.datepicker-dropdown.datepicker-orient-top:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid #ffffff;
}
.datepicker.days div.datepicker-days {
  display: block;
}
.datepicker.months div.datepicker-months {
  display: block;
}
.datepicker.years div.datepicker-years {
  display: block;
}
.datepicker table {
  margin: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.datepicker table tr td, .datepicker table tr th {
  text-align: center;
  width: 30px;
  height: 30px;
  border-radius: 0;
  border: none;
}
.table-striped .datepicker table tr td, .table-striped .datepicker table tr th {
  background-color: transparent;
}
.datepicker table tr td.day:hover, .datepicker table tr td.day.focused {
  background: #f9f9f9;
  cursor: pointer;
}
.datepicker table tr td.old, .datepicker table tr td.new {
  color: #eeeeee;
}
.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover {
  background: none;
  color: #eeeeee;
  cursor: default;
}
.datepicker table tr td.today, .datepicker table tr td.today:hover, .datepicker table tr td.today.disabled, .datepicker table tr td.today.disabled:hover {
  color: #777777;
  background-color: #5bc0de;
  border-color: #2390b0;
}
.datepicker table tr td.today:focus, .datepicker table tr td.today:active, .datepicker table tr td.today.active, .datepicker table tr td.today:hover:focus, .datepicker table tr td.today:hover:active, .datepicker table tr td.today:hover.active, .datepicker table tr td.today.disabled:focus, .datepicker table tr td.today.disabled:active, .datepicker table tr td.today.disabled.active, .datepicker table tr td.today.disabled:hover:focus, .datepicker table tr td.today.disabled:hover:active, .datepicker table tr td.today.disabled:hover.active {
  color: #777777;
  background-color: #5bc0de;
  border-color: #19667d;
}
.datepicker table tr td.today:hover, .datepicker table tr td.today:hover:hover, .datepicker table tr td.today.disabled:hover, .datepicker table tr td.today.disabled:hover:hover {
  color: #777777;
  background-color: #39b3d7;
  border-color: #19667d;
}
.datepicker table tr td.today:hover:hover {
  color: #000;
}
.datepicker table tr td.today.active:hover {
  color: #fff;
}
.datepicker table tr td.range, .datepicker table tr td.range:hover, .datepicker table tr td.range.disabled, .datepicker table tr td.range.disabled:hover {
  background: #f9f9f9;
  border-radius: 0;
}
.datepicker table tr td.range.today, .datepicker table tr td.range.today:hover, .datepicker table tr td.range.today.disabled, .datepicker table tr td.range.today.disabled:hover {
  color: #000;
  background-color: #5bc0de;
  border-color: #2390b0;
  border-radius: 0;
}
.datepicker table tr td.range.today:focus, .datepicker table tr td.range.today:active, .datepicker table tr td.range.today.active, .datepicker table tr td.range.today:hover:focus, .datepicker table tr td.range.today:hover:active, .datepicker table tr td.range.today:hover.active, .datepicker table tr td.range.today.disabled:focus, .datepicker table tr td.range.today.disabled:active, .datepicker table tr td.range.today.disabled.active, .datepicker table tr td.range.today.disabled:hover:focus, .datepicker table tr td.range.today.disabled:hover:active, .datepicker table tr td.range.today.disabled:hover.active {
  color: #000;
  background-color: #5bc0de;
  border-color: #19667d;
}
.datepicker table tr td.range.today:hover, .datepicker table tr td.range.today:hover:hover, .datepicker table tr td.range.today.disabled:hover, .datepicker table tr td.range.today.disabled:hover:hover {
  color: #000;
  background-color: #39b3d7;
  border-color: #19667d;
}
.datepicker table tr td.selected, .datepicker table tr td.selected:hover, .datepicker table tr td.selected.disabled, .datepicker table tr td.selected.disabled:hover {
  color: #fff;
  background-color: #eeeeee;
  border-color: #dddddd;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:focus, .datepicker table tr td.selected:active, .datepicker table tr td.selected.active, .datepicker table tr td.selected:hover:focus, .datepicker table tr td.selected:hover:active, .datepicker table tr td.selected:hover.active, .datepicker table tr td.selected.disabled:focus, .datepicker table tr td.selected.disabled:active, .datepicker table tr td.selected.disabled.active, .datepicker table tr td.selected.disabled:hover:focus, .datepicker table tr td.selected.disabled:hover:active, .datepicker table tr td.selected.disabled:hover.active {
  color: #fff;
  background-color: #eeeeee;
  border-color: #bebebe;
}
.datepicker table tr td.selected:hover, .datepicker table tr td.selected:hover:hover, .datepicker table tr td.selected.disabled:hover, .datepicker table tr td.selected.disabled:hover:hover {
  color: #fff;
  background-color: #dadada;
  border-color: #bebebe;
}
.datepicker table tr td.active, .datepicker table tr td.active:hover, .datepicker table tr td.active.disabled, .datepicker table tr td.active.disabled:hover {
  color: #fff;
  background-color: #1b99bd;
  border-color: #1b99bd;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:focus, .datepicker table tr td.active:active, .datepicker table tr td.active.active, .datepicker table tr td.active:hover:focus, .datepicker table tr td.active:hover:active, .datepicker table tr td.active:hover.active, .datepicker table tr td.active.disabled:focus, .datepicker table tr td.active.disabled:active, .datepicker table tr td.active.disabled.active, .datepicker table tr td.active.disabled:hover:focus, .datepicker table tr td.active.disabled:hover:active, .datepicker table tr td.active.disabled:hover.active {
  color: #fff;
  background-color: #1b99bd;
  border-color: #136e87;
}
.datepicker table tr td.active:hover, .datepicker table tr td.active:hover:hover, .datepicker table tr td.active.disabled:hover, .datepicker table tr td.active.disabled:hover:hover {
  color: #fff;
  background-color: #167c99;
  border-color: #136e87;
}
.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  border-radius: 0;
}
.datepicker table tr td span:hover {
  background: #f9f9f9;
}
.datepicker table tr td span.disabled, .datepicker table tr td span.disabled:hover {
  background: none;
  color: #eeeeee;
  cursor: default;
}
.datepicker table tr td span.active, .datepicker table tr td span.active:hover, .datepicker table tr td span.active.disabled, .datepicker table tr td span.active.disabled:hover {
  color: #fff;
  background-color: #1b99bd;
  border-color: #1887a7;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:focus, .datepicker table tr td span.active:active, .datepicker table tr td span.active.active, .datepicker table tr td span.active:hover:focus, .datepicker table tr td span.active:hover:active, .datepicker table tr td span.active:hover.active, .datepicker table tr td span.active.disabled:focus, .datepicker table tr td span.active.disabled:active, .datepicker table tr td span.active.disabled.active, .datepicker table tr td span.active.disabled:hover:focus, .datepicker table tr td span.active.disabled:hover:active, .datepicker table tr td span.active.disabled:hover.active {
  color: #fff;
  background-color: #1b99bd;
  border-color: #105c71;
}
.datepicker table tr td span.active:hover, .datepicker table tr td span.active:hover:hover, .datepicker table tr td span.active.disabled:hover, .datepicker table tr td span.active.disabled:hover:hover {
  color: #fff;
  background-color: #167c99;
  border-color: #105c71;
}
.datepicker table tr td span.old, .datepicker table tr td span.new {
  color: #eeeeee;
}
.datepicker th.datepicker-switch {
  width: 145px;
}
.datepicker .datepicker-switch,
.datepicker .next,
.datepicker .prev,
.datepicker tfoot tr th {
  cursor: pointer;
}
.datepicker .datepicker-switch:hover,
.datepicker .next:hover,
.datepicker .prev:hover,
.datepicker tfoot tr th:hover {
  background: #f9f9f9;
}
.datepicker thead tr:first-child th,
.datepicker tfoot tr th {
  cursor: pointer;
  color: #1b99bd;
}
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
  background: #f9f9f9;
}
.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle;
}
.datepicker thead tr:first-child th.cw {
  cursor: default;
  background-color: transparent;
}

.input-group.date .input-group-addon i {
  cursor: pointer;
  width: 16px;
  height: 16px;
}

.input-daterange input {
  text-align: center;
}
.input-daterange input:first-child {
  border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
  border-radius: 0 3px 3px 0;
}
.input-daterange .input-group-addon {
  width: auto;
  min-width: 16px;
  padding: 4px 5px;
  font-weight: normal;
  line-height: 1.428571429;
  text-align: center;
  text-shadow: 0 1px 0 #fff;
  vertical-align: middle;
  background-color: #f9f9f9;
  border: solid transparent;
  border-width: 1px 0;
  margin-left: -5px;
  margin-right: -5px;
}

.datetimepicker {
  white-space: normal;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  direction: ltr;
}
.datetimepicker:not(.form-control) {
  padding: 4px;
  margin-top: 1px;
}
.datetimepicker.datetimepicker-rtl {
  direction: rtl;
}
.datetimepicker.datetimepicker-rtl table tr td span {
  float: right;
}
.datetimepicker > div {
  display: none;
}
.datetimepicker.minutes div.datetimepicker-minutes {
  display: block;
}
.datetimepicker.hours div.datetimepicker-hours {
  display: block;
}
.datetimepicker.days div.datetimepicker-days {
  display: block;
}
.datetimepicker.months div.datetimepicker-months {
  display: block;
}
.datetimepicker.years div.datetimepicker-years {
  display: block;
}
.datetimepicker table {
  margin: 0;
}
.datetimepicker table tr td.minute:hover {
  background: #f9f9f9;
  cursor: pointer;
}
.datetimepicker table tr td.hour:hover {
  background: #f9f9f9;
  cursor: pointer;
}
.datetimepicker table tr td.day:hover {
  background: #f9f9f9;
  cursor: pointer;
}
.datetimepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.datetimepicker table tr td span:hover {
  background: #f9f9f9;
}
.datetimepicker table tr td span.old {
  color: #eeeeee;
}
.datetimepicker .datetimepicker-hours span {
  height: 26px;
  line-height: 26px;
}
.datetimepicker .datetimepicker-minutes span {
  height: 26px;
  line-height: 26px;
}
.datetimepicker th.switch {
  width: 145px;
}

.datetimepicker-inline {
  width: 220px;
}

.datetimepicker-dropdown, .datetimepicker-dropdown-left {
  top: 0;
  left: 0;
}

[class*=datetimepicker-dropdown]:before {
  content: "";
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #d9d9d9;
  position: absolute;
}

[class*=datetimepicker-dropdown]:after {
  content: "";
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  position: absolute;
}

[class*=datetimepicker-dropdown-top]:before {
  content: "";
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid #d9d9d9;
  border-bottom: 0;
}

[class*=datetimepicker-dropdown-top]:after {
  content: "";
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #ffffff;
  border-bottom: 0;
}

.datetimepicker-dropdown-bottom-left:before {
  top: -7px;
  right: 6px;
}
.datetimepicker-dropdown-bottom-left:after {
  top: -6px;
  right: 7px;
}

.datetimepicker-dropdown-bottom-right:before {
  top: -7px;
  left: 6px;
}
.datetimepicker-dropdown-bottom-right:after {
  top: -6px;
  left: 7px;
}

.datetimepicker-dropdown-top-left:before {
  bottom: -7px;
  right: 6px;
}
.datetimepicker-dropdown-top-left:after {
  bottom: -6px;
  right: 7px;
}

.datetimepicker-dropdown-top-right:before {
  bottom: -7px;
  left: 6px;
}
.datetimepicker-dropdown-top-right:after {
  bottom: -6px;
  left: 7px;
}

.datetimepicker td,
.datetimepicker th {
  text-align: center;
  width: 30px;
  height: 30px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border: none;
}

.table-striped .datetimepicker table tr td,
.table-striped .datetimepicker table tr th {
  background-color: transparent;
}

.datetimepicker table tr td.old,
.datetimepicker table tr td.new {
  color: #eeeeee;
}

.datetimepicker table tr td.disabled,
.datetimepicker table tr td.disabled:hover {
  background: none;
  color: #eeeeee;
  cursor: default;
}

.datetimepicker table tr td.today,
.datetimepicker table tr td.today:hover,
.datetimepicker table tr td.today.disabled,
.datetimepicker table tr td.today.disabled:hover {
  background-color: #5bc0de;
  background-image: -moz-linear-gradient(top, #5bc0de, #5bc0de);
  background-image: -ms-linear-gradient(top, #5bc0de, #5bc0de);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#5bc0de));
  background-image: -webkit-linear-gradient(top, #5bc0de, #5bc0de);
  background-image: -o-linear-gradient(top, #5bc0de, #5bc0de);
  background-image: linear-gradient(top, #5bc0de, #5bc0de);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="$dtp-today-bg", endColorstr="$dtp-today-bg", GradientType=0);
  border-color: #5bc0de #5bc0de #5bc0de;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.datetimepicker table tr td.today:hover,
.datetimepicker table tr td.today:hover:hover,
.datetimepicker table tr td.today.disabled:hover,
.datetimepicker table tr td.today.disabled:hover:hover,
.datetimepicker table tr td.today:active,
.datetimepicker table tr td.today:hover:active,
.datetimepicker table tr td.today.disabled:active,
.datetimepicker table tr td.today.disabled:hover:active,
.datetimepicker table tr td.today.active,
.datetimepicker table tr td.today:hover.active,
.datetimepicker table tr td.today.disabled.active,
.datetimepicker table tr td.today.disabled:hover.active,
.datetimepicker table tr td.today.disabled,
.datetimepicker table tr td.today:hover.disabled,
.datetimepicker table tr td.today.disabled.disabled,
.datetimepicker table tr td.today.disabled:hover.disabled,
.datetimepicker table tr td.today[disabled],
.datetimepicker table tr td.today:hover[disabled],
.datetimepicker table tr td.today.disabled[disabled],
.datetimepicker table tr td.today.disabled:hover[disabled] {
  background-color: #5bc0de;
}

.datetimepicker table tr td.today:active,
.datetimepicker table tr td.today:hover:active,
.datetimepicker table tr td.today.disabled:active,
.datetimepicker table tr td.today.disabled:hover:active,
.datetimepicker table tr td.today.active,
.datetimepicker table tr td.today:hover.active,
.datetimepicker table tr td.today.disabled.active,
.datetimepicker table tr td.today.disabled:hover.active {
  background-color: #5bc0de \9 ;
}

.datetimepicker table tr td.active,
.datetimepicker table tr td.active:hover,
.datetimepicker table tr td.active.disabled,
.datetimepicker table tr td.active.disabled:hover {
  background-color: #1b99bd;
  background-image: -moz-linear-gradient(top, #1b99bd, #1b99bd);
  background-image: -ms-linear-gradient(top, #1b99bd, #1b99bd);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#1b99bd), to(#1b99bd));
  background-image: -webkit-linear-gradient(top, #1b99bd, #1b99bd);
  background-image: -o-linear-gradient(top, #1b99bd, #1b99bd);
  background-image: linear-gradient(top, #1b99bd, #1b99bd);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="$btn-primary-bg", endColorstr="$btn-primary-bg", GradientType=0);
  border-color: #1b99bd #1b99bd #1b99bd;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.datetimepicker table tr td.active:hover,
.datetimepicker table tr td.active:hover:hover,
.datetimepicker table tr td.active.disabled:hover,
.datetimepicker table tr td.active.disabled:hover:hover,
.datetimepicker table tr td.active:active,
.datetimepicker table tr td.active:hover:active,
.datetimepicker table tr td.active.disabled:active,
.datetimepicker table tr td.active.disabled:hover:active,
.datetimepicker table tr td.active.active,
.datetimepicker table tr td.active:hover.active,
.datetimepicker table tr td.active.disabled.active,
.datetimepicker table tr td.active.disabled:hover.active,
.datetimepicker table tr td.active.disabled,
.datetimepicker table tr td.active:hover.disabled,
.datetimepicker table tr td.active.disabled.disabled,
.datetimepicker table tr td.active.disabled:hover.disabled,
.datetimepicker table tr td.active[disabled],
.datetimepicker table tr td.active:hover[disabled],
.datetimepicker table tr td.active.disabled[disabled],
.datetimepicker table tr td.active.disabled:hover[disabled] {
  background-color: #1b99bd;
}

.datetimepicker table tr td.active:active,
.datetimepicker table tr td.active:hover:active,
.datetimepicker table tr td.active.disabled:active,
.datetimepicker table tr td.active.disabled:hover:active,
.datetimepicker table tr td.active.active,
.datetimepicker table tr td.active:hover.active,
.datetimepicker table tr td.active.disabled.active,
.datetimepicker table tr td.active.disabled:hover.active {
  background-color: #1b99bd \9 ;
}

.datetimepicker .datetimepicker-hours table tr td span.hour_am,
.datetimepicker .datetimepicker-hours table tr td span.hour_pm {
  width: 14.6%;
}

.datetimepicker .datetimepicker-hours fieldset legend,
.datetimepicker .datetimepicker-minutes fieldset legend {
  margin-bottom: inherit;
  line-height: 30px;
}

.datetimepicker table tr td span.disabled,
.datetimepicker table tr td span.disabled:hover {
  background: none;
  color: #eeeeee;
  cursor: default;
}

.datetimepicker table tr td span.active,
.datetimepicker table tr td span.active:hover,
.datetimepicker table tr td span.active.disabled,
.datetimepicker table tr td span.active.disabled:hover {
  background-color: #1b99bd;
  background-image: -moz-linear-gradient(top, #1b99bd, #1b99bd);
  background-image: -ms-linear-gradient(top, #1b99bd, #1b99bd);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#1b99bd), to(#1b99bd));
  background-image: -webkit-linear-gradient(top, #1b99bd, #1b99bd);
  background-image: -o-linear-gradient(top, #1b99bd, #1b99bd);
  background-image: linear-gradient(top, #1b99bd, #1b99bd);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="$btn-primary-bg", endColorstr="$btn-primary-bg", GradientType=0);
  border-color: #1b99bd #1b99bd #1b99bd;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.datetimepicker table tr td span.active:hover,
.datetimepicker table tr td span.active:hover:hover,
.datetimepicker table tr td span.active.disabled:hover,
.datetimepicker table tr td span.active.disabled:hover:hover,
.datetimepicker table tr td span.active:active,
.datetimepicker table tr td span.active:hover:active,
.datetimepicker table tr td span.active.disabled:active,
.datetimepicker table tr td span.active.disabled:hover:active,
.datetimepicker table tr td span.active.active,
.datetimepicker table tr td span.active:hover.active,
.datetimepicker table tr td span.active.disabled.active,
.datetimepicker table tr td span.active.disabled:hover.active,
.datetimepicker table tr td span.active.disabled,
.datetimepicker table tr td span.active:hover.disabled,
.datetimepicker table tr td span.active.disabled.disabled,
.datetimepicker table tr td span.active.disabled:hover.disabled,
.datetimepicker table tr td span.active[disabled],
.datetimepicker table tr td span.active:hover[disabled],
.datetimepicker table tr td span.active.disabled[disabled],
.datetimepicker table tr td span.active.disabled:hover[disabled] {
  background-color: #1b99bd;
}

.datetimepicker table tr td span.active:active,
.datetimepicker table tr td span.active:hover:active,
.datetimepicker table tr td span.active.disabled:active,
.datetimepicker table tr td span.active.disabled:hover:active,
.datetimepicker table tr td span.active.active,
.datetimepicker table tr td span.active:hover.active,
.datetimepicker table tr td span.active.disabled.active,
.datetimepicker table tr td span.active.disabled:hover.active {
  background-color: #1b99bd \9 ;
}

.datetimepicker thead tr:first-child th,
.datetimepicker tfoot tr:first-child th {
  cursor: pointer;
}

.datetimepicker thead tr:first-child th:hover,
.datetimepicker tfoot tr:first-child th:hover {
  background: #f9f9f9;
}

.input-append.date .add-on i,
.input-prepend.date .add-on i {
  cursor: pointer;
  width: 14px;
  height: 14px;
}

.bootstrap-select {
  width: 220px \0 ;
  /*IE9 and below*/
}
.bootstrap-select > .dropdown-toggle {
  width: 100%;
  padding-right: 25px;
  z-index: 1;
}
.bootstrap-select > .dropdown-toggle.bs-placeholder, .bootstrap-select > .dropdown-toggle.bs-placeholder:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder:active {
  color: #cccccc;
}
.bootstrap-select > select {
  position: absolute !important;
  bottom: 0;
  left: 50%;
  display: block !important;
  width: 0.5px !important;
  height: 100% !important;
  padding: 0 !important;
  opacity: 0 !important;
  border: none;
}
.bootstrap-select > select.mobile-device {
  top: 0;
  left: 0;
  display: block !important;
  width: 100% !important;
  z-index: 2;
}
.has-error .bootstrap-select .dropdown-toggle, .error .bootstrap-select .dropdown-toggle {
  border-color: #b94a48;
}
.bootstrap-select.fit-width {
  width: auto !important;
}
.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
  width: 220px;
}
.bootstrap-select .dropdown-toggle:focus {
  /*
  outline: thin dotted #333333 !important;
  outline: 5px auto -webkit-focus-ring-color !important;
  outline-offset: -2px;
  */
}
.bootstrap-select .dropdown-toggle:focus:focus {
  color: #202020;
  background-color: #ffffff;
  border-color: #d9d9d9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
}

select.bs-select-hidden,
select.selectpicker,
select.form-control {
  display: none !important;
}

.bootstrap-select.form-control, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select {
  margin-bottom: 0;
  padding: 0;
  border: none;
}
.bootstrap-select.form-control:not([class*=col-]), div.dataTables_wrapper div.dataTables_filter input.bootstrap-select:not([class*=col-]) {
  width: 100%;
}
.bootstrap-select.form-control.input-group-btn, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.input-group-btn {
  z-index: auto;
}
.bootstrap-select.form-control.input-group-btn:not(:first-child):not(:last-child) > .btn, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.input-group-btn:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}

.input-group > .input-group-btn.bootstrap-select.btn-group > .btn {
  margin-left: 0;
}

.bootstrap-select.btn-group:not(.input-group-btn), .bootstrap-select.btn-group[class*=col-] {
  float: none;
  display: inline-block;
  margin-left: 0;
}
.bootstrap-select.btn-group.dropdown-menu-right, .bootstrap-select.btn-group[class*=col-].dropdown-menu-right, .row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right {
  float: right;
}
.form-inline .bootstrap-select.btn-group, .form-horizontal .bootstrap-select.btn-group, .form-group .bootstrap-select.btn-group {
  margin-bottom: 0;
}
.form-group-lg .bootstrap-select.btn-group.form-control, .form-group-lg div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.btn-group, div.dataTables_wrapper div.dataTables_filter .form-group-lg input.bootstrap-select.btn-group, .form-group-sm .bootstrap-select.btn-group.form-control, .form-group-sm div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.btn-group, div.dataTables_wrapper div.dataTables_filter .form-group-sm input.bootstrap-select.btn-group {
  padding: 0;
}
.form-group-lg .bootstrap-select.btn-group.form-control .dropdown-toggle, .form-group-lg div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.btn-group .dropdown-toggle, div.dataTables_wrapper div.dataTables_filter .form-group-lg input.bootstrap-select.btn-group .dropdown-toggle, .form-group-sm .bootstrap-select.btn-group.form-control .dropdown-toggle, .form-group-sm div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.btn-group .dropdown-toggle, div.dataTables_wrapper div.dataTables_filter .form-group-sm input.bootstrap-select.btn-group .dropdown-toggle {
  height: 100%;
  font-size: inherit;
  line-height: inherit;
  border-radius: inherit;
}
.form-inline .bootstrap-select.btn-group .form-control, .form-inline .bootstrap-select.btn-group div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .form-inline .bootstrap-select.btn-group input {
  width: 100%;
}
.bootstrap-select.btn-group.disabled,
.bootstrap-select.btn-group > .disabled {
  cursor: not-allowed;
}
.bootstrap-select.btn-group.disabled:focus,
.bootstrap-select.btn-group > .disabled:focus {
  outline: none !important;
}
.bootstrap-select.btn-group.bs-container {
  position: absolute;
  height: 0 !important;
  padding: 0 !important;
}
.bootstrap-select.btn-group.bs-container .dropdown-menu, .bootstrap-select.btn-group.bs-container .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.btn-group.bs-container .leaflet-control-layers-list {
  z-index: 1060;
}
.bootstrap-select.btn-group .dropdown-toggle .filter-option {
  display: inline-block;
  overflow: hidden;
  width: 100%;
  text-align: left;
}
.bootstrap-select.btn-group .dropdown-toggle .caret {
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -7px;
  vertical-align: middle;
}
.bootstrap-select.btn-group[class*=col-] .dropdown-toggle {
  width: 100%;
}
.bootstrap-select.btn-group .dropdown-menu, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list {
  min-width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bootstrap-select.btn-group .dropdown-menu.inner, .bootstrap-select.btn-group .leaflet-control-layers .inner.leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.btn-group .inner.leaflet-control-layers-list {
  position: static;
  float: none;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}
.bootstrap-select.btn-group .dropdown-menu li, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li {
  position: relative;
}
.bootstrap-select.btn-group .dropdown-menu li.active small, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li.active small, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li.active small {
  color: #fff;
}
.bootstrap-select.btn-group .dropdown-menu li.disabled a, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li.disabled a, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li.disabled a {
  cursor: not-allowed;
}
.bootstrap-select.btn-group .dropdown-menu li a, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li a, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li a {
  cursor: pointer;
  user-select: none;
}
.bootstrap-select.btn-group .dropdown-menu li a.opt, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li a.opt, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li a.opt {
  position: relative;
  padding-left: 2.25em;
}
.bootstrap-select.btn-group .dropdown-menu li a span.check-mark, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li a span.check-mark, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li a span.check-mark {
  display: none;
}
.bootstrap-select.btn-group .dropdown-menu li a span.text, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li a span.text, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li a span.text {
  display: inline-block;
}
.bootstrap-select.btn-group .dropdown-menu li small, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li small, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li small {
  padding-left: 0.5em;
}
.bootstrap-select.btn-group .dropdown-menu .notify, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list .notify, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list .notify {
  position: absolute;
  bottom: 5px;
  width: 96%;
  margin: 0 2%;
  min-height: 26px;
  padding: 3px 5px;
  background: whitesmoke;
  border: 1px solid #e3e3e3;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  pointer-events: none;
  opacity: 0.9;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bootstrap-select.btn-group .no-results {
  padding: 3px;
  background: #f9f9f9;
  margin: 0 5px;
  white-space: nowrap;
}
.bootstrap-select.btn-group.fit-width .dropdown-toggle {
  /*
  .caret {
    position: static;
    top: auto;
    margin-top: -1px;
  }
  */
}
.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option {
  position: static;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list li.selected a span.check-mark, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list li.selected a span.check-mark {
  position: absolute;
  display: inline-block;
  right: 15px;
  margin-top: 5px;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list li a span.text, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list li a span.text {
  margin-right: 34px;
}

.bootstrap-select.show-menu-arrow.open > .dropdown-toggle, .bootstrap-select.open > .dropdown-toggle {
  z-index: 1061;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle:before, .bootstrap-select .dropdown-toggle:before {
  content: "";
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #d9d9d9;
  position: absolute;
  bottom: -4px;
  left: 9px;
  display: none;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle:after, .bootstrap-select .dropdown-toggle:after {
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  position: absolute;
  bottom: -4px;
  left: 10px;
  display: none;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before, .bootstrap-select.dropup .dropdown-toggle:before {
  bottom: auto;
  top: -3px;
  border-top: 7px solid #d9d9d9;
  border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after, .bootstrap-select.dropup .dropdown-toggle:after {
  bottom: auto;
  top: -3px;
  border-top: 6px solid #ffffff;
  border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before, .bootstrap-select.pull-right .dropdown-toggle:before, .nav-pagination .bootstrap-select.pagination .dropdown-toggle:before {
  right: 12px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after, .bootstrap-select.pull-right .dropdown-toggle:after, .nav-pagination .bootstrap-select.pagination .dropdown-toggle:after {
  right: 13px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before, .bootstrap-select.open > .dropdown-toggle:before, .bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after, .bootstrap-select.open > .dropdown-toggle:after {
  display: block;
}

.bs-searchbox,
.bs-actionsbox,
.bs-donebutton {
  margin: 6px 13px;
}

.bs-actionsbox {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bs-actionsbox .btn-group button {
  width: 50%;
}

.bs-donebutton {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bs-donebutton .btn-group button {
  width: 100%;
}

.bs-searchbox .form-control, .bs-searchbox div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .bs-searchbox input {
  margin-bottom: 0;
  width: 100%;
  float: none;
}

.bs-input {
  padding: 0;
  margin: 0;
  border: 0;
  height: inherit;
  background-color: inherit;
}
.bs-input:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: inherit;
}

.bootstrap-select.form-control .dropdown-menu.inner > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li {
  padding: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bootstrap-select.form-control .dropdown-menu.inner > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li.dropdown-header, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li.dropdown-header, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li.dropdown-header, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li.dropdown-header {
  background: #f9f9f9;
  padding: 6px 12px;
  margin: 0;
}
.bootstrap-select.form-control .dropdown-menu.inner > li.divider, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li.divider, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li.divider, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li.divider, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li.divider, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li.divider, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li.divider {
  display: none;
}

.bootstrap-select.form-control.multiexpand, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand {
  height: auto;
}
.bootstrap-select.form-control.multiexpand > .dropdown-toggle, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand > .dropdown-toggle {
  display: none;
}
.bootstrap-select.form-control.multiexpand > .dropdown-menu, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand > .dropdown-menu, .leaflet-control-layers .bootstrap-select.form-control.multiexpand > .leaflet-control-layers-list, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand > .leaflet-control-layers-list, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand > .leaflet-control-layers-list {
  display: block;
  position: relative;
  box-shadow: none;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .leaflet-control-layers-list, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .leaflet-control-layers-list, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers-list, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .leaflet-control-layers-list {
  max-width: 100%;
  z-index: 1;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list {
  min-height: 160px;
  max-height: 160px;
  overflow: auto;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner:before, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner:before, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:before, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:before, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list:before, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:before, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:before, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner:after, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner:after, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:after, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:after, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list:after, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:after, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:after {
  content: " ";
  display: table;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner:after, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner:after, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:after, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:after, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list:after, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:after, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:after {
  clear: both;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li {
  padding: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li > a, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li > a, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li > a, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li > a, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li > a, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li > a, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li > a {
  width: 100%;
  min-width: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li.no-results, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li.no-results, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.no-results, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.no-results, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li.no-results, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.no-results, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.no-results, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li.dropdown-header, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.dropdown-header, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li.dropdown-header, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.dropdown-header {
  background: #f9f9f9;
  padding: 6px 12px;
  margin: 0;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li.divider, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li.divider, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.divider, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.divider, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li.divider, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.divider, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.divider {
  display: none;
}
.bootstrap-select.form-control.multiexpand .bs-donebutton, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .bs-donebutton {
  display: none;
}
.bootstrap-select.form-control.multiexpand .bs-searchbox, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .bs-searchbox,
.bootstrap-select.form-control.multiexpand .bs-actionsbox,
div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .bs-actionsbox {
  width: 50%;
  float: right;
  margin: 0;
}
.bootstrap-select.form-control.multiexpand .bs-actionsbox, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .bs-actionsbox {
  float: left;
}
.bootstrap-select.form-control.multiexpand .bs-actionsbox .btn, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .bs-actionsbox .btn {
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.428571429;
  border-radius: 0;
}

/*!
 * Bootstrap Colorpicker v2.5.1
 * https://itsjavi.com/bootstrap-colorpicker/
 *
 * Originally written by (c) 2012 Stefan Petre
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0.txt
 *
 */
.colorpicker-saturation {
  width: 100px;
  height: 100px;
  background-image: url("../images/bootstrap-colorpicker/saturation.png");
  cursor: crosshair;
  float: left;
}
.colorpicker-saturation i {
  display: block;
  height: 5px;
  width: 5px;
  border: 1px solid #000;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
  margin: -4px 0 0 -4px;
}
.colorpicker-saturation i b {
  display: block;
  height: 5px;
  width: 5px;
  border: 1px solid #fff;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.colorpicker-hue,
.colorpicker-alpha {
  width: 15px;
  height: 100px;
  float: left;
  cursor: row-resize;
  margin-left: 4px;
  margin-bottom: 4px;
}

.colorpicker-hue i,
.colorpicker-alpha i {
  display: block;
  height: 1px;
  background: #000;
  border-top: 1px solid #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-top: -1px;
}

.colorpicker-hue {
  background-image: url("../images/bootstrap-colorpicker/hue.png");
}

.colorpicker-alpha {
  background-image: url("../images/bootstrap-colorpicker/alpha.png");
  display: none;
}

.colorpicker-saturation,
.colorpicker-hue,
.colorpicker-alpha {
  background-size: contain;
}

.colorpicker {
  padding: 4px;
  min-width: 130px;
  margin-top: 1px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  z-index: 2500;
}

.colorpicker:before,
.colorpicker:after {
  display: table;
  content: "";
  line-height: 0;
}

.colorpicker:after {
  clear: both;
}

.colorpicker:before {
  content: "";
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -7px;
  left: 6px;
}

.colorpicker:after {
  content: "";
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  position: absolute;
  top: -6px;
  left: 7px;
}

.colorpicker div {
  position: relative;
}

.colorpicker.colorpicker-with-alpha {
  min-width: 140px;
}

.colorpicker.colorpicker-with-alpha .colorpicker-alpha {
  display: block;
}

.colorpicker-color {
  height: 10px;
  margin-top: 5px;
  clear: both;
  background-image: url("../images/bootstrap-colorpicker/alpha.png");
  background-position: 0 100%;
}

.colorpicker-color div {
  height: 10px;
}

.colorpicker-selectors {
  display: none;
  height: 10px;
  margin-top: 5px;
  clear: both;
}

.colorpicker-selectors i {
  cursor: pointer;
  float: left;
  height: 10px;
  width: 10px;
}

.colorpicker-selectors i + i {
  margin-left: 3px;
}

.colorpicker-element .input-group-addon i,
.colorpicker-element .add-on i {
  display: inline-block;
  cursor: pointer;
  height: 16px;
  vertical-align: text-top;
  width: 16px;
}

.colorpicker.colorpicker-inline {
  position: relative;
  display: inline-block;
  float: none;
  z-index: auto;
}

.colorpicker.colorpicker-horizontal {
  width: 110px;
  min-width: 110px;
  height: auto;
}

.colorpicker.colorpicker-horizontal .colorpicker-saturation {
  margin-bottom: 4px;
}

.colorpicker.colorpicker-horizontal .colorpicker-color {
  width: 100px;
}

.colorpicker.colorpicker-horizontal .colorpicker-hue,
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  width: 100px;
  height: 15px;
  float: left;
  cursor: col-resize;
  margin-left: 0px;
  margin-bottom: 4px;
}

.colorpicker.colorpicker-horizontal .colorpicker-hue i,
.colorpicker.colorpicker-horizontal .colorpicker-alpha i {
  display: block;
  height: 15px;
  background: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  border: none;
  margin-top: 0px;
}

.colorpicker.colorpicker-horizontal .colorpicker-hue {
  background-image: url("../images/bootstrap-colorpicker/hue-horizontal.png");
}

.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  background-image: url("../images/bootstrap-colorpicker/alpha-horizontal.png");
}

.colorpicker-right:before {
  left: auto;
  right: 6px;
}

.colorpicker-right:after {
  left: auto;
  right: 7px;
}

.colorpicker-no-arrow:before {
  border-right: 0;
  border-left: 0;
}

.colorpicker-no-arrow:after {
  border-right: 0;
  border-left: 0;
}

.colorpicker.colorpicker-visible,
.colorpicker-alpha.colorpicker-visible,
.colorpicker-saturation.colorpicker-visible,
.colorpicker-hue.colorpicker-visible,
.colorpicker-selectors.colorpicker-visible {
  display: block;
}

.colorpicker.colorpicker-hidden,
.colorpicker-alpha.colorpicker-hidden,
.colorpicker-saturation.colorpicker-hidden,
.colorpicker-hue.colorpicker-hidden,
.colorpicker-selectors.colorpicker-hidden {
  display: none;
}

.colorpicker-inline.colorpicker-visible {
  display: inline-block;
}

.toast-title {
  font-weight: bold;
}

.toast-message {
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}
.toast-message a,
.toast-message label {
  color: #FFFFFF;
}
.toast-message a:hover {
  color: #CCCCCC;
  text-decoration: none;
}

.toast-close-button {
  position: relative;
  right: -0.3em;
  top: -0.3em;
  float: right;
  font-size: 20px;
  font-weight: bold;
  color: #FFFFFF;
  -webkit-text-shadow: 0 1px 0 white;
  text-shadow: 0 1px 0 white;
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.toast-close-button:hover, .toast-close-button:focus {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.4;
  filter: alpha(opacity=40);
}

/*Additional properties for button version
 iOS requires the button element instead of an anchor tag.
 If you want the anchor version, it requires `href="#"`.*/
button.toast-close-button {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}

.toast-top-full-width {
  top: 0;
  right: 0;
  width: 100%;
}

.toast-bottom-full-width {
  bottom: 0;
  right: 0;
  width: 100%;
}

.toast-top-left {
  top: 12px;
  left: 12px;
}

.toast-top-right {
  top: 48px;
  right: 37px;
}

.toast-bottom-right {
  right: 12px;
  bottom: 12px;
}

.toast-bottom-left {
  bottom: 12px;
  left: 12px;
}

#toast-container {
  position: fixed;
  z-index: 1100;
  /*overrides*/
}
#toast-container * {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#toast-container > div {
  margin: 0 0 6px;
  padding: 15px 15px 15px 50px;
  width: 300px;
  background-position: 15px center;
  background-repeat: no-repeat;
  color: #FFFFFF;
  -moz-border-radius: 3px 3px 3px 3px;
  -webkit-border-radius: 3px 3px 3px 3px;
  border-radius: 3px 3px 3px 3px;
  -moz-box-shadow: 0 0 12px #999999;
  -webkit-box-shadow: 0 0 12px #999999;
  box-shadow: 0 0 12px #999999;
  opacity: 0.8;
  filter: alpha(opacity=80);
}
#toast-container > :hover {
  -moz-box-shadow: 0 0 12px #000000;
  -webkit-box-shadow: 0 0 12px #000000;
  box-shadow: 0 0 12px #000000;
  opacity: 1;
  filter: alpha(opacity=100);
  cursor: pointer;
}
#toast-container > .toast-info {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
}
#toast-container > .toast-error {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
}
#toast-container > .toast-success {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
}
#toast-container > .toast-warning {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
}
#toast-container.toast-top-full-width > div, #toast-container.toast-bottom-full-width > div {
  width: 96%;
  margin: auto;
}

.toast {
  background-color: #030303;
}

.toast-success {
  background-color: #51A351;
}

.toast-error {
  background-color: #BD362F;
}

.toast-info {
  background-color: #2F96B4;
}

.toast-warning {
  background-color: #F89406;
}

/*Responsive Design*/
@media all and (max-width: 240px) {
  #toast-container > div {
    padding: 8px 8px 8px 50px;
    width: 11em;
  }
  #toast-container .toast-close-button {
    right: -0.2em;
    top: -0.2em;
  }
}
@media all and (min-width: 241px) and (max-width: 480px) {
  #toast-container > div {
    padding: 8px 8px 8px 50px;
    width: 18em;
  }
  #toast-container .toast-close-button {
    right: -0.2em;
    top: -0.2em;
  }
}
@media all and (min-width: 481px) and (max-width: 768px) {
  #toast-container > div {
    padding: 15px 15px 15px 50px;
    width: 25em;
  }
}
.leaflet-layer, .leaflet-image-layer, .leaflet-zoom-box, .leaflet-tile-container, .leaflet-marker-shadow, .leaflet-marker-icon, .leaflet-tile, .leaflet-pane > canvas, .leaflet-pane > svg, .leaflet-pane {
  position: absolute;
  left: 0;
  top: 0;
}

.leaflet-bottom, .leaflet-top {
  position: absolute;
  z-index: 900;
  pointer-events: none;
}

.leaflet-bar a:hover, .leaflet-bar a {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black;
}

.leaflet-bar a {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block;
}

.leaflet-popup-tip {
  background: #ffffff;
  color: #333;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
}

.leaflet-tooltip-right:before, .leaflet-tooltip-left:before, .leaflet-tooltip-bottom:before, .leaflet-tooltip-top:before {
  position: absolute;
  pointer-events: none;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}

.leaflet-pane {
  z-index: 400;
}
.leaflet-pane > svg path {
  pointer-events: none;
}
.leaflet-pane > svg path.leaflet-interactive {
  pointer-events: visiblePainted;
  pointer-events: auto;
}
.leaflet-tile {
  user-select: none;
  filter: inherit;
  visibility: hidden;
}

.leaflet-marker-icon {
  user-select: none;
  display: block;
  pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive {
  pointer-events: visiblePainted;
  pointer-events: auto;
}

.leaflet-marker-shadow {
  user-select: none;
  display: block;
  pointer-events: none;
}

.leaflet-tile-container {
  pointer-events: none;
}

.leaflet-zoom-box {
  width: 0;
  height: 0;
  box-sizing: border-box;
  z-index: 800;
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5);
}

.leaflet-image-layer {
  pointer-events: none;
}
.leaflet-image-layer.leaflet-interactive {
  pointer-events: visiblePainted;
  pointer-events: auto;
}

.leaflet-container {
  overflow: hidden;
  background: #ddd;
  outline: 0;
  font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
}
.leaflet-container.leaflet-touch-zoom {
  touch-action: pan-x pan-y;
}
.leaflet-container a {
  color: #0078a8;
  /*
  &.leaflet-popup-close-button {
  	position: absolute;
  	top: 0;
  	right: 0;
  	padding: 4px 4px 0 0;
  	border: none;
  	text-align: center;
  	width: 18px;
  	height: 14px;
  	font: 16px/14px $font_3, $font_4, $font_5;
  	color: $color_pale_slate_approx;
  	text-decoration: none;
  	font-weight: bold;
  	background: transparent;
  	&:hover {
  		color: $color_mountain_mist_approx;
  	}
  }
   */
}
.leaflet-container a.leaflet-active {
  outline: 2px solid orange;
}
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.7);
  margin: 0;
  font-size: 11px;
}
.leaflet-container .leaflet-control-scale {
  font-size: 11px;
}
.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
}
.leaflet-container .leaflet-marker-pane img {
  max-width: none !important;
}
.leaflet-container .leaflet-shadow-pane img {
  max-width: none !important;
}
.leaflet-container .leaflet-tile-pane img {
  max-width: none !important;
}
.leaflet-container img.leaflet-image-layer {
  max-width: none !important;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  touch-action: none;
}

.leaflet-safari .leaflet-tile-container {
  width: 1600px;
  height: 1600px;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-overlay-pane {
  z-index: 400;
}
.leaflet-tile-pane {
  z-index: 200;
}

.leaflet-shadow-pane {
  z-index: 500;
}

.leaflet-marker-pane {
  z-index: 600;
}

.leaflet-tooltip-pane {
  z-index: 650;
}

.leaflet-popup-pane {
  z-index: 700;
  cursor: auto;
}

.leaflet-map-pane canvas {
  z-index: 100;
}
.leaflet-map-pane svg {
  z-index: 200;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute;
}

.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted;
  pointer-events: auto;
  float: left;
  clear: both;
  cursor: auto;
}

.leaflet-top {
  top: 0;
}
.leaflet-top .leaflet-control {
  margin-top: 10px;
}

.leaflet-bottom {
  bottom: 0;
}
.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}
.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-right {
  right: 0;
}
.leaflet-right .leaflet-control {
  margin-right: 10px;
}

.leaflet-left {
  left: 0;
}
.leaflet-left .leaflet-control {
  margin-left: 10px;
}
.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-fade-anim .leaflet-tile {
  will-change: opacity;
}
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}

.leaflet-zoom-animated {
  transform-origin: 0 0;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  will-change: transform;
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}
.leaflet-zoom-anim .leaflet-tile {
  transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}

.leaflet-interactive {
  cursor: pointer;
}

.leaflet-crosshair {
  cursor: crosshair;
}
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}

.leaflet-dragging .leaflet-grab {
  cursor: move;
}
.leaflet-dragging .leaflet-grab .leaflet-interactive {
  cursor: move;
}
.leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
}

.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px;
}
.leaflet-bar a:hover {
  background-color: #f4f4f4;
}
.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb;
}

.leaflet-control-layers-toggle {
  display: none;
}

.leaflet-touch .leaflet-bar {
  box-shadow: none;
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}
.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.leaflet-touch .leaflet-control-zoom-in {
  font-size: 22px;
}
.leaflet-touch .leaflet-control-zoom-out {
  font-size: 24px;
}
.leaflet-touch .leaflet-control-attribution {
  box-shadow: none;
}
.leaflet-touch .leaflet-control-layers {
  box-shadow: none;
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}

.leaflet-control-zoom-in {
  font: bold 18px Lucida Console, Monaco, monospace;
  text-indent: 1px;
}

.leaflet-control-zoom-out {
  font: bold 18px Lucida Console, Monaco, monospace;
  text-indent: 1px;
  font-size: 20px;
}

/*
.leaflet-control-layers {
	@extend .droparrow;
	@extend .dropright;
	position: relative;

	.leaflet-control-layers-list {
		display: none;
		@extend .dropdown-menu;
	}
	label {
		display: block;
		margin: 0;

		@include checkbox('div', 'span');
		@include checkbox-variant('div', $brand-primary, 'span');

		div {
			padding: $dropdown-padding-vertical $dropdown-padding-horizontal;
		}
	}
}

.leaflet-control-layers-expanded {
	.leaflet-control-layers-list {
		display: block;
	}
}
*/
.leaflet-control-layers-scrollbar {
  overflow-y: scroll;
  padding-right: 5px;
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px;
}

.leaflet-default-icon-path {
  background-image: url(../images/marker-icon.png);
}

.leaflet-control-attribution {
  padding: 0 5px;
  color: #333;
}
.leaflet-control-attribution a {
  text-decoration: none;
}
.leaflet-control-attribution a:hover {
  text-decoration: underline;
}

.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333;
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: border-box;
  background: #fff;
  background: rgba(255, 255, 255, 0.5);
}
.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px;
}

.leaflet-popup-content-wrapper {
  text-align: left;
  border-radius: 5px;
}

.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none;
}

.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  transform: rotate(45deg);
}

.leaflet-popup-scrolled {
  overflow: auto;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  zoom: 1;
  border: 1px solid #999;
}
.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
  border: 1px solid #999;
}
.leaflet-oldie .leaflet-popup-tip-container {
  margin-top: -1px;
}
.leaflet-oldie .leaflet-control-zoom {
  border: 1px solid #999;
}
.leaflet-oldie .leaflet-control-layers {
  border: 1px solid #999;
}

.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}

.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #222;
  white-space: nowrap;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.leaflet-tooltip.leaflet-clickable {
  cursor: pointer;
  pointer-events: auto;
}

.leaflet-tooltip-top {
  margin-top: -6px;
}
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px;
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff;
}

.leaflet-tooltip-bottom {
  margin-top: 6px;
}
.leaflet-tooltip-bottom:before {
  left: 50%;
  margin-left: -6px;
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff;
}

.leaflet-tooltip-left {
  margin-left: -6px;
}
.leaflet-tooltip-left:before {
  top: 50%;
  margin-top: -6px;
  right: 0;
  margin-right: -12px;
  border-left-color: #fff;
}

.leaflet-tooltip-right {
  margin-left: 6px;
}
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px;
  left: 0;
  margin-left: -12px;
  border-right-color: #fff;
}

.leaflet-pan-anim .leaflet-tile {
  transition: none;
}

.leaf-device-marker .ico, .leaf-device-marker .group-heading > .group-title:after, .leaf-device-marker .table.table-list .sorting:before, .table.table-list .leaf-device-marker .sorting:before, .leaf-device-marker .table.table-list .sorting:after, .table.table-list .leaf-device-marker .sorting:after,
.leaf-device-marker .table.table-list .sorting_desc:before,
.table.table-list .leaf-device-marker .sorting_desc:before,
.leaf-device-marker .table.table-list .sorting_desc:after,
.table.table-list .leaf-device-marker .sorting_desc:after,
.leaf-device-marker .table.table-list .sorting_asc:before,
.table.table-list .leaf-device-marker .sorting_asc:before,
.leaf-device-marker .table.table-list .sorting_asc:after,
.table.table-list .leaf-device-marker .sorting_asc:after, .leaf-device-marker .btn-collapse i, .btn-collapse .leaf-device-marker i, .leaf-device-marker .icon {
  display: block;
}
.leaf-device-marker .name {
  display: block;
  position: absolute;
  bottom: 100%;
  margin-bottom: 5px;
  -webkit-transform: translateX(-40%);
  transform: translateX(-40%);
}
.leaf-device-marker .name:before, .leaf-device-marker .name:after {
  content: "";
  display: inline-block;
  position: absolute;
}
.leaf-device-marker .name:before {
  border: 11px solid transparent;
  left: calc( 50% - 11px );
  bottom: -10px;
  border-bottom: 0;
  border-top-color: #d9d9d9;
}
.leaf-device-marker .name:after {
  border: 10px solid transparent;
  left: calc( 50% - 10px );
  bottom: -9px;
  border-bottom: 0;
  border-top-color: #ffffff;
}
.leaf-device-marker .name i {
  font-style: normal;
  display: inline-block;
  white-space: nowrap;
  background: #ffffff;
  padding: 4px 8px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
}
.leaf-device-marker.leaf-device-selected {
  z-index: 9999999999 !important;
}
.leaf-device-marker.leaf-device-selected .name {
  font-weight: bold;
}

.leaflet-history-marker svg text {
  font-size: 12px;
  font-weight: 700;
  fill: white;
  text-anchor: middle;
  dominant-baseline: middle;
}

.leaflet-popup-geofence .name {
  display: block;
  white-space: nowrap;
  color: #ffffff;
  padding: 4px;
  border: 1px solid #d9d9d9;
  opacity: 0.8;
  text-shadow: 1px 1px 1px #000;
}
.leaflet-popup-geofence .leaflet-popup-tip-container {
  display: none;
}

.leaflet-popup-route .name {
  display: block;
  white-space: nowrap;
  color: #ffffff;
  padding: 4px;
  border: 1px solid #d9d9d9;
  opacity: 0.8;
}
.leaflet-popup-route .leaflet-popup-tip-container {
  display: none;
}

.leaflet-popup-event,
.leaflet-popup-history {
  min-width: 270px;
}

.leaflet-control-layers .leaflet-control-layers-list {
  display: none;
}
.leaflet-control-layers label {
  display: block;
  margin: 0;
}
.leaflet-control-layers label div {
  line-height: 1;
  position: relative;
  padding-left: 0;
}
.leaflet-control-layers label div span {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 0;
  margin-bottom: 0;
  font-weight: normal;
}
.leaflet-control-layers label div span::before {
  content: "";
  position: relative;
  z-index: 1;
  left: 0;
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
  color: transparent;
  background-color: #ffffff;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  font-weight: normal;
  line-height: 1;
  border-radius: 2;
  -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}
.leaflet-control-layers label div span::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  content: "�";
  color: transparent;
  border: 1px solid #d9d9d9;
  border-radius: 2;
}
.leaflet-control-layers label div input[type=checkbox],
.leaflet-control-layers label div input[type=radio] {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.leaflet-control-layers label div input[type=checkbox]:focus + span::before,
.leaflet-control-layers label div input[type=radio]:focus + span::before {
  outline: 0;
}
.leaflet-control-layers label div input[type=checkbox]:checked + span::before,
.leaflet-control-layers label div input[type=radio]:checked + span::before {
  font-family: "icomoon";
  content: "";
}
.leaflet-control-layers label div input[type=checkbox]:checked:disabled + span::before,
.leaflet-control-layers label div input[type=radio]:checked:disabled + span::before {
  background-color: inherit;
}
.leaflet-control-layers label div input[type=checkbox]:disabled + span,
.leaflet-control-layers label div input[type=radio]:disabled + span {
  opacity: 0.45;
}
.leaflet-control-layers label div input[type=checkbox]:disabled + span::before,
.leaflet-control-layers label div input[type=radio]:disabled + span::before {
  background-color: #eeeeee;
  cursor: not-allowed;
}
.leaflet-control-layers label div.checkbox-inline, .leaflet-control-layers label .group div.checkbox, .group .leaflet-control-layers label div.checkbox, .leaflet-control-layers label .table div.checkbox, .table .leaflet-control-layers label div.checkbox {
  margin-top: 0;
}
.leaflet-control-layers label div input[type=checkbox]:checked + span::before,
.leaflet-control-layers label div input[type=radio]:checked + span::before {
  color: #ffffff;
  background-color: #1b99bd;
}
.leaflet-control-layers label div input[type=checkbox]:checked + span::after,
.leaflet-control-layers label div input[type=radio]:checked + span::after {
  background-color: #1b99bd;
  border-color: #1b99bd;
}
.leaflet-control-layers label div {
  padding: 6px 13px;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
}

.map-controls.top-right .leaflet-control-layers {
  position: relative;
}
.map-controls.top-left .leaflet-control-layers {
  position: relative;
}
.map-controls.bottom-right .leaflet-control-layers {
  position: relative;
}

.cluster .cluster-inner {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
}
.cluster .cluster-inner:after, .cluster .cluster-inner:before {
  content: " ";
  display: block;
  position: absolute;
  border: 3px solid;
  border-color: green green transparent green;
  border-radius: 50%;
}
.cluster .cluster-inner:before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cluster .cluster-inner:after {
  left: 7px;
  top: 7px;
  width: 44px;
  width: -webkit-calc(100%-14px);
  width: -moz-calc(100%-14px);
  width: -o-calc(100%-14px);
  width: calc(100%-14px);
  height: 44px;
  height: -webkit-calc(100%-14px);
  height: -moz-calc(100%-14px);
  height: -o-calc(100%-14px);
  height: calc(100%-14px);
  border-color: #1b99bd #1b99bd transparent #1b99bd;
}
.cluster .cluster-inner b {
  color: #ffffff;
  display: block;
  position: absolute;
  background: #1b99bd;
  border-radius: 50%;
  line-height: 30px;
  left: 14px;
  top: 14px;
  width: 30px;
  width: -webkit-calc(100%-28px);
  width: -moz-calc(100%-28px);
  width: -o-calc(100%-28px);
  width: calc(100%-28px);
  height: 30px;
  height: -webkit-calc(100%-28px);
  height: -moz-calc(100%-28px);
  height: -o-calc(100%-28px);
  height: calc(100%-28px);
}
.cluster.cluster-large .cluster-inner:before {
  border-color: #1b99bd #1b99bd transparent #1b99bd;
}
.cluster.cluster-large .cluster-inner:after {
  border-color: green green transparent green;
}
.cluster.cluster-large .cluster-inner b {
  background: green;
}

.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
  -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
  -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
  -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
  transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.leaflet-cluster-spider-leg {
  /* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
  -webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
  -moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
  -o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
  transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

/* ================================================================== */
/* Toolbars
/* ================================================================== */
.leaflet-draw-section {
  position: relative;
}

.leaflet-draw-toolbar {
  margin-top: 12px;
}

.leaflet-draw-toolbar-top {
  margin-top: 0;
}

.leaflet-draw-toolbar-notop a:first-child {
  border-top-right-radius: 0;
}

.leaflet-draw-toolbar-nobottom a:last-child {
  border-bottom-right-radius: 0;
}

.leaflet-draw-toolbar a {
  background-image: url("../images/spritesheet.png");
  background-image: linear-gradient(transparent, transparent), url("images/spritesheet.svg");
  background-repeat: no-repeat;
  background-size: 270px 30px;
  background-clip: padding-box;
}

.leaflet-retina .leaflet-draw-toolbar a {
  background-image: url("../images/spritesheet-2x.png");
  background-image: linear-gradient(transparent, transparent), url("images/spritesheet.svg");
}

.leaflet-draw a {
  display: block;
  text-align: center;
  text-decoration: none;
}

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

/* ================================================================== */
/* Toolbar actions menu
/* ================================================================== */
.leaflet-draw-actions {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  left: 26px;
  /* leaflet-draw-toolbar.left + leaflet-draw-toolbar.width */
  top: 0;
  white-space: nowrap;
}

.leaflet-touch .leaflet-draw-actions {
  left: 32px;
}

.leaflet-right .leaflet-draw-actions {
  right: 26px;
  left: auto;
}

.leaflet-touch .leaflet-right .leaflet-draw-actions {
  right: 32px;
  left: auto;
}

.leaflet-draw-actions li {
  display: inline-block;
}

.leaflet-draw-actions li:first-child a {
  border-left: none;
}

.leaflet-draw-actions li:last-child a {
  -webkit-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}

.leaflet-right .leaflet-draw-actions li:last-child a {
  -webkit-border-radius: 0;
  border-radius: 0;
}

.leaflet-right .leaflet-draw-actions li:first-child a {
  -webkit-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}

.leaflet-draw-actions a {
  background-color: #919187;
  border-left: 1px solid #AAA;
  color: #FFF;
  font: 11px/19px "Helvetica Neue", Arial, Helvetica, sans-serif;
  line-height: 28px;
  text-decoration: none;
  padding-left: 10px;
  padding-right: 10px;
  height: 28px;
}

.leaflet-touch .leaflet-draw-actions a {
  font-size: 12px;
  line-height: 30px;
  height: 30px;
}

.leaflet-draw-actions-bottom {
  margin-top: 0;
}

.leaflet-draw-actions-top {
  margin-top: 1px;
}

.leaflet-draw-actions-top a,
.leaflet-draw-actions-bottom a {
  height: 27px;
  line-height: 27px;
}

.leaflet-draw-actions a:hover {
  background-color: #A0A098;
}

.leaflet-draw-actions-top.leaflet-draw-actions-bottom a {
  height: 26px;
  line-height: 26px;
}

/* ================================================================== */
/* Draw toolbar
/* ================================================================== */
.leaflet-draw-toolbar .leaflet-draw-draw-polyline {
  background-position: -2px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline {
  background-position: 0 -1px;
}

.leaflet-draw-toolbar .leaflet-draw-draw-polygon {
  background-position: -31px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon {
  background-position: -29px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-draw-rectangle {
  background-position: -62px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle {
  background-position: -60px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-draw-circle {
  background-position: -92px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle {
  background-position: -90px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-draw-marker {
  background-position: -122px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker {
  background-position: -120px -1px;
}

/* ================================================================== */
/* Edit toolbar
/* ================================================================== */
.leaflet-draw-toolbar .leaflet-draw-edit-edit {
  background-position: -152px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit {
  background-position: -150px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-edit-remove {
  background-position: -182px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove {
  background-position: -180px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled {
  background-position: -212px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled {
  background-position: -210px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled {
  background-position: -242px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled {
  background-position: -240px -2px;
}

/* ================================================================== */
/* Drawing styles
/* ================================================================== */
.leaflet-mouse-marker {
  background-color: #fff;
  cursor: crosshair;
}

.leaflet-draw-tooltip {
  background: #363636;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid transparent;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  color: #fff;
  font: 12px/18px "Helvetica Neue", Arial, Helvetica, sans-serif;
  margin-left: 20px;
  margin-top: -21px;
  padding: 4px 8px;
  position: absolute;
  visibility: hidden;
  white-space: nowrap;
  z-index: 6;
}

.leaflet-draw-tooltip:before {
  border-right: 6px solid black;
  border-right-color: rgba(0, 0, 0, 0.5);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  content: "";
  position: absolute;
  top: 7px;
  left: -7px;
}

.leaflet-error-draw-tooltip {
  background-color: #F2DEDE;
  border: 1px solid #E6B6BD;
  color: #B94A48;
}

.leaflet-error-draw-tooltip:before {
  border-right-color: #E6B6BD;
}

.leaflet-draw-tooltip-single {
  margin-top: -12px;
}

.leaflet-draw-tooltip-subtext {
  color: #f8d5e4;
}

.leaflet-draw-guide-dash {
  font-size: 1%;
  opacity: 0.6;
  position: absolute;
  width: 5px;
  height: 5px;
}

/* ================================================================== */
/* Edit styles
/* ================================================================== */
.leaflet-edit-marker-selected {
  background-color: rgba(254, 87, 161, 0.1);
  border: 4px dashed rgba(254, 87, 161, 0.6);
  -webkit-border-radius: 4px;
  border-radius: 4px;
  box-sizing: content-box;
}

.leaflet-edit-move {
  cursor: move;
}

.leaflet-edit-resize {
  cursor: pointer;
}

/* ================================================================== */
/* Old IE styles
/* ================================================================== */
.leaflet-oldie .leaflet-draw-toolbar {
  border: 1px solid #999;
}

#gps-device-parameters-view {
  width: 300px;
  max-width: 100%;
}
#gps-device-parameters-view span[data-device=streetview] {
  min-height: 125px;
}

#gps-device-street-view-large {
  width: auto;
  max-width: 100%;
}
#gps-device-street-view-large span[data-device=streetview] {
  min-height: 261px;
}
#gps-device-street-view-large img {
  max-width: none;
}

.leaflet-popup-map-icon {
  width: 200px;
}

.leaflet-popup-content {
  background: #ffffff;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
.leaflet-popup-content img {
  max-height: 100%;
  max-width: 100%;
}

.popup-header {
  background: #f9f9f9;
}
.popup-header:before, .popup-header:after {
  content: " ";
  display: table;
}
.popup-header:after {
  clear: both;
}
.popup-header .nav-tabs {
  float: right;
}
.popup-header .popup-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  color: #202020;
  padding: 10px;
}

.popup-body {
  background: #ffffff;
  padding: 8px;
  color: #595959;
  font-size: 11px;
}
.popup-body > .nav {
  margin: -8px;
  margin-bottom: 8px;
}
.popup-body .table {
  margin-bottom: 0;
}
.popup-body .table tbody > tr > th {
  font-weight: normal;
  width: 35%;
}
.popup-body .table tbody > tr > td,
.popup-body .table tbody > tr > th {
  border: 0;
}

.autocomplete-suggestions {
  border: 1px solid #d9d9d9;
  background: #ffffff;
  overflow: auto;
}

.autocomplete-suggestion {
  padding: 2px 5px;
  white-space: nowrap;
  overflow: hidden;
}

.autocomplete-selected {
  background: #f9f9f9;
}

.autocomplete-suggestions strong {
  font-weight: normal;
  color: #777777;
}

.autocomplete-group {
  padding: 2px 5px;
}

.autocomplete-group strong {
  display: block;
  border-bottom: 1px solid;
}

.form-group .iti {
  width: 100%;
}

.iti {
  position: relative;
  display: inline-block;
}
.iti * {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}
.iti__hide {
  display: none;
}
.iti__v-hide {
  visibility: hidden;
}
.iti input, .iti input[type=text], .iti input[type=tel] {
  position: relative;
  z-index: 0;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-right: 36px;
  margin-right: 0;
}
.iti__flag-container {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  padding: 1px;
}
.iti__selected-flag {
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 6px 0 8px;
}
.iti__arrow {
  margin-left: 6px;
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 4px solid #777777;
}
.iti__arrow--up {
  border-top: none;
  border-bottom: 4px solid #777777;
}
.iti__country-list {
  position: absolute;
  z-index: 2;
  list-style: none;
  text-align: left;
  padding: 0;
  margin: 0 0 0 -1px;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
  background-color: #ffffff;
  border: 1px solid #d9d9d9;
  white-space: nowrap;
  max-height: 200px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.iti__country-list--dropup {
  bottom: 100%;
  margin-bottom: -1px;
}
@media (max-width: 500px) {
  .iti__country-list {
    white-space: normal;
  }
}
.iti__flag-box {
  display: inline-block;
  width: 20px;
}
.iti__divider {
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 1px solid #d9d9d9;
}
.iti__country {
  padding: 5px 10px;
  outline: none;
}
.iti__dial-code {
  color: #777777;
}
.iti__country.iti__highlight {
  background-color: #f9f9f9;
}
.iti__flag-box, .iti__country-name, .iti__dial-code {
  vertical-align: middle;
}
.iti__flag-box, .iti__country-name {
  margin-right: 6px;
}
.iti--allow-dropdown input, .iti--allow-dropdown input[type=text], .iti--allow-dropdown input[type=tel], .iti--separate-dial-code input, .iti--separate-dial-code input[type=text], .iti--separate-dial-code input[type=tel] {
  padding-right: 6px;
  padding-left: 52px;
  margin-left: 0;
}
.iti--allow-dropdown .iti__flag-container, .iti--separate-dial-code .iti__flag-container {
  right: auto;
  left: 0;
}
.iti--allow-dropdown .iti__flag-container:hover {
  cursor: pointer;
}
.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
  background-color: #f9f9f9;
}
.iti--allow-dropdown input[disabled] + .iti__flag-container:hover,
.iti--allow-dropdown input[readonly] + .iti__flag-container:hover {
  cursor: default;
}
.iti--allow-dropdown input[disabled] + .iti__flag-container:hover .iti__selected-flag,
.iti--allow-dropdown input[readonly] + .iti__flag-container:hover .iti__selected-flag {
  background-color: transparent;
}
.iti--separate-dial-code .iti__selected-flag {
  background-color: #f9f9f9;
}
.iti--separate-dial-code .iti__selected-dial-code {
  margin-left: 6px;
}
.iti--container {
  position: absolute;
  top: -1000px;
  left: -1000px;
  z-index: 1060;
  padding: 1px;
}
.iti--container:hover {
  cursor: pointer;
}

.iti-mobile .iti--container {
  top: 30px;
  bottom: 30px;
  left: 30px;
  right: 30px;
  position: fixed;
}
.iti-mobile .iti__country-list {
  max-height: 100%;
  width: 100%;
}
.iti-mobile .iti__country {
  padding: 10px 10px;
  line-height: 1.5em;
}

.iti__flag {
  width: 20px;
}
.iti__flag.iti__be {
  width: 18px;
}
.iti__flag.iti__ch {
  width: 15px;
}
.iti__flag.iti__mc {
  width: 19px;
}
.iti__flag.iti__ne {
  width: 18px;
}
.iti__flag.iti__np {
  width: 13px;
}
.iti__flag.iti__va {
  width: 15px;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .iti__flag {
    background-size: 5652px 15px;
  }
}
.iti__flag.iti__ac {
  height: 10px;
  background-position: 0px 0px;
}
.iti__flag.iti__ad {
  height: 14px;
  background-position: -22px 0px;
}
.iti__flag.iti__ae {
  height: 10px;
  background-position: -44px 0px;
}
.iti__flag.iti__af {
  height: 14px;
  background-position: -66px 0px;
}
.iti__flag.iti__ag {
  height: 14px;
  background-position: -88px 0px;
}
.iti__flag.iti__ai {
  height: 10px;
  background-position: -110px 0px;
}
.iti__flag.iti__al {
  height: 15px;
  background-position: -132px 0px;
}
.iti__flag.iti__am {
  height: 10px;
  background-position: -154px 0px;
}
.iti__flag.iti__ao {
  height: 14px;
  background-position: -176px 0px;
}
.iti__flag.iti__aq {
  height: 14px;
  background-position: -198px 0px;
}
.iti__flag.iti__ar {
  height: 13px;
  background-position: -220px 0px;
}
.iti__flag.iti__as {
  height: 10px;
  background-position: -242px 0px;
}
.iti__flag.iti__at {
  height: 14px;
  background-position: -264px 0px;
}
.iti__flag.iti__au {
  height: 10px;
  background-position: -286px 0px;
}
.iti__flag.iti__aw {
  height: 14px;
  background-position: -308px 0px;
}
.iti__flag.iti__ax {
  height: 13px;
  background-position: -330px 0px;
}
.iti__flag.iti__az {
  height: 10px;
  background-position: -352px 0px;
}
.iti__flag.iti__ba {
  height: 10px;
  background-position: -374px 0px;
}
.iti__flag.iti__bb {
  height: 14px;
  background-position: -396px 0px;
}
.iti__flag.iti__bd {
  height: 12px;
  background-position: -418px 0px;
}
.iti__flag.iti__be {
  height: 15px;
  background-position: -440px 0px;
}
.iti__flag.iti__bf {
  height: 14px;
  background-position: -460px 0px;
}
.iti__flag.iti__bg {
  height: 12px;
  background-position: -482px 0px;
}
.iti__flag.iti__bh {
  height: 12px;
  background-position: -504px 0px;
}
.iti__flag.iti__bi {
  height: 12px;
  background-position: -526px 0px;
}
.iti__flag.iti__bj {
  height: 14px;
  background-position: -548px 0px;
}
.iti__flag.iti__bl {
  height: 14px;
  background-position: -570px 0px;
}
.iti__flag.iti__bm {
  height: 10px;
  background-position: -592px 0px;
}
.iti__flag.iti__bn {
  height: 10px;
  background-position: -614px 0px;
}
.iti__flag.iti__bo {
  height: 14px;
  background-position: -636px 0px;
}
.iti__flag.iti__bq {
  height: 14px;
  background-position: -658px 0px;
}
.iti__flag.iti__br {
  height: 14px;
  background-position: -680px 0px;
}
.iti__flag.iti__bs {
  height: 10px;
  background-position: -702px 0px;
}
.iti__flag.iti__bt {
  height: 14px;
  background-position: -724px 0px;
}
.iti__flag.iti__bv {
  height: 15px;
  background-position: -746px 0px;
}
.iti__flag.iti__bw {
  height: 14px;
  background-position: -768px 0px;
}
.iti__flag.iti__by {
  height: 10px;
  background-position: -790px 0px;
}
.iti__flag.iti__bz {
  height: 14px;
  background-position: -812px 0px;
}
.iti__flag.iti__ca {
  height: 10px;
  background-position: -834px 0px;
}
.iti__flag.iti__cc {
  height: 10px;
  background-position: -856px 0px;
}
.iti__flag.iti__cd {
  height: 15px;
  background-position: -878px 0px;
}
.iti__flag.iti__cf {
  height: 14px;
  background-position: -900px 0px;
}
.iti__flag.iti__cg {
  height: 14px;
  background-position: -922px 0px;
}
.iti__flag.iti__ch {
  height: 15px;
  background-position: -944px 0px;
}
.iti__flag.iti__ci {
  height: 14px;
  background-position: -961px 0px;
}
.iti__flag.iti__ck {
  height: 10px;
  background-position: -983px 0px;
}
.iti__flag.iti__cl {
  height: 14px;
  background-position: -1005px 0px;
}
.iti__flag.iti__cm {
  height: 14px;
  background-position: -1027px 0px;
}
.iti__flag.iti__cn {
  height: 14px;
  background-position: -1049px 0px;
}
.iti__flag.iti__co {
  height: 14px;
  background-position: -1071px 0px;
}
.iti__flag.iti__cp {
  height: 14px;
  background-position: -1093px 0px;
}
.iti__flag.iti__cr {
  height: 12px;
  background-position: -1115px 0px;
}
.iti__flag.iti__cu {
  height: 10px;
  background-position: -1137px 0px;
}
.iti__flag.iti__cv {
  height: 12px;
  background-position: -1159px 0px;
}
.iti__flag.iti__cw {
  height: 14px;
  background-position: -1181px 0px;
}
.iti__flag.iti__cx {
  height: 10px;
  background-position: -1203px 0px;
}
.iti__flag.iti__cy {
  height: 14px;
  background-position: -1225px 0px;
}
.iti__flag.iti__cz {
  height: 14px;
  background-position: -1247px 0px;
}
.iti__flag.iti__de {
  height: 12px;
  background-position: -1269px 0px;
}
.iti__flag.iti__dg {
  height: 10px;
  background-position: -1291px 0px;
}
.iti__flag.iti__dj {
  height: 14px;
  background-position: -1313px 0px;
}
.iti__flag.iti__dk {
  height: 15px;
  background-position: -1335px 0px;
}
.iti__flag.iti__dm {
  height: 10px;
  background-position: -1357px 0px;
}
.iti__flag.iti__do {
  height: 14px;
  background-position: -1379px 0px;
}
.iti__flag.iti__dz {
  height: 14px;
  background-position: -1401px 0px;
}
.iti__flag.iti__ea {
  height: 14px;
  background-position: -1423px 0px;
}
.iti__flag.iti__ec {
  height: 14px;
  background-position: -1445px 0px;
}
.iti__flag.iti__ee {
  height: 13px;
  background-position: -1467px 0px;
}
.iti__flag.iti__eg {
  height: 14px;
  background-position: -1489px 0px;
}
.iti__flag.iti__eh {
  height: 10px;
  background-position: -1511px 0px;
}
.iti__flag.iti__er {
  height: 10px;
  background-position: -1533px 0px;
}
.iti__flag.iti__es {
  height: 14px;
  background-position: -1555px 0px;
}
.iti__flag.iti__et {
  height: 10px;
  background-position: -1577px 0px;
}
.iti__flag.iti__eu {
  height: 14px;
  background-position: -1599px 0px;
}
.iti__flag.iti__fi {
  height: 12px;
  background-position: -1621px 0px;
}
.iti__flag.iti__fj {
  height: 10px;
  background-position: -1643px 0px;
}
.iti__flag.iti__fk {
  height: 10px;
  background-position: -1665px 0px;
}
.iti__flag.iti__fm {
  height: 11px;
  background-position: -1687px 0px;
}
.iti__flag.iti__fo {
  height: 15px;
  background-position: -1709px 0px;
}
.iti__flag.iti__fr {
  height: 14px;
  background-position: -1731px 0px;
}
.iti__flag.iti__ga {
  height: 15px;
  background-position: -1753px 0px;
}
.iti__flag.iti__gb {
  height: 10px;
  background-position: -1775px 0px;
}
.iti__flag.iti__gd {
  height: 12px;
  background-position: -1797px 0px;
}
.iti__flag.iti__ge {
  height: 14px;
  background-position: -1819px 0px;
}
.iti__flag.iti__gf {
  height: 14px;
  background-position: -1841px 0px;
}
.iti__flag.iti__gg {
  height: 14px;
  background-position: -1863px 0px;
}
.iti__flag.iti__gh {
  height: 14px;
  background-position: -1885px 0px;
}
.iti__flag.iti__gi {
  height: 10px;
  background-position: -1907px 0px;
}
.iti__flag.iti__gl {
  height: 14px;
  background-position: -1929px 0px;
}
.iti__flag.iti__gm {
  height: 14px;
  background-position: -1951px 0px;
}
.iti__flag.iti__gn {
  height: 14px;
  background-position: -1973px 0px;
}
.iti__flag.iti__gp {
  height: 14px;
  background-position: -1995px 0px;
}
.iti__flag.iti__gq {
  height: 14px;
  background-position: -2017px 0px;
}
.iti__flag.iti__gr {
  height: 14px;
  background-position: -2039px 0px;
}
.iti__flag.iti__gs {
  height: 10px;
  background-position: -2061px 0px;
}
.iti__flag.iti__gt {
  height: 13px;
  background-position: -2083px 0px;
}
.iti__flag.iti__gu {
  height: 11px;
  background-position: -2105px 0px;
}
.iti__flag.iti__gw {
  height: 10px;
  background-position: -2127px 0px;
}
.iti__flag.iti__gy {
  height: 12px;
  background-position: -2149px 0px;
}
.iti__flag.iti__hk {
  height: 14px;
  background-position: -2171px 0px;
}
.iti__flag.iti__hm {
  height: 10px;
  background-position: -2193px 0px;
}
.iti__flag.iti__hn {
  height: 10px;
  background-position: -2215px 0px;
}
.iti__flag.iti__hr {
  height: 10px;
  background-position: -2237px 0px;
}
.iti__flag.iti__ht {
  height: 12px;
  background-position: -2259px 0px;
}
.iti__flag.iti__hu {
  height: 10px;
  background-position: -2281px 0px;
}
.iti__flag.iti__ic {
  height: 14px;
  background-position: -2303px 0px;
}
.iti__flag.iti__id {
  height: 14px;
  background-position: -2325px 0px;
}
.iti__flag.iti__ie {
  height: 10px;
  background-position: -2347px 0px;
}
.iti__flag.iti__il {
  height: 15px;
  background-position: -2369px 0px;
}
.iti__flag.iti__im {
  height: 10px;
  background-position: -2391px 0px;
}
.iti__flag.iti__in {
  height: 14px;
  background-position: -2413px 0px;
}
.iti__flag.iti__io {
  height: 10px;
  background-position: -2435px 0px;
}
.iti__flag.iti__iq {
  height: 14px;
  background-position: -2457px 0px;
}
.iti__flag.iti__ir {
  height: 12px;
  background-position: -2479px 0px;
}
.iti__flag.iti__is {
  height: 15px;
  background-position: -2501px 0px;
}
.iti__flag.iti__it {
  height: 14px;
  background-position: -2523px 0px;
}
.iti__flag.iti__je {
  height: 12px;
  background-position: -2545px 0px;
}
.iti__flag.iti__jm {
  height: 10px;
  background-position: -2567px 0px;
}
.iti__flag.iti__jo {
  height: 10px;
  background-position: -2589px 0px;
}
.iti__flag.iti__jp {
  height: 14px;
  background-position: -2611px 0px;
}
.iti__flag.iti__ke {
  height: 14px;
  background-position: -2633px 0px;
}
.iti__flag.iti__kg {
  height: 12px;
  background-position: -2655px 0px;
}
.iti__flag.iti__kh {
  height: 13px;
  background-position: -2677px 0px;
}
.iti__flag.iti__ki {
  height: 10px;
  background-position: -2699px 0px;
}
.iti__flag.iti__km {
  height: 12px;
  background-position: -2721px 0px;
}
.iti__flag.iti__kn {
  height: 14px;
  background-position: -2743px 0px;
}
.iti__flag.iti__kp {
  height: 10px;
  background-position: -2765px 0px;
}
.iti__flag.iti__kr {
  height: 14px;
  background-position: -2787px 0px;
}
.iti__flag.iti__kw {
  height: 10px;
  background-position: -2809px 0px;
}
.iti__flag.iti__ky {
  height: 10px;
  background-position: -2831px 0px;
}
.iti__flag.iti__kz {
  height: 10px;
  background-position: -2853px 0px;
}
.iti__flag.iti__la {
  height: 14px;
  background-position: -2875px 0px;
}
.iti__flag.iti__lb {
  height: 14px;
  background-position: -2897px 0px;
}
.iti__flag.iti__lc {
  height: 10px;
  background-position: -2919px 0px;
}
.iti__flag.iti__li {
  height: 12px;
  background-position: -2941px 0px;
}
.iti__flag.iti__lk {
  height: 10px;
  background-position: -2963px 0px;
}
.iti__flag.iti__lr {
  height: 11px;
  background-position: -2985px 0px;
}
.iti__flag.iti__ls {
  height: 14px;
  background-position: -3007px 0px;
}
.iti__flag.iti__lt {
  height: 12px;
  background-position: -3029px 0px;
}
.iti__flag.iti__lu {
  height: 12px;
  background-position: -3051px 0px;
}
.iti__flag.iti__lv {
  height: 10px;
  background-position: -3073px 0px;
}
.iti__flag.iti__ly {
  height: 10px;
  background-position: -3095px 0px;
}
.iti__flag.iti__ma {
  height: 14px;
  background-position: -3117px 0px;
}
.iti__flag.iti__mc {
  height: 15px;
  background-position: -3139px 0px;
}
.iti__flag.iti__md {
  height: 10px;
  background-position: -3160px 0px;
}
.iti__flag.iti__me {
  height: 10px;
  background-position: -3182px 0px;
}
.iti__flag.iti__mf {
  height: 14px;
  background-position: -3204px 0px;
}
.iti__flag.iti__mg {
  height: 14px;
  background-position: -3226px 0px;
}
.iti__flag.iti__mh {
  height: 11px;
  background-position: -3248px 0px;
}
.iti__flag.iti__mk {
  height: 10px;
  background-position: -3270px 0px;
}
.iti__flag.iti__ml {
  height: 14px;
  background-position: -3292px 0px;
}
.iti__flag.iti__mm {
  height: 14px;
  background-position: -3314px 0px;
}
.iti__flag.iti__mn {
  height: 10px;
  background-position: -3336px 0px;
}
.iti__flag.iti__mo {
  height: 14px;
  background-position: -3358px 0px;
}
.iti__flag.iti__mp {
  height: 10px;
  background-position: -3380px 0px;
}
.iti__flag.iti__mq {
  height: 14px;
  background-position: -3402px 0px;
}
.iti__flag.iti__mr {
  height: 14px;
  background-position: -3424px 0px;
}
.iti__flag.iti__ms {
  height: 10px;
  background-position: -3446px 0px;
}
.iti__flag.iti__mt {
  height: 14px;
  background-position: -3468px 0px;
}
.iti__flag.iti__mu {
  height: 14px;
  background-position: -3490px 0px;
}
.iti__flag.iti__mv {
  height: 14px;
  background-position: -3512px 0px;
}
.iti__flag.iti__mw {
  height: 14px;
  background-position: -3534px 0px;
}
.iti__flag.iti__mx {
  height: 12px;
  background-position: -3556px 0px;
}
.iti__flag.iti__my {
  height: 10px;
  background-position: -3578px 0px;
}
.iti__flag.iti__mz {
  height: 14px;
  background-position: -3600px 0px;
}
.iti__flag.iti__na {
  height: 14px;
  background-position: -3622px 0px;
}
.iti__flag.iti__nc {
  height: 10px;
  background-position: -3644px 0px;
}
.iti__flag.iti__ne {
  height: 15px;
  background-position: -3666px 0px;
}
.iti__flag.iti__nf {
  height: 10px;
  background-position: -3686px 0px;
}
.iti__flag.iti__ng {
  height: 10px;
  background-position: -3708px 0px;
}
.iti__flag.iti__ni {
  height: 12px;
  background-position: -3730px 0px;
}
.iti__flag.iti__nl {
  height: 14px;
  background-position: -3752px 0px;
}
.iti__flag.iti__no {
  height: 15px;
  background-position: -3774px 0px;
}
.iti__flag.iti__np {
  height: 15px;
  background-position: -3796px 0px;
}
.iti__flag.iti__nr {
  height: 10px;
  background-position: -3811px 0px;
}
.iti__flag.iti__nu {
  height: 10px;
  background-position: -3833px 0px;
}
.iti__flag.iti__nz {
  height: 10px;
  background-position: -3855px 0px;
}
.iti__flag.iti__om {
  height: 10px;
  background-position: -3877px 0px;
}
.iti__flag.iti__pa {
  height: 14px;
  background-position: -3899px 0px;
}
.iti__flag.iti__pe {
  height: 14px;
  background-position: -3921px 0px;
}
.iti__flag.iti__pf {
  height: 14px;
  background-position: -3943px 0px;
}
.iti__flag.iti__pg {
  height: 15px;
  background-position: -3965px 0px;
}
.iti__flag.iti__ph {
  height: 10px;
  background-position: -3987px 0px;
}
.iti__flag.iti__pk {
  height: 14px;
  background-position: -4009px 0px;
}
.iti__flag.iti__pl {
  height: 13px;
  background-position: -4031px 0px;
}
.iti__flag.iti__pm {
  height: 14px;
  background-position: -4053px 0px;
}
.iti__flag.iti__pn {
  height: 10px;
  background-position: -4075px 0px;
}
.iti__flag.iti__pr {
  height: 14px;
  background-position: -4097px 0px;
}
.iti__flag.iti__ps {
  height: 10px;
  background-position: -4119px 0px;
}
.iti__flag.iti__pt {
  height: 14px;
  background-position: -4141px 0px;
}
.iti__flag.iti__pw {
  height: 13px;
  background-position: -4163px 0px;
}
.iti__flag.iti__py {
  height: 11px;
  background-position: -4185px 0px;
}
.iti__flag.iti__qa {
  height: 8px;
  background-position: -4207px 0px;
}
.iti__flag.iti__re {
  height: 14px;
  background-position: -4229px 0px;
}
.iti__flag.iti__ro {
  height: 14px;
  background-position: -4251px 0px;
}
.iti__flag.iti__rs {
  height: 14px;
  background-position: -4273px 0px;
}
.iti__flag.iti__ru {
  height: 14px;
  background-position: -4295px 0px;
}
.iti__flag.iti__rw {
  height: 14px;
  background-position: -4317px 0px;
}
.iti__flag.iti__sa {
  height: 14px;
  background-position: -4339px 0px;
}
.iti__flag.iti__sb {
  height: 10px;
  background-position: -4361px 0px;
}
.iti__flag.iti__sc {
  height: 10px;
  background-position: -4383px 0px;
}
.iti__flag.iti__sd {
  height: 10px;
  background-position: -4405px 0px;
}
.iti__flag.iti__se {
  height: 13px;
  background-position: -4427px 0px;
}
.iti__flag.iti__sg {
  height: 14px;
  background-position: -4449px 0px;
}
.iti__flag.iti__sh {
  height: 10px;
  background-position: -4471px 0px;
}
.iti__flag.iti__si {
  height: 10px;
  background-position: -4493px 0px;
}
.iti__flag.iti__sj {
  height: 15px;
  background-position: -4515px 0px;
}
.iti__flag.iti__sk {
  height: 14px;
  background-position: -4537px 0px;
}
.iti__flag.iti__sl {
  height: 14px;
  background-position: -4559px 0px;
}
.iti__flag.iti__sm {
  height: 15px;
  background-position: -4581px 0px;
}
.iti__flag.iti__sn {
  height: 14px;
  background-position: -4603px 0px;
}
.iti__flag.iti__so {
  height: 14px;
  background-position: -4625px 0px;
}
.iti__flag.iti__sr {
  height: 14px;
  background-position: -4647px 0px;
}
.iti__flag.iti__ss {
  height: 10px;
  background-position: -4669px 0px;
}
.iti__flag.iti__st {
  height: 10px;
  background-position: -4691px 0px;
}
.iti__flag.iti__sv {
  height: 12px;
  background-position: -4713px 0px;
}
.iti__flag.iti__sx {
  height: 14px;
  background-position: -4735px 0px;
}
.iti__flag.iti__sy {
  height: 14px;
  background-position: -4757px 0px;
}
.iti__flag.iti__sz {
  height: 14px;
  background-position: -4779px 0px;
}
.iti__flag.iti__ta {
  height: 10px;
  background-position: -4801px 0px;
}
.iti__flag.iti__tc {
  height: 10px;
  background-position: -4823px 0px;
}
.iti__flag.iti__td {
  height: 14px;
  background-position: -4845px 0px;
}
.iti__flag.iti__tf {
  height: 14px;
  background-position: -4867px 0px;
}
.iti__flag.iti__tg {
  height: 13px;
  background-position: -4889px 0px;
}
.iti__flag.iti__th {
  height: 14px;
  background-position: -4911px 0px;
}
.iti__flag.iti__tj {
  height: 10px;
  background-position: -4933px 0px;
}
.iti__flag.iti__tk {
  height: 10px;
  background-position: -4955px 0px;
}
.iti__flag.iti__tl {
  height: 10px;
  background-position: -4977px 0px;
}
.iti__flag.iti__tm {
  height: 14px;
  background-position: -4999px 0px;
}
.iti__flag.iti__tn {
  height: 14px;
  background-position: -5021px 0px;
}
.iti__flag.iti__to {
  height: 10px;
  background-position: -5043px 0px;
}
.iti__flag.iti__tr {
  height: 14px;
  background-position: -5065px 0px;
}
.iti__flag.iti__tt {
  height: 12px;
  background-position: -5087px 0px;
}
.iti__flag.iti__tv {
  height: 10px;
  background-position: -5109px 0px;
}
.iti__flag.iti__tw {
  height: 14px;
  background-position: -5131px 0px;
}
.iti__flag.iti__tz {
  height: 14px;
  background-position: -5153px 0px;
}
.iti__flag.iti__ua {
  height: 14px;
  background-position: -5175px 0px;
}
.iti__flag.iti__ug {
  height: 14px;
  background-position: -5197px 0px;
}
.iti__flag.iti__um {
  height: 11px;
  background-position: -5219px 0px;
}
.iti__flag.iti__un {
  height: 14px;
  background-position: -5241px 0px;
}
.iti__flag.iti__us {
  height: 11px;
  background-position: -5263px 0px;
}
.iti__flag.iti__uy {
  height: 14px;
  background-position: -5285px 0px;
}
.iti__flag.iti__uz {
  height: 10px;
  background-position: -5307px 0px;
}
.iti__flag.iti__va {
  height: 15px;
  background-position: -5329px 0px;
}
.iti__flag.iti__vc {
  height: 14px;
  background-position: -5346px 0px;
}
.iti__flag.iti__ve {
  height: 14px;
  background-position: -5368px 0px;
}
.iti__flag.iti__vg {
  height: 10px;
  background-position: -5390px 0px;
}
.iti__flag.iti__vi {
  height: 14px;
  background-position: -5412px 0px;
}
.iti__flag.iti__vn {
  height: 14px;
  background-position: -5434px 0px;
}
.iti__flag.iti__vu {
  height: 12px;
  background-position: -5456px 0px;
}
.iti__flag.iti__wf {
  height: 14px;
  background-position: -5478px 0px;
}
.iti__flag.iti__ws {
  height: 10px;
  background-position: -5500px 0px;
}
.iti__flag.iti__xk {
  height: 15px;
  background-position: -5522px 0px;
}
.iti__flag.iti__ye {
  height: 14px;
  background-position: -5544px 0px;
}
.iti__flag.iti__yt {
  height: 14px;
  background-position: -5566px 0px;
}
.iti__flag.iti__za {
  height: 14px;
  background-position: -5588px 0px;
}
.iti__flag.iti__zm {
  height: 14px;
  background-position: -5610px 0px;
}
.iti__flag.iti__zw {
  height: 10px;
  background-position: -5632px 0px;
}

.iti__flag {
  height: 15px;
  box-shadow: 0px 0px 1px 0px #888;
  background-image: url("../images/intltelinput/flags.png");
  background-repeat: no-repeat;
  background-color: #DBDBDB;
  background-position: 20px 0;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .iti__flag {
    background-image: url("../images/intltelinput/flags@2x.png");
  }
}

.iti__flag.iti__np {
  background-color: transparent;
}

html {
  height: 100%;
  position: relative;
}

body {
  height: 100%;
}

#footer {
  bottom: 0;
  width: 100%;
  border-top: 1px solid #999999;
  padding-top: 10px;
  height: 30px;
}

.content {
  margin-top: 10px;
}

.admin-layout > .content {
  min-height: 100%;
  margin-top: 0;
  margin-bottom: -40px;
  padding-top: 80px;
}
.admin-layout > .content:after {
  content: "";
  display: block;
  height: 30px;
  width: 100%;
}

/*
.date {
  font-size: 0.65em;
}
.time {
  font-size: 0.85em;
}
*/
.on {
  color: green !important;
}

[data-device=status],
.device-status,
.status {
  display: inline-block;
  vertical-align: middle;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #dddddd;
  border: 1px solid #dddddd;
  text-indent: 999999px;
  overflow: hidden;
}

[data-device=engine],
[data-device=detect_engine] {
  font-size: 1.3em;
  line-height: 1;
}

[data-toggle=scroll] {
  width: 100%;
  height: 30px;
}

#sidebar [data-device=speed] {
  color: #999999;
  font-size: 0.9em;
}

.action-icon {
  position: relative;
  display: inline-block;
  border-radius: 50%;
  line-height: 17px;
  width: 19px;
  height: 19px;
  text-align: center;
  font-size: 9px;
  font-weight: bold;
  background: #fff;
  border: 1px solid #cccccc;
  color: #000;
}
.event-action .action-icon {
  background: #ea4f4f;
  color: #fff;
  border-color: #ea4f4f;
}
.park-action .action-icon {
  background: #848484;
  color: #fff;
  border-color: #848484;
}
.drive-action .action-icon {
  background: #1b99bd;
  color: #fff;
  border-color: #1b99bd;
}

.datetime .date,
.datetime .time {
  white-space: nowrap;
}

.center-vertical {
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.scrollbox, .scrollbox-vertical, .scrollbox-vertical-large, .scrollbox-large {
  overflow: auto;
  max-height: 250px;
}
.scrollbox > .table, .scrollbox-vertical > .table, .scrollbox-vertical-large > .table, .scrollbox-large > .table {
  margin-bottom: 0;
}

.scrollbox-large {
  max-height: 385px;
}

.scrollbox-vertical, .scrollbox-vertical-large {
  overflow-x: hidden;
}

.scrollbox-vertical-large {
  max-height: 385px;
}

.icon-list .radio,
.icon-list .radio-inline,
.icon-list .checkbox,
.icon-list .checkbox-inline {
  margin: 0;
}
.icon-list .radio > label,
.icon-list .radio-inline > label,
.icon-list .checkbox > label,
.icon-list .checkbox-inline > label,
.icon-list .group .checkbox > label,
.icon-list .table .checkbox > label {
  padding: 7px;
}
.icon-list .radio > label:before, .icon-list .radio > label:after,
.icon-list .radio-inline > label:before,
.icon-list .radio-inline > label:after,
.icon-list .checkbox > label:before,
.icon-list .checkbox > label:after,
.icon-list .checkbox-inline > label:before,
.icon-list .group .checkbox > label:before,
.icon-list .table .checkbox > label:before,
.icon-list .checkbox-inline > label:after,
.icon-list .group .checkbox > label:after,
.icon-list .table .checkbox > label:after {
  display: none;
}
.icon-list .radio input:checked + label,
.icon-list .radio-inline input:checked + label,
.icon-list .checkbox input:checked + label,
.icon-list .checkbox-inline input:checked + label {
  background: #1b99bd;
}

.action-block {
  margin-bottom: 10px;
}
.ui-sortable-handle {
  cursor: move;
}

.lang-list .lang-item .btn {
  text-align: left;
}

.p-relative {
  position: relative !important;
}

.img-full-width {
  min-width: 100%;
  max-width: 100%;
}

#mapForPhoto {
  height: 140px;
  width: 100%;
}

#requestPhoto .attributes {
  display: inline-block;
  vertical-align: middle;
}
#requestPhoto .attributes .form-group > label {
  display: none;
}

.row.no-padding, .no-padding.plans, .no-padding.checkboxes {
  margin-right: 0;
  margin-left: 0;
}
.row.no-padding > [class^=col-], .no-padding.plans > [class^=col-], .no-padding.checkboxes > [class^=col-] {
  padding-left: 0;
  padding-right: 0;
}

.tooltip-mark {
  display: inline-block;
  min-width: 6px;
  padding: 2px 5px;
  font-size: 10px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: top;
  white-space: nowrap;
  text-align: center;
  background-color: #dddddd;
  border-radius: 10px;
}

.tooltip.tooltip-img .tooltip-inner {
  border: 0;
  padding: 0;
  background: transparent;
}

.tooltip.tooltip-imei .tooltip-inner {
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: initial;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  -o-background-size: contain;
  background-size: contain;
  max-width: 360px;
  width: 360px;
  height: 196px;
  background-color: transparent;
  display: table;
}
.tooltip.tooltip-imei .tooltip-inner .text {
  font-size: 14px;
  font-weight: 300;
  color: #202020;
  display: table-cell;
  vertical-align: middle;
  padding-left: 20px;
  padding-right: 130px;
}

img {
  opacity: 1;
  transition: opacity 0.3s;
}

img[data-src] {
  opacity: 0;
}

.checklist-status.complete {
  color: green;
}
.checklist-status.incomplete {
  color: red;
}

.checklist-row-activity {
  white-space: pre-wrap;
}

.has-feedback .form-control-feedback, .has-feedback .form-group.search:before,
.has-feedback .bs-searchbox:before {
  line-height: 31px;
}

.icon + .text {
  vertical-align: middle;
  margin-left: 5px;
}

img.sensor-icon {
  max-width: 25px;
  max-height: 25px;
}

.icon-fa:before, .icon.route_type:before, .icon.custom-field:before, .icon.call_action:before, .icon.photo:before, .icon.qrcode:before, .icon.pre-checklist:before, .icon.checklist:before, .icon.unlock:before, .icon.lock:before, .icon.vin:before, .icon.device-distance:before, .icon.logout:before, .icon.rfid:before, .icon.driver:before, .icon.admin:before, .icon.time:before, .icon.calendar:before, .icon.filter:before, .icon.multi-edit:before, .icon.map-expand:before, .icon.map-change:before, .icon.lookup:before, .icon.globe:before, .icon.stop:before, .icon.pause:before, .icon.play:before, .icon.dashboard:before, .icon.money:before, .icon.trash:before, .icon.reset:before, .icon.restart:before, .icon.email:before, .icon.eye:before, .icon.forwards:before, .icon.send:before, .icon.external-link:before, .icon.sharing:before, .icon.chat:before {
  font-family: "FontAwesome";
}

.ico.ico-object-arrow, .group-heading > .ico-object-arrow.group-title:after, .table.table-list .ico-object-arrow.sorting:before, .table.table-list .ico-object-arrow.sorting:after,
.table.table-list .ico-object-arrow.sorting_desc:before,
.table.table-list .ico-object-arrow.sorting_desc:after,
.table.table-list .ico-object-arrow.sorting_asc:before,
.table.table-list .ico-object-arrow.sorting_asc:after, .btn-collapse i.ico-object-arrow, .ico-object-arrow.icon {
  font-size: 25px;
  text-shadow: 0px 0px 2px #d9d9d9;
}

.icon.gsm-0, .icon.gsm-1, .icon.gsm-2, .icon.gsm-3, .icon.gsm-4, .icon.gsm-5, .icon.battery-0, .icon.battery-1, .icon.battery-2, .icon.battery-3, .icon.battery-4, .icon.battery-5 {
  position: relative;
  font-size: 1.8em;
  color: inherit;
}
.icon.gsm-0:before, .icon.gsm-1:before, .icon.gsm-2:before, .icon.gsm-3:before, .icon.gsm-4:before, .icon.gsm-5:before, .icon.battery-0:before, .icon.battery-1:before, .icon.battery-2:before, .icon.battery-3:before, .icon.battery-4:before, .icon.battery-5:before {
  color: green;
  position: absolute;
}
.icon.gsm-0:after, .icon.gsm-1:after, .icon.gsm-2:after, .icon.gsm-3:after, .icon.gsm-4:after, .icon.gsm-5:after {
  content: "";
}
.icon.gsm-1:before {
  content: "";
}
.icon.gsm-2:before {
  content: "";
}
.icon.gsm-3:before {
  content: "";
}
.icon.gsm-4:before {
  content: "";
}
.icon.gsm-5:before {
  content: "";
}
.icon.battery:after, .icon.battery-0:after, .icon.battery-1:after, .icon.battery-2:after, .icon.battery-3:after, .icon.battery-4:after, .icon.battery-5:after {
  content: "";
}
.icon.battery:before {
  content: "";
}
.icon.battery.battery-0:before {
  content: "";
}
.icon.battery.battery-1:before {
  content: "";
}
.icon.battery.battery-2:before {
  content: "";
}
.icon.battery.battery-3:before {
  content: "";
}
.icon.battery.battery-4:before {
  content: "";
}
.icon.battery.battery-5:before {
  content: "";
}

.navbar-nav > li.language-selection > a {
  padding-top: 10px;
  padding-bottom: 10px;
}

.navbar-brand img {
  height: 100%;
}

.navbar-toggle {
  padding: 6px 5px;
  margin-top: 7.5px;
  margin-bottom: 7.5px;
}

#header.folded {
  position: relative;
  z-index: 1000;
}
@media (min-width: 500px) {
  #header.folded .navbar-nav > li > a .icon + .text {
    display: none;
  }
  #header.folded .navbar-nav > li > a > .badge {
    position: absolute;
    top: 5px;
    right: 0;
  }
  #header.folded .navbar-toggle {
    display: none;
  }
  #header.folded .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
}
@media (min-width: 768px) {
  #header.folded:before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 10px;
    background-color: #ffffff;
    z-index: 1;
  }
  #header.folded .navbar {
    background-color: transparent;
    border-color: transparent;
  }
  #header.folded .navbar .navbar-brand,
#header.folded .navbar .navbar-nav {
    position: relative;
    background-color: #ffffff;
    border-bottom: 1px solid #d9d9d9;
  }
  #header.folded .navbar .navbar-brand {
    max-width: 300px;
  }
  #header.folded .navbar .navbar-brand:after, #header.folded .navbar .navbar-brand:before {
    content: " ";
    display: block;
    position: absolute;
    bottom: 0;
    left: 100%;
    width: 0;
    height: 0;
    z-index: 1;
    border-bottom: 33px solid transparent;
  }
  #header.folded .navbar .navbar-brand:before {
    border-left: 90px solid #d9d9d9;
  }
  #header.folded .navbar .navbar-brand:after {
    border-left: 90px solid #ffffff;
    margin-left: -1px;
  }
  #header.folded .navbar .navbar-nav:after, #header.folded .navbar .navbar-nav:before {
    content: " ";
    display: block;
    position: absolute;
    bottom: 0;
    right: 100%;
    width: 0;
    height: 0;
    z-index: 1;
    border-bottom: 35px solid transparent;
  }
  #header.folded .navbar .navbar-nav:before {
    border-right: 90px solid #d9d9d9;
  }
  #header.folded .navbar .navbar-nav:after {
    border-right: 90px solid #ffffff;
    margin-right: -1px;
  }
}

#header .main-navbar {
  position: absolute;
}
#header .navbar-nav > li > a > .badge {
  background-color: #d9534f;
}
@media (min-width: 500px) and (max-width: 767px) {
  #header .navbar-header {
    float: left;
  }
  #header .navbar-right {
    float: right !important;
  }
  #header .navbar-nav {
    margin-top: 0;
    margin-bottom: 0;
    float: left;
  }
  #header .navbar-nav > li {
    float: left;
  }
  #header .navbar-nav > li > a {
    padding-top: 12.5px;
    padding-bottom: 12.5px;
  }
  #header .navbar-nav > li > a .icon + .text {
    display: none;
  }
  #header .navbar-nav > li.language-selection > a {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .admin-layout .header .navbar-nav li > a > .icon {
    display: none;
  }
}

.scrollbar::-webkit-scrollbar, #dashboard .dashboard-block .panel.panel-default .panel-body::-webkit-scrollbar, #dashboard .dashboard-block #widgets .panel.widget .panel-body::-webkit-scrollbar, #widgets #dashboard .dashboard-block .panel.widget .panel-body::-webkit-scrollbar, #dashboard .dashboard-block .plan .panel-body::-webkit-scrollbar, #dashboard .dashboard-block .panel.panel-default #widgets .widget-body::-webkit-scrollbar, #widgets #dashboard .dashboard-block .panel.panel-default .widget-body::-webkit-scrollbar, #dashboard .dashboard-block #widgets .panel.widget .widget-body::-webkit-scrollbar, #widgets #dashboard .dashboard-block .panel.widget .widget-body::-webkit-scrollbar, #dashboard .dashboard-block #widgets .plan.widget .widget-body::-webkit-scrollbar, #dashboard .dashboard-block .plan #widgets .widget-body::-webkit-scrollbar, #widgets #dashboard .dashboard-block .plan .widget-body::-webkit-scrollbar, .plan #dashboard .dashboard-block .panel.panel-default .plan-body::-webkit-scrollbar, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-body::-webkit-scrollbar, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-body::-webkit-scrollbar, #dashboard .dashboard-block .plan .plan-body::-webkit-scrollbar, .messages::-webkit-scrollbar, #widgets .widget-body::-webkit-scrollbar, #widgets .widgets-content::-webkit-scrollbar, .dropdown-menu::-webkit-scrollbar, .leaflet-control-layers .leaflet-control-layers-list::-webkit-scrollbar, .sidebar .tab-pane-body::-webkit-scrollbar, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner::-webkit-scrollbar, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner::-webkit-scrollbar, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar, .iti__country-list::-webkit-scrollbar, .scrollbox::-webkit-scrollbar, .scrollbox-large::-webkit-scrollbar, .scrollbox-vertical::-webkit-scrollbar, .scrollbox-vertical-large::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.scrollbar::-webkit-scrollbar-track, #dashboard .dashboard-block .panel.panel-default .panel-body::-webkit-scrollbar-track, #dashboard .dashboard-block #widgets .panel.widget .panel-body::-webkit-scrollbar-track, #widgets #dashboard .dashboard-block .panel.widget .panel-body::-webkit-scrollbar-track, #dashboard .dashboard-block .plan .panel-body::-webkit-scrollbar-track, #dashboard .dashboard-block .panel.panel-default #widgets .widget-body::-webkit-scrollbar-track, #widgets #dashboard .dashboard-block .panel.panel-default .widget-body::-webkit-scrollbar-track, #dashboard .dashboard-block #widgets .panel.widget .widget-body::-webkit-scrollbar-track, #widgets #dashboard .dashboard-block .panel.widget .widget-body::-webkit-scrollbar-track, #dashboard .dashboard-block #widgets .plan.widget .widget-body::-webkit-scrollbar-track, #dashboard .dashboard-block .plan #widgets .widget-body::-webkit-scrollbar-track, #widgets #dashboard .dashboard-block .plan .widget-body::-webkit-scrollbar-track, .plan #dashboard .dashboard-block .panel.panel-default .plan-body::-webkit-scrollbar-track, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-body::-webkit-scrollbar-track, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-body::-webkit-scrollbar-track, #dashboard .dashboard-block .plan .plan-body::-webkit-scrollbar-track, .messages::-webkit-scrollbar-track, #widgets .widget-body::-webkit-scrollbar-track, #widgets .widgets-content::-webkit-scrollbar-track, .dropdown-menu::-webkit-scrollbar-track, .leaflet-control-layers .leaflet-control-layers-list::-webkit-scrollbar-track, .sidebar .tab-pane-body::-webkit-scrollbar-track, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner::-webkit-scrollbar-track, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner::-webkit-scrollbar-track, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar-track, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar-track, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-track, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-track, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-track, .iti__country-list::-webkit-scrollbar-track, .scrollbox::-webkit-scrollbar-track, .scrollbox-large::-webkit-scrollbar-track, .scrollbox-vertical::-webkit-scrollbar-track, .scrollbox-vertical-large::-webkit-scrollbar-track {
  background: #f9f9f9;
  border: 1px solid #ffffff;
}
.scrollbar::-webkit-scrollbar-thumb, #dashboard .dashboard-block .panel.panel-default .panel-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block #widgets .panel.widget .panel-body::-webkit-scrollbar-thumb, #widgets #dashboard .dashboard-block .panel.widget .panel-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block .plan .panel-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block .panel.panel-default #widgets .widget-body::-webkit-scrollbar-thumb, #widgets #dashboard .dashboard-block .panel.panel-default .widget-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block #widgets .panel.widget .widget-body::-webkit-scrollbar-thumb, #widgets #dashboard .dashboard-block .panel.widget .widget-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block #widgets .plan.widget .widget-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block .plan #widgets .widget-body::-webkit-scrollbar-thumb, #widgets #dashboard .dashboard-block .plan .widget-body::-webkit-scrollbar-thumb, .plan #dashboard .dashboard-block .panel.panel-default .plan-body::-webkit-scrollbar-thumb, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-body::-webkit-scrollbar-thumb, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block .plan .plan-body::-webkit-scrollbar-thumb, .messages::-webkit-scrollbar-thumb, #widgets .widget-body::-webkit-scrollbar-thumb, #widgets .widgets-content::-webkit-scrollbar-thumb, .dropdown-menu::-webkit-scrollbar-thumb, .leaflet-control-layers .leaflet-control-layers-list::-webkit-scrollbar-thumb, .sidebar .tab-pane-body::-webkit-scrollbar-thumb, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner::-webkit-scrollbar-thumb, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner::-webkit-scrollbar-thumb, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar-thumb, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar-thumb, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-thumb, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-thumb, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-thumb, .iti__country-list::-webkit-scrollbar-thumb, .scrollbox::-webkit-scrollbar-thumb, .scrollbox-large::-webkit-scrollbar-thumb, .scrollbox-vertical::-webkit-scrollbar-thumb, .scrollbox-vertical-large::-webkit-scrollbar-thumb {
  background: #dddddd;
  border: 1px solid #ffffff;
}

body {
  scrollbar-face-color: #f9f9f9;
  scrollbar-track-color: #dddddd;
}

.sidebar {
  position: absolute;
  z-index: 999;
  bottom: 0;
  max-height: 90%;
  max-height: -webkit-calc(100% - 100px);
  max-height: -moz-calc(100% - 100px);
  max-height: -o-calc(100% - 100px);
  max-height: calc(100% - 100px);
  height: 100%;
  width: 250px;
}
.sidebar.left {
  left: 0;
}
.sidebar.left .sidebar-content {
  border-right: 1px solid #d9d9d9;
}
.sidebar.right {
  right: 0;
}
.sidebar.right .sidebar-content {
  border-left: 1px solid #d9d9d9;
}
@media (min-width: 768px) {
  .sidebar {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .sidebar {
    width: 330px;
  }
}
.sidebar.collapsed, #widgets.collapsed .sidebar.btn-collapse, .sidebar.collapsed #widgets.btn-collapse .sidebar.btn-collapse, .sidebar.collapsed .sidebar.btn-collapse {
  width: 0;
  -webkit-transition: width 0.5s ease;
  -o-transition: width 0.5s ease;
  transition: width 0.5s ease;
}
.sidebar.collapsed .sidebar-content, #widgets.collapsed .sidebar.btn-collapse .sidebar-content, .sidebar.collapsed #widgets.btn-collapse .sidebar.btn-collapse .sidebar-content {
  overflow: hidden;
}
.sidebar.collapsed .sidebar-content .group, #widgets.collapsed .sidebar.btn-collapse .sidebar-content .group, .sidebar.collapsed #widgets.btn-collapse .sidebar.btn-collapse .sidebar-content .group {
  display: none;
}
.sidebar .sidebar-content {
  background: #ffffff;
  width: 100%;
  height: 100%;
  max-width: 100%;
}
.sidebar .nav-tabs > li {
  display: table-cell;
  width: 1%;
  float: none;
}
.sidebar .nav-tabs > li > a {
  text-align: center;
}
.sidebar .tab-pane-header {
  padding: 8px 10px;
}
.sidebar .tab-pane-body {
  overflow-y: auto;
  position: relative;
  padding: 0;
}
.sidebar .tab-pane-footer {
  padding: 8px 10px;
}
.sidebar .no-results {
  margin: 5px;
  text-align: center;
}
.sidebar #events_tab .datetime .time,
.sidebar #events_tab .datetime .date {
  display: block;
  font-size: 0.9em;
}
.sidebar #events_tab .tab-pane-body > table > thead > tr > th:first-child,
.sidebar #events_tab .tab-pane-body > table > thead > tr > td:first-child {
  padding-left: 10px;
}
.sidebar #events_tab .tab-pane-body > table > thead > tr > th:last-child,
.sidebar #events_tab .tab-pane-body > table > thead > tr > td:last-child {
  padding-right: 10px;
}
.sidebar #geofencing_create .tab-pane-body,
.sidebar #geofencing_edit .tab-pane-body,
.sidebar #routes_create .tab-pane-body,
.sidebar #routes_edit .tab-pane-body,
.sidebar #pois_create .tab-pane-body,
.sidebar #pois_edit .tab-pane-body {
  padding: 8px 10px;
}

.history {
  padding: 5px 0;
  background-color: #f9f9f9;
  -moz-box-shadow: inset 0 10px 10px -10px #cccccc, inset 0 -10px 10px -10px #cccccc;
  -webkit-box-shadow: inset 0 10px 10px -10px #cccccc, inset 0 -10px 10px -10px #cccccc;
  box-shadow: inset 0 10px 10px -10px #cccccc, inset 0 -10px 10px -10px #cccccc;
}
.history .table {
  margin-bottom: 0;
}
.history .table tr.active > td {
  background: #ffffff;
}
.history .badge-history {
  display: inline-block;
  min-width: 14px;
  padding: 1px;
  font-size: 10px;
  font-weight: 400;
  color: #666666;
  background-color: #ffffff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  border: inherit;
  border-radius: 5px;
  position: absolute;
  top: 60%;
}

#ajax-events .table tbody,
#ajax-history .table tbody {
  font-size: 11px;
}

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

.nav-tabs > li > a {
  margin-right: -1px;
}
.nav-tabs > li > a.has-error {
  color: #a94442;
  background: #f2dede;
}
.nav-tabs > li > a.disabled {
  opacity: 0.7;
  filter: alpha(opacity=70);
  cursor: not-allowed;
}
.nav-tabs > li:last-child {
  padding-right: 1px;
}
.nav-tabs.nav-tabs-center {
  text-align: center;
}
.nav-tabs.nav-tabs-center > li {
  float: none;
  display: inline-block;
  zoom: 1;
}
.nav-tabs.nav-transparent {
  background-color: inherit;
}
.nav-tabs.nav-transparent > li > a {
  color: #202020;
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs.nav-transparent > li.active > a {
  color: #1b99bd;
}
.nav-tabs.nav-transparent > li.active:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 3px;
  left: 0;
  bottom: 0px;
  background: #1b99bd;
  box-sizing: border-box;
}

.nav-default {
  font-weight: normal;
  background-color: #f9f9f9;
}
.nav-default > li > a {
  color: #777777;
  background-color: #eeeeee;
  border-color: transparent;
  border-radius: 0 0 0 0;
}
.nav-default > li.complete > a, .nav-default > li.complete > a:hover, .nav-default > li.complete > a:focus {
  color: #202020;
  background-color: #ffffff;
  cursor: default;
}
.nav-default > li.active:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 3px;
  left: 0;
  bottom: 0px;
  background: #1b99bd;
  box-sizing: border-box;
}

.nav-background, .nav-icons {
  background-color: inherit;
}
.nav-background > li > a, .nav-icons > li > a {
  line-height: 38px;
  padding-top: 0;
  padding-bottom: 0;
  color: #777777;
}
.nav-background > li > a:hover, .nav-icons > li > a:hover {
  color: #1b99bd;
}
.nav-background > li.active > a, .nav-icons > li.active > a {
  color: #1b99bd;
}

.nav-icons > li > a {
  font-size: 1.5em;
}

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

.navbar-default {
  font-size: 13px;
}
.navbar-default .navbar-brand {
  padding: 5px 15px;
}
.navbar-default .navbar-brand img {
  max-height: 100%;
}
.navbar-default .navbar-nav > li > a > .icon {
  color: #dddddd;
}
.navbar-default .navbar-nav > li.active > a > .icon, .navbar-default .navbar-nav > li:hover > a > .icon {
  color: inherit;
}
.navbar-default .navbar-nav > li > a .icon {
  vertical-align: middle;
  font-size: 1.1em;
}

.coll:before {
  content: " ";
  display: block;
  width: 100%;
  height: 8px;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  z-index: 1;
}
.coll .navbar-default {
  height: 10px;
  background: transparent;
}
.coll .navbar-default .navbar-header {
  background-color: #ffffff;
}
.coll .navbar-default .navbar-brand {
  background-color: #ffffff;
}
.coll .navbar-default .navbar-nav {
  background-color: #ffffff;
}
.coll .navbar-default .navbar-nav > li > a .icon + .text {
  display: none;
}

.navbar-main, #header .main-navbar {
  font-size: 13px;
  font-weight: normal;
  background-color: #ffffff;
  border-color: #d9d9d9;
}
.navbar-main .navbar-brand, #header .main-navbar .navbar-brand {
  color: #202020;
  padding: 5px 15px;
}
.navbar-main .navbar-brand:hover, #header .main-navbar .navbar-brand:hover, .navbar-main .navbar-brand:focus, #header .main-navbar .navbar-brand:focus {
  color: #1b99bd;
  background-color: #ffffff;
}
.navbar-main .navbar-brand img, #header .main-navbar .navbar-brand img {
  max-height: 100%;
}
.navbar-main .navbar-text, #header .main-navbar .navbar-text {
  color: #202020;
}
.navbar-main .navbar-nav > li > a > .icon, #header .main-navbar .navbar-nav > li > a > .icon {
  color: #dddddd;
}
.navbar-main .navbar-nav > li.active > a > .icon, #header .main-navbar .navbar-nav > li.active > a > .icon, .navbar-main .navbar-nav > li:hover > a > .icon, #header .main-navbar .navbar-nav > li:hover > a > .icon {
  color: inherit;
}
.navbar-main .navbar-nav > li > a .icon, #header .main-navbar .navbar-nav > li > a .icon {
  vertical-align: middle;
  font-size: 1.1em;
}
.navbar-main .navbar-nav > li > a, #header .main-navbar .navbar-nav > li > a {
  color: #202020;
}
.navbar-main .navbar-nav > li > a:hover, #header .main-navbar .navbar-nav > li > a:hover, .navbar-main .navbar-nav > li > a:hover:focus {
  color: #1b99bd;
  background-color: #f9f9f9;
}
.navbar-main .navbar-nav > .active > a, #header .main-navbar .navbar-nav > .active > a, .navbar-main .navbar-nav > .active > a:hover, .navbar-main .navbar-nav > .active > a:hover:focus {
  color: #1b99bd;
  background-color: #f9f9f9;
}
.navbar-main .navbar-nav > .disabled > a, #header .main-navbar .navbar-nav > .disabled > a, .navbar-main .navbar-nav > .disabled > a:hover, .navbar-main .navbar-nav > .disabled > a:hover:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-main .navbar-toggle, #header .main-navbar .navbar-toggle {
  border-color: #d9d9d9;
}
.navbar-main .navbar-toggle:hover, #header .main-navbar .navbar-toggle:hover, .navbar-main .navbar-toggle:hover:focus {
  background-color: #f9f9f9;
}
.navbar-main .navbar-toggle .icon-bar, #header .main-navbar .navbar-toggle .icon-bar {
  background-color: #1b99bd;
}
.navbar-main .navbar-collapse, #header .main-navbar .navbar-collapse,
.navbar-main .navbar-form,
#header .main-navbar .navbar-form {
  border-color: #d9d9d9;
}
.navbar-main .navbar-nav > .open > a, #header .main-navbar .navbar-nav > .open > a, .navbar-main .navbar-nav > .open > a:hover, .navbar-main .navbar-nav > .open > a:hover:focus {
  background-color: #f9f9f9;
  color: #1b99bd;
}
@media (max-width: 767px) {
  .navbar-main .navbar-nav .open .dropdown-menu > li > a, #header .main-navbar .navbar-nav .open .dropdown-menu > li > a, .navbar-main .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .navbar-main .navbar-nav .open .leaflet-control-layers-list > li > a, #header .main-navbar .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers #header .main-navbar .navbar-nav .open .leaflet-control-layers-list > li > a {
    color: #202020;
  }
  .navbar-main .navbar-nav .open .dropdown-menu > li > a:hover, #header .main-navbar .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-main .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers .navbar-main .navbar-nav .open .leaflet-control-layers-list > li > a:hover, #header .main-navbar .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers #header .main-navbar .navbar-nav .open .leaflet-control-layers-list > li > a:hover, .navbar-main .navbar-nav .open .dropdown-menu > li > a:hover:focus {
    color: #1b99bd;
    background-color: #f9f9f9;
  }
  .navbar-main .navbar-nav .open .dropdown-menu > .active > a, #header .main-navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar-main .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .active > a, .leaflet-control-layers .navbar-main .navbar-nav .open .leaflet-control-layers-list > .active > a, #header .main-navbar .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .active > a, .leaflet-control-layers #header .main-navbar .navbar-nav .open .leaflet-control-layers-list > .active > a, .navbar-main .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-main .navbar-nav .open .dropdown-menu > .active > a:hover:focus {
    color: #1b99bd;
    background-color: #f9f9f9;
  }
  .navbar-main .navbar-nav .open .dropdown-menu > .disabled > a, #header .main-navbar .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-main .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .disabled > a, .leaflet-control-layers .navbar-main .navbar-nav .open .leaflet-control-layers-list > .disabled > a, #header .main-navbar .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .disabled > a, .leaflet-control-layers #header .main-navbar .navbar-nav .open .leaflet-control-layers-list > .disabled > a, .navbar-main .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-main .navbar-nav .open .dropdown-menu > .disabled > a:hover:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-main .navbar-link, #header .main-navbar .navbar-link {
  color: #202020;
}
.navbar-main .navbar-link:hover, #header .main-navbar .navbar-link:hover {
  color: #1b99bd;
}
.navbar-main .btn-link, #header .main-navbar .btn-link {
  color: #202020;
}
.navbar-main .btn-link:hover, #header .main-navbar .btn-link:hover, .navbar-main .btn-link:hover:focus {
  color: #1b99bd;
}
.navbar-main .btn-link[disabled]:hover, #header .main-navbar .btn-link[disabled]:hover, .navbar-main .btn-link[disabled]:focus, #header .main-navbar .btn-link[disabled]:focus, fieldset[disabled] .navbar-main .btn-link:hover, fieldset[disabled] #header .main-navbar .btn-link:hover, #header fieldset[disabled] .main-navbar .btn-link:hover, fieldset[disabled] .navbar-main .btn-link:focus, fieldset[disabled] #header .main-navbar .btn-link:focus, #header fieldset[disabled] .main-navbar .btn-link:focus {
  color: #ccc;
}

.navbar-vertical.navbar .navbar-collapse {
  padding: 0;
  max-height: none;
}
.navbar-vertical.navbar ul {
  float: none;
}
.navbar-vertical.navbar ul:not {
  display: block;
}
.navbar-vertical.navbar li {
  float: none;
  display: block;
}
.navbar-vertical.navbar li a {
  padding-top: 12px;
  padding-bottom: 12px;
}

.btn.icon {
  padding: 1px 3px;
}
.btn.icon:hover {
  background: #eeeeee;
  color: #777777;
}

.btn-secondary {
  color: #1b99bd;
  background-color: #ffffff;
  border-color: #1887a7;
}
.btn-secondary:focus, .btn-secondary.focus {
  color: #1b99bd;
  background-color: #e6e6e6;
  border-color: #082d37;
}
.btn-secondary:hover {
  color: #1b99bd;
  background-color: #e6e6e6;
  border-color: #105c71;
}
.btn-secondary:active, .btn-secondary.active, .open > .btn-secondary.dropdown-toggle {
  color: #1b99bd;
  background-color: #e6e6e6;
  border-color: #105c71;
}
.btn-secondary:active:hover, .btn-secondary:active:focus, .btn-secondary:active.focus, .btn-secondary.active:hover, .btn-secondary.active:focus, .btn-secondary.active.focus, .open > .btn-secondary.dropdown-toggle:hover, .open > .btn-secondary.dropdown-toggle:focus, .open > .btn-secondary.dropdown-toggle.focus {
  color: #1b99bd;
  background-color: #d4d4d4;
  border-color: #082d37;
}
.btn-secondary:active, .btn-secondary.active, .open > .btn-secondary.dropdown-toggle {
  background-image: none;
}
.btn-secondary.disabled, .btn-secondary.disabled:hover, .btn-secondary.disabled:focus, .btn-secondary.disabled.focus, .btn-secondary.disabled:active, .btn-secondary.disabled.active, .btn-secondary[disabled], .btn-secondary[disabled]:hover, .btn-secondary[disabled]:focus, .btn-secondary[disabled].focus, .btn-secondary[disabled]:active, .btn-secondary[disabled].active, fieldset[disabled] .btn-secondary, fieldset[disabled] .btn-secondary:hover, fieldset[disabled] .btn-secondary:focus, fieldset[disabled] .btn-secondary.focus, fieldset[disabled] .btn-secondary:active, fieldset[disabled] .btn-secondary.active {
  background-color: #ffffff;
  border-color: #1887a7;
}
.btn-secondary .badge {
  color: #ffffff;
  background-color: #1b99bd;
}

.btn-collapse {
  display: block;
  position: absolute;
  color: #aaaaaa;
  background: #f9f9f9;
  text-align: center;
  text-decoration: none;
  font-size: 10px;
  font-weight: bold;
  cursor: pointer;
}
.btn-collapse i:before {
  font-weight: bold;
}
.btn-collapse:hover {
  text-decoration: none;
}
.btn-collapse:before, .btn-collapse:after {
  content: " ";
  display: inline-block;
  position: absolute;
  width: 0;
  height: 0;
}
.btn-collapse.collapse-left, .sidebar .btn-collapse {
  width: 20px;
  height: 40px;
  line-height: 40px;
  left: 100%;
  top: 30%;
  -webkit-box-shadow: 3px 0px 7px rgba(0, 0, 0, 0.175);
  box-shadow: 3px 0px 7px rgba(0, 0, 0, 0.175);
}
.btn-collapse.collapse-left:before, .sidebar .btn-collapse:before {
  left: 0;
  bottom: 100%;
  border-bottom: 20px solid #f9f9f9;
  border-right: 20px solid transparent;
}
.btn-collapse.collapse-left:after, .sidebar .btn-collapse:after {
  left: 0;
  top: 100%;
  border-top: 20px solid #f9f9f9;
  border-right: 20px solid transparent;
}
.btn-collapse.collapse-right {
  width: 20px;
  height: 40px;
  line-height: 40px;
  right: 100%;
  top: 30%;
  -webkit-box-shadow: -3px 0px 7px rgba(0, 0, 0, 0.175);
  box-shadow: -3px 0px 7px rgba(0, 0, 0, 0.175);
}
.btn-collapse.collapse-right:before {
  right: 0;
  bottom: 100%;
  border-bottom: 20px solid #f9f9f9;
  border-left: 20px solid transparent;
}
.btn-collapse.collapse-right:after {
  right: 0;
  top: 100%;
  border-top: 20px solid #f9f9f9;
  border-left: 20px solid transparent;
}
.btn-collapse.collapse-top, #widgets .btn-collapse {
  width: 40px;
  height: 20px;
  line-height: 20px;
  bottom: 100%;
  left: 50%;
  -webkit-box-shadow: 0px -3px 7px rgba(0, 0, 0, 0.175);
  box-shadow: 0px -3px 7px rgba(0, 0, 0, 0.175);
}
.btn-collapse.collapse-top:before, #widgets .btn-collapse:before {
  top: 0;
  right: 100%;
  border-bottom: 20px solid #f9f9f9;
  border-left: 20px solid transparent;
}
.btn-collapse.collapse-top:after, #widgets .btn-collapse:after {
  top: 0;
  left: 100%;
  border-bottom: 20px solid #f9f9f9;
  border-right: 20px solid transparent;
}
.btn-collapse.collapse-bottom {
  width: 40px;
  height: 20px;
  line-height: 20px;
  bottom: 100%;
  left: 50%;
  -webkit-box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.175);
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.175);
}
.btn-collapse.collapse-bottom:before {
  bottom: 0;
  right: 100%;
  border-top: 20px solid #f9f9f9;
  border-left: 20px solid transparent;
}
.btn-collapse.collapse-bottom:after {
  bottom: 0;
  left: 100%;
  border-top: 20px solid #f9f9f9;
  border-right: 20px solid transparent;
}

.input-group {
  width: 100%;
}

.input-group > .input-group-btn > .btn,
.input-group > .input-group-btn > .btn-group,
.input-group > .input-group-btn > .form-control.timeselect,
div.dataTables_wrapper div.dataTables_filter .input-group > .input-group-btn > input.timeselect {
  margin-left: 4px;
}
.input-group > .input-group-btn > .form-control.timeselect, div.dataTables_wrapper div.dataTables_filter .input-group > .input-group-btn > input.timeselect {
  width: 70px;
}
@media (min-width: 768px) {
  .input-group > .input-group-btn > .form-control.timeselect, div.dataTables_wrapper div.dataTables_filter .input-group > .input-group-btn > input.timeselect {
    width: 90px;
  }
}
.input-group > .input-group-btn > .form-control.timeselect.open, div.dataTables_wrapper div.dataTables_filter .input-group > .input-group-btn > input.timeselect.open {
  z-index: 3;
}

.caret, .dropup .caret, .navbar-fixed-bottom .dropdown .caret {
  border: 0;
  width: auto;
  height: auto;
}

.dropdown-menu > li > a, .leaflet-control-layers .leaflet-control-layers-list > li > a {
  font-size: 11px;
}
.dropdown-menu > li > a:hover > .icon, .leaflet-control-layers .leaflet-control-layers-list > li > a:hover > .icon {
  color: #1b99bd;
}
.dropdown-menu > li > a > .icon, .leaflet-control-layers .leaflet-control-layers-list > li > a > .icon {
  vertical-align: middle;
  color: #dddddd;
}

.bootstrap-select > .dropdown-toggle > .icon {
  left: 12px;
  position: absolute;
}
.bootstrap-select > .dropdown-toggle > .icon + .filter-option {
  padding-left: 20px;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li .check-mark, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li .check-mark, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li .check-mark {
  display: none;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a {
  line-height: 1;
  position: relative;
  padding-left: 0;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a span.text, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a span.text, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a span.text {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 0;
  margin-bottom: 0;
  font-weight: normal;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a span.text::before {
  content: "";
  position: relative;
  z-index: 1;
  left: 0;
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
  color: transparent;
  background-color: #ffffff;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  font-weight: normal;
  line-height: 1;
  border-radius: 2;
  -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a span.text::after, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a span.text::after, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a span.text::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  content: "�";
  color: transparent;
  border: 1px solid #d9d9d9;
  border-radius: 2;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox], .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox], .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox],
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio],
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio],
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio] {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox]:focus + span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox]:focus + span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox]:focus + span.text::before,
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio]:focus + span.text::before,
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio]:focus + span.text::before,
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio]:focus + span.text::before {
  outline: 0;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox]:checked + span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox]:checked + span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox]:checked + span.text::before,
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio]:checked + span.text::before,
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio]:checked + span.text::before,
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio]:checked + span.text::before {
  font-family: "icomoon";
  content: "";
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox]:checked:disabled + span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox]:checked:disabled + span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox]:checked:disabled + span.text::before,
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio]:checked:disabled + span.text::before,
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio]:checked:disabled + span.text::before,
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio]:checked:disabled + span.text::before {
  background-color: inherit;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox]:disabled + span.text, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox]:disabled + span.text, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox]:disabled + span.text,
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio]:disabled + span.text,
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio]:disabled + span.text,
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio]:disabled + span.text {
  opacity: 0.45;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox]:disabled + span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox]:disabled + span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox]:disabled + span.text::before,
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio]:disabled + span.text::before,
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio]:disabled + span.text::before,
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio]:disabled + span.text::before {
  background-color: #eeeeee;
  cursor: not-allowed;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a.checkbox-inline, .bootstrap-select.btn-group.show-tick .dropdown-menu > li .group a.checkbox, .group .bootstrap-select.btn-group.show-tick .dropdown-menu > li a.checkbox, .bootstrap-select.btn-group.show-tick .dropdown-menu > li .table a.checkbox, .table .bootstrap-select.btn-group.show-tick .dropdown-menu > li a.checkbox, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a.checkbox-inline, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li .group a.checkbox, .group .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a.checkbox, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li .table a.checkbox, .table .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a.checkbox, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a.checkbox-inline, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li .group a.checkbox, .group .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a.checkbox, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li .table a.checkbox, .table .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a.checkbox {
  margin-top: 0;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a span.text, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a span.text, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a span.text {
  margin-left: 5px;
  margin-right: 0;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li.selected a span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li.selected a span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li.selected a span.text::before {
  font-family: "icomoon";
  content: "";
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li.selected a span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li.selected a span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li.selected a span.text::before {
  color: #ffffff;
  background-color: #1b99bd;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li.selected a span.text::after, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li.selected a span.text::after, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li.selected a span.text::after {
  background-color: #1b99bd;
  border-color: #1b99bd;
}

.droparrow.dropdown > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:before, .droparrow.dropdown > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:after, .droparrow.dropup > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:before, .droparrow.dropup > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:after, .droparrow.dropleft > .dropdown-menu:before, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:before, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropleft > .dropdown-menu:after, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:after, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropright > .dropdown-menu:before, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:before, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropright > .dropdown-menu:after, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:after, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after {
  content: "";
  display: inline-block;
  position: absolute;
}
.droparrow.dropdown > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:before, .droparrow.dropup > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:before, .droparrow.dropleft > .dropdown-menu:before, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:before, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropright > .dropdown-menu:before, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:before, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before {
  border: 8px solid transparent;
}
.droparrow.dropdown > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:after, .droparrow.dropup > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:after, .droparrow.dropleft > .dropdown-menu:after, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:after, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropright > .dropdown-menu:after, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:after, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after {
  border: 7px solid transparent;
}
.droparrow.dropleft > .dropdown-menu, .map-controls.top-right .dropleft.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list, .map-controls.top-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropright.left > .dropdown-menu, .map-controls.top-right .left.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .left.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropright.left > .leaflet-control-layers-list, .map-controls.top-right .left.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .left.leaflet-control-layers > .leaflet-control-layers-list {
  left: 100%;
  top: -9px;
  margin-left: 8px;
}
.droparrow.dropleft > .dropdown-menu:before, .map-controls.top-right .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:before, .map-controls.top-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropright.left > .dropdown-menu:before, .map-controls.top-right .left.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .left.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright.left > .leaflet-control-layers-list:before, .map-controls.top-right .left.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .left.leaflet-control-layers > .leaflet-control-layers-list:before {
  top: 9px;
  left: -8px;
  border: 8px solid transparent;
  border-right-color: #d9d9d9;
  border-left: 0;
  bottom: auto;
  right: auto;
}
.droparrow.dropleft > .dropdown-menu:after, .map-controls.top-right .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:after, .map-controls.top-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropright.left > .dropdown-menu:after, .map-controls.top-right .left.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .left.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright.left > .leaflet-control-layers-list:after, .map-controls.top-right .left.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .left.leaflet-control-layers > .leaflet-control-layers-list:after {
  top: 10px;
  left: -7px;
  border: 7px solid transparent;
  border-right-color: #ffffff;
  border-left: 0;
  bottom: auto;
  right: auto;
}
.droparrow.dropright > .dropdown-menu, .map-controls.top-left .dropright.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list, .map-controls.top-left .dropright.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropleft.right > .dropdown-menu, .map-controls.top-left .right.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropleft.right > .leaflet-control-layers-list, .map-controls.top-left .right.leaflet-control-layers > .leaflet-control-layers-list {
  left: inherit;
  right: 100%;
  top: -9px;
  margin-right: 8px;
}
.droparrow.dropright > .dropdown-menu:before, .map-controls.top-left .dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:before, .map-controls.top-left .dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropleft.right > .dropdown-menu:before, .map-controls.top-left .right.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft.right > .leaflet-control-layers-list:before, .map-controls.top-left .right.leaflet-control-layers > .leaflet-control-layers-list:before {
  top: 9px;
  right: -8px;
  border: 8px solid transparent;
  border-left-color: #d9d9d9;
  border-right: 0;
  bottom: auto;
  left: auto;
}
.droparrow.dropright > .dropdown-menu:after, .map-controls.top-left .dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:after, .map-controls.top-left .dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropleft.right > .dropdown-menu:after, .map-controls.top-left .right.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft.right > .leaflet-control-layers-list:after, .map-controls.top-left .right.leaflet-control-layers > .leaflet-control-layers-list:after {
  top: 10px;
  right: -7px;
  border: 7px solid transparent;
  border-left-color: #ffffff;
  border-right: 0;
  bottom: auto;
  left: auto;
}
.droparrow.dropdown > .dropdown-menu, .map-controls.top-right .dropdown.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropdown.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list, .map-controls.top-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropdown.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropup.down > .dropdown-menu, .map-controls.top-right .dropup.down.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropup.down.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropup.down > .leaflet-control-layers-list, .map-controls.top-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropup.down.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list {
  top: 100%;
  left: -14px;
  margin-top: 8px;
}
.droparrow.dropdown > .dropdown-menu:before, .map-controls.top-right .dropdown.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropdown.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:before, .map-controls.top-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropup.down > .dropdown-menu:before, .map-controls.top-right .dropup.down.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropup.down.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup.down > .leaflet-control-layers-list:before, .map-controls.top-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:before {
  top: -8px;
  left: 9px;
  border: 8px solid transparent;
  border-top: 0;
  border-bottom-color: #d9d9d9;
  bottom: auto;
  right: auto;
}
.droparrow.dropdown > .dropdown-menu:after, .map-controls.top-right .dropdown.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropdown.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:after, .map-controls.top-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropup.down > .dropdown-menu:after, .map-controls.top-right .dropup.down.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropup.down.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup.down > .leaflet-control-layers-list:after, .map-controls.top-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:after {
  top: -7px;
  left: 10px;
  border: 7px solid transparent;
  border-top: 0;
  border-bottom-color: #ffffff;
  bottom: auto;
  right: auto;
}
.droparrow.dropup > .dropdown-menu, .map-controls.top-right .dropup.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropup.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropup.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list, .map-controls.top-right .dropup.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropup.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropup.leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropdown.up > .dropdown-menu, .map-controls.top-right .dropdown.up.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropdown.up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropdown.up > .leaflet-control-layers-list, .map-controls.top-right .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list {
  bottom: 100%;
  left: -9px;
  margin-bottom: 8px;
}
.droparrow.dropup > .dropdown-menu:before, .map-controls.top-right .dropup.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropup.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropup.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:before, .map-controls.top-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropup.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropdown.up > .dropdown-menu:before, .map-controls.top-right .dropdown.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropdown.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown.up > .leaflet-control-layers-list:before, .map-controls.top-right .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before {
  left: 9px;
  bottom: -8px;
  border: 8px solid transparent;
  border-bottom: 0;
  border-top-color: #d9d9d9;
}
.droparrow.dropup > .dropdown-menu:after, .map-controls.top-right .dropup.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropup.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropup.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:after, .map-controls.top-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropup.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropdown.up > .dropdown-menu:after, .map-controls.top-right .dropdown.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropdown.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown.up > .leaflet-control-layers-list:after, .map-controls.top-right .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after {
  left: 10px;
  bottom: -7px;
  border: 7px solid transparent;
  border-bottom: 0;
  border-top-color: #ffffff;
}
.droparrow.dropleft.up > .dropdown-menu, .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropleft.up > .leaflet-control-layers-list, .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropright.up > .dropdown-menu, .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropright.up > .leaflet-control-layers-list, .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list {
  top: auto;
  bottom: -9px;
}
.droparrow.dropleft.up > .dropdown-menu:before, .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft.up > .leaflet-control-layers-list:before, .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropright.up > .dropdown-menu:before, .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright.up > .leaflet-control-layers-list:before, .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before {
  top: auto;
  bottom: 10px;
}
.droparrow.dropleft.up > .dropdown-menu:after, .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft.up > .leaflet-control-layers-list:after, .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropright.up > .dropdown-menu:after, .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright.up > .leaflet-control-layers-list:after, .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after {
  top: auto;
  bottom: 11px;
}
.droparrow.dropdown.right > .dropdown-menu, .map-controls.top-right .dropdown.right.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropdown.right.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropdown.right > .leaflet-control-layers-list, .map-controls.top-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropup.right > .dropdown-menu, .map-controls.top-right .dropup.right.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropup.right.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropup.right > .leaflet-control-layers-list, .map-controls.top-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropup.right.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list {
  left: auto;
  right: -9px;
}
.droparrow.dropdown.right > .dropdown-menu:before, .map-controls.top-right .dropdown.right.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropdown.right.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown.right > .leaflet-control-layers-list:before, .map-controls.top-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropup.right > .dropdown-menu:before, .map-controls.top-right .dropup.right.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropup.right.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup.right > .leaflet-control-layers-list:before, .map-controls.top-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:before {
  left: auto;
  right: 9px;
}
.droparrow.dropdown.right > .dropdown-menu:after, .map-controls.top-right .dropdown.right.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropdown.right.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown.right > .leaflet-control-layers-list:after, .map-controls.top-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropup.right > .dropdown-menu:after, .map-controls.top-right .dropup.right.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropup.right.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup.right > .leaflet-control-layers-list:after, .map-controls.top-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:after {
  left: auto;
  right: 10px;
}

label {
  font-weight: normal;
}
label.required:after {
  content: "*";
  padding-left: 5px;
}

textarea.form-control {
  resize: none;
}

.form-horizontal .control-label {
  text-align: left;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 0;
  padding-top: 0;
}
.form-horizontal .checkboxes .checkbox,
.form-horizontal .checkboxes .radio {
  margin-bottom: 10px;
}

.form-horizontal .has-feedback > .form-control:last-child, div.dataTables_wrapper div.dataTables_filter .form-horizontal .has-feedback > input:last-child,
.has-feedback > .form-control:last-child,
div.dataTables_wrapper div.dataTables_filter .has-feedback > input:last-child {
  padding: 6px 12px;
  padding-left: 31px;
}
.form-horizontal .has-feedback > .form-control-feedback, .form-horizontal .has-feedback > .form-group.search:before,
.form-horizontal .has-feedback > .bs-searchbox:before,
.has-feedback > .form-control-feedback,
.has-feedback > .form-group.search:before,
.has-feedback > .bs-searchbox:before {
  left: 0;
  right: auto;
  z-index: 3;
}
.form-horizontal .has-feedback > .form-control + .form-control-feedback,
.has-feedback > .form-control + .form-control-feedback,
div.dataTables_wrapper div.dataTables_filter .has-feedback > input + .form-control-feedback,
.has-feedback > .form-control + .form-group.search:before,
div.dataTables_wrapper div.dataTables_filter .has-feedback > input + .form-group.search:before,
.has-feedback > .form-control + .bs-searchbox:before,
div.dataTables_wrapper div.dataTables_filter .has-feedback > input + .bs-searchbox:before {
  left: auto;
  right: 0;
  z-index: 2;
}

.form-group.search,
.bs-searchbox {
  position: relative;
}
.form-group.search:before,
.bs-searchbox:before {
  content: "";
  left: 0;
  right: auto;
  z-index: 3;
  opacity: 0.6;
  line-height: 31px;
}
.form-group.search > .form-control, div.dataTables_wrapper div.dataTables_filter .form-group.search > input,
.bs-searchbox > .form-control,
div.dataTables_wrapper div.dataTables_filter .bs-searchbox > input {
  padding-left: 31px;
}

.bootstrap-select > .dropdown-toggle {
  color: #555555;
  background-color: #f9f9f9;
  border: 1px solid transparent;
  border-radius: 0;
  box-shadow: none;
  font-weight: normal;
  -webkit-transition: border-color ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s;
}
.bootstrap-select > .dropdown-toggle:focus, .bootstrap-select > .dropdown-toggle.focus, .bootstrap-select > .dropdown-toggle:active, .bootstrap-select > .dropdown-toggle.active {
  color: #202020;
  background-color: #ffffff;
  border-color: #d9d9d9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
}
.bootstrap-select.open > .dropdown-toggle, .bootstrap-select.open > .dropdown-toggle:focus, .bootstrap-select.open > .dropdown-toggle.focus, .bootstrap-select.open > .dropdown-toggle:hover, .bootstrap-select.open > .dropdown-toggle:active, .bootstrap-select.open > .dropdown-toggle.active, .bootstrap-select.open > .dropdown-toggle:active:hover, .bootstrap-select.open > .dropdown-toggle:active:focus, .bootstrap-select.open > .dropdown-toggle:active.focus {
  color: #202020;
  background-color: #ffffff;
  border-color: #d9d9d9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
}

.panel .panel-form .form-control, .panel .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .panel .panel-form input, .plan .panel-form .form-control, .plan .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .plan .panel-form input {
  outline: 0;
}

.panel-default .panel-form .form-control, .panel-default .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .panel-default .panel-form input, .plan .panel-form .form-control, .plan .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .plan .panel-form input, #widgets .widget .panel-form .form-control, #widgets .widget .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter #widgets .widget .panel-form input,
.panel-default .panel-form .bootstrap-select > .dropdown-toggle,
.plan .panel-form .bootstrap-select > .dropdown-toggle,
#widgets .widget .panel-form .bootstrap-select > .dropdown-toggle {
  color: #202020;
  background-color: #ffffff;
}

.checkboxes .checkbox {
  margin-top: 0;
}
.checkboxes .checkbox + .checkbox {
  margin-top: inherit;
}

.form-image {
  position: relative;
  min-height: 200px;
  text-align: center;
  border: 1px solid #d9d9d9;
}
.form-image .form-image-controls {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.form-image img {
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 100%;
}
.form-image img + .no-image {
  display: none;
}

.help-block {
  padding: 10px;
}
.explanation {
  font-size: 10px;
}

.modal-scrollable {
  position: relative;
}

.modal-content {
  background-color: #ffffff;
  border-radius: 0;
}

.modal-header, .ui-dialog-titlebar.ui-widget-header {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  background: #f9f9f9;
}
.modal-header .close, .modal-header button.ui-dialog-titlebar-close, .ui-dialog-titlebar.ui-widget-header .close, .ui-dialog-titlebar.ui-widget-header button.ui-dialog-titlebar-close {
  font-size: 25px;
  margin-top: -3px;
}

.modal-title .icon, .ui-dialog-title .icon {
  vertical-align: top;
  color: #1b99bd;
}

.modal-body > .nav {
  margin: -15px;
  margin-bottom: 15px;
}
.modal-body.no-padding {
  padding: 0;
}

.modal-footer {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background: #f9f9f9;
  text-align: left;
}

@media (min-width: 768px) {
  .modal-md {
    width: 760px;
  }
}
.modal-full {
  width: auto;
  margin: 10px;
}

.modal.fade .modal-dialog {
  -webkit-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
}
.modal.in .modal-dialog {
  -webkit-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
}

.modal-popup {
  position: fixed;
}
.modal-popup.center {
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.modal-popup.top_left {
  top: -1px;
  left: 0;
  margin-left: 20px;
}
.modal-popup.top_right {
  top: -1px;
  right: 0;
  margin-right: 20px;
}
.modal-popup.bottom_left {
  bottom: -1px;
  left: 0;
  margin-left: 20px;
}
.modal-popup.bottom_right {
  bottom: -1px;
  right: 0;
  margin-right: 20px;
}
.modal-popup .modal-dialog {
  margin-bottom: 0;
  margin-top: 0;
  width: auto;
  min-width: 300px;
  max-width: 100%;
}
.modal-popup .modal-content > .close, .modal-popup .modal-content > button.ui-dialog-titlebar-close {
  margin-top: 0;
  margin-right: 3px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  opacity: 0.9;
  font-weight: 300;
  font-size: 40px;
  color: #cccccc;
}
.modal-popup .modal-header, .modal-popup .ui-dialog-titlebar.ui-widget-header {
  padding: 15px 30px;
  border-bottom: 1px solid #d9d9d9;
}
.modal-popup .modal-header .close, .modal-popup .modal-header button.ui-dialog-titlebar-close, .modal-popup .ui-dialog-titlebar.ui-widget-header .close, .modal-popup .ui-dialog-titlebar.ui-widget-header button.ui-dialog-titlebar-close {
  margin-top: 0;
  margin-right: 3px;
  position: absolute;
  top: 0;
  right: 0;
}
.modal-popup .modal-header h1, .modal-popup .ui-dialog-titlebar.ui-widget-header h1, .modal-popup .modal-header h2, .modal-popup .ui-dialog-titlebar.ui-widget-header h2, .modal-popup .modal-header h3, .modal-popup .ui-dialog-titlebar.ui-widget-header h3, .modal-popup .modal-header h4, .modal-popup .ui-dialog-titlebar.ui-widget-header h4, .modal-popup .modal-header h5, .modal-popup .ui-dialog-titlebar.ui-widget-header h5, .modal-popup .modal-header h6, .modal-popup .ui-dialog-titlebar.ui-widget-header h6 {
  margin: 0;
}
.modal-popup .modal-body {
  padding: 15px 30px;
}

.dashboard .modal-content {
  background-color: rgba(255, 255, 255, 0.7);
}
.dashboard .modal-header, .dashboard .ui-dialog-titlebar.ui-widget-header {
  background-color: rgba(255, 255, 255, 0.7);
}

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

.table.table-list .progress {
  margin-bottom: 0;
}
.table.table-list td[data-editable-field] {
  position: relative;
  cursor: pointer;
}
.table.table-list td[data-editable-field]:hover:after {
  font-family: "FontAwesome";
  content: "";
  color: #aaaaaa;
  position: absolute;
  top: 5px;
  right: 5px;
}
.table.table-list > thead > tr > th,
.table.table-list > thead > tr > td,
.table.table-list > tbody > tr > th,
.table.table-list > tbody > tr > td,
.table.table-list > tfoot > tr > th,
.table.table-list > tfoot > tr > td {
  vertical-align: middle;
  border-top: 1px solid transparent;
}
.table.table-list > thead > tr > th:first-child,
.table.table-list > thead > tr > td:first-child,
.table.table-list > tbody > tr > th:first-child,
.table.table-list > tbody > tr > td:first-child,
.table.table-list > tfoot > tr > th:first-child,
.table.table-list > tfoot > tr > td:first-child {
  padding-left: 6px;
}
.table.table-list > thead > tr > th:last-child,
.table.table-list > thead > tr > td:last-child,
.table.table-list > tbody > tr > th:last-child,
.table.table-list > tbody > tr > td:last-child,
.table.table-list > tfoot > tr > th:last-child,
.table.table-list > tfoot > tr > td:last-child {
  padding-right: 6px;
}
.table.table-list > thead > tr > th.no-data,
.table.table-list > thead > tr > td.no-data,
.table.table-list > tbody > tr > th.no-data,
.table.table-list > tbody > tr > td.no-data,
.table.table-list > tfoot > tr > th.no-data,
.table.table-list > tfoot > tr > td.no-data {
  text-align: center;
}
.table.table-list > thead > tr > th .btn.icon,
.table.table-list > thead > tr > td .btn.icon,
.table.table-list > tbody > tr > th .btn.icon,
.table.table-list > tbody > tr > td .btn.icon,
.table.table-list > tfoot > tr > th .btn.icon,
.table.table-list > tfoot > tr > td .btn.icon {
  color: #aaaaaa;
}
.table.table-list > thead > tr > th .btn.icon:hover,
.table.table-list > thead > tr > td .btn.icon:hover,
.table.table-list > tbody > tr > th .btn.icon:hover,
.table.table-list > tbody > tr > td .btn.icon:hover,
.table.table-list > tfoot > tr > th .btn.icon:hover,
.table.table-list > tfoot > tr > td .btn.icon:hover {
  color: #1b99bd;
}
.table.table-list > thead > tr.row-table-inner > td,
.table.table-list > tbody > tr.row-table-inner > td,
.table.table-list > tfoot > tr.row-table-inner > td {
  padding: 20px;
}
.table.table-list > thead > tr.row-table-inner > td > .loading .middle,
.table.table-list > tbody > tr.row-table-inner > td > .loading .middle,
.table.table-list > tfoot > tr.row-table-inner > td > .loading .middle {
  vertical-align: top;
}
.table.table-list > thead > tr {
  color: #777777;
  background-color: #eeeeee;
}
.table.table-list > thead > tr > th {
  border-bottom: 2px solid transparent;
}
.table.table-list .table-checkbox {
  width: 1%;
  white-space: nowrap;
}
.table.table-list .table-checkbox:hover .icon {
  color: #1b99bd;
}
.table.table-list .user-list {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 300px;
}
.table.table-list .actions {
  text-align: right;
}
.table.table-list .sorting,
.table.table-list .sorting_desc,
.table.table-list .sorting_asc {
  position: relative;
  cursor: pointer;
  padding-right: 15px;
}
.table.table-list .sorting:before, .table.table-list .sorting:after,
.table.table-list .sorting_desc:before,
.table.table-list .sorting_desc:after,
.table.table-list .sorting_asc:before,
.table.table-list .sorting_asc:after {
  color: #cccccc;
  position: absolute;
  font-size: 8px;
  right: 5px;
}
.table.table-list .sorting:before,
.table.table-list .sorting_desc:before,
.table.table-list .sorting_asc:before {
  top: 2px;
  content: "";
}
.table.table-list .sorting:after,
.table.table-list .sorting_desc:after,
.table.table-list .sorting_asc:after {
  bottom: 2px;
  content: "";
}
.table.table-list .pointer {
  cursor: pointer;
}
.table.table-list .sorting_asc:before {
  color: #1b99bd;
}
.table.table-list .sorting_desc:after {
  color: #1b99bd;
}
.table.table-list.sticky-header > thead > tr > th {
  position: sticky !important;
  top: 0;
  z-index: 10;
  color: #777777;
  background-color: #eeeeee;
}
.table > thead th {
  font-weight: normal;
}
.table > tbody:first-child > tr:first-child > th,
.table > tbody:first-child > tr:first-child > td {
  border-top: 0;
}
.table tr.collapse.in {
  display: table-row;
}
.table th.collapse.in,
.table td.collapse.in {
  display: table-cell;
}
.table td .textarea-control {
  position: relative;
}
.table td .textarea-control textarea {
  padding-right: 30px;
}
.table td .textarea-control .controls-wrapper {
  position: absolute;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 14px;
  display: none;
}
.table td .textarea-control .controls-wrapper .fa, .table td .textarea-control .controls-wrapper .caret, .table td .textarea-control .controls-wrapper .form-group.search:before,
.table td .textarea-control .controls-wrapper .bs-searchbox:before {
  display: block;
  opacity: 0.7;
}
.table td .textarea-control .controls-wrapper .fa.fa-check, .table td .textarea-control .controls-wrapper .fa-check.caret, .table td .textarea-control .controls-wrapper .fa-check.form-group.search:before,
.table td .textarea-control .controls-wrapper .fa-check.bs-searchbox:before {
  color: green;
  padding-bottom: 3px;
}
.table td .textarea-control .controls-wrapper .fa.fa-times, .table td .textarea-control .controls-wrapper .fa-times.caret, .table td .textarea-control .controls-wrapper .fa-times.form-group.search:before,
.table td .textarea-control .controls-wrapper .fa-times.bs-searchbox:before {
  color: red;
  padding-top: 3px;
}
.table td .textarea-control .controls-wrapper .fa:hover, .table td .textarea-control .controls-wrapper .caret:hover, .table td .textarea-control .controls-wrapper .form-group.search:hover:before,
.table td .textarea-control .controls-wrapper .bs-searchbox:hover:before {
  opacity: 1;
  cursor: pointer;
}

.table-icon:before, .table-icon:after {
  content: " ";
  display: table;
}
.table-icon:after {
  clear: both;
}
.table-icon .item {
  float: none;
  display: inline-block;
  padding: 10px;
  margin: -2px;
  border: 1px solid transparent;
  text-align: center;
}
.table-icon .item:hover {
  border-color: #d9d9d9;
}
.table-icon .item:hover .controls {
  display: block;
}
.table-icon .item .controls {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.table-icon .item img {
  margin: auto;
  max-width: 100%;
}

[data-table] > .table-responsive {
  margin-bottom: 0;
  min-height: 200px;
}
[data-table] > .table-responsive > .table {
  margin-bottom: 0;
}
[data-table] > .table {
  margin-bottom: 0;
}

.table.table-weektime {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.table.table-weektime.disabled {
  opacity: 0.5;
}
.table.table-weektime > thead {
  border: 1px solid #d9d9d9;
  border-bottom: 0;
}
.table.table-weektime > thead > tr > th,
.table.table-weektime > thead > tr > td {
  padding: 5px;
  border: 0;
  font-weight: bold;
}
.table.table-weektime > thead > tr th span {
  margin-left: -20px;
}
.table.table-weektime > tbody {
  border: 1px solid #d9d9d9;
  border-top: 0;
}
.table.table-weektime > tbody > tr > th {
  padding: 5px;
  border: 0;
}
.table.table-weektime > tbody > tr > td {
  padding: 0;
  width: 7px;
  height: 30px;
  background: #f9f9f9;
}
.table.table-weektime > tbody > tr > td.ds-selected {
  background: #1b99bd;
}
.table.table-weektime > tbody > tr > td.hour {
  border-left: 1px solid #e9e9e9;
}
.table.table-weektime > tbody > tr > td:nth-child(2) {
  border-left: 1px solid #d9d9d9;
}
.table.table-weektime > tbody > tr > td.quarter {
  border-left: 1px solid #d9d9d9;
}
.table.table-weektime > tfoot > tr > th {
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 0;
}

#mapWrap {
  position: relative;
  width: auto;
  height: 100%;
  overflow: hidden;
}

#map {
  overflow: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
#map.leaflet-hidden-name .leaflet-marker-icon:not(.leaflet-hover) .name {
  display: none;
}

.map-controls {
  text-align: right;
  z-index: 800;
}
.map-controls.top-right {
  position: absolute;
  top: 10%;
  right: 0;
}
.map-controls.top-left {
  position: absolute;
  top: 10%;
  left: 0;
}
.map-controls.bottom-right {
  position: absolute;
  bottom: 20px;
  right: 0;
}
.map-controls .btn-group-vertical {
  margin-bottom: 10px;
}
.map-controls .btn {
  padding: 0;
  width: 33px;
  height: 33px;
  line-height: 33px;
  font-size: 15px;
  text-align: center;
  background: #ffffff;
  color: #555555;
}
.map-controls .btn + .btn {
  border-top: 1px solid #d9d9d9;
}
.map-controls .btn:hover {
  background: #ffffff;
  color: #555555;
}
.map-controls .btn.active {
  background: #1b99bd;
  color: #ffffff;
}

.nav-pagination {
  border-top: 1px solid #d9d9d9;
}
.nav-pagination:before, .nav-pagination:after {
  content: " ";
  display: table;
}
.nav-pagination:after {
  clear: both;
}
.nav-pagination .pagination {
  margin-top: 0;
  margin-bottom: 0;
}

#widgets {
  float: right;
  max-width: 100%;
}
#widgets:before, #widgets:after {
  content: " ";
  display: table;
}
#widgets:after {
  clear: both;
}
#widgets .btn-collapse {
  left: auto;
  right: 10%;
}
#widgets.collapsed .widgets-content, .sidebar.collapsed #widgets.btn-collapse .widgets-content {
  height: 0;
  min-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#widgets .widgets-content {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  font-size: 0;
  background: #ffffff;
  color: #777777;
}
#widgets .table {
  margin-bottom: 0;
  float: left;
}
#widgets .table + .table {
  margin-left: 5px;
}
#widgets .table tr > td {
  width: 40%;
  line-height: 22px;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 1px;
}
#widgets .table tr > td + td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  max-width: 1px;
}
#widgets .widget {
  height: 100%;
  border: 1px solid #d9d9d9;
  border-bottom: 0;
  display: inline-block;
  vertical-align: bottom;
}
#widgets .widget:empty {
  display: none;
}
#widgets .widget + .widget {
  margin-left: -1px;
}
#widgets .widget-heading {
  font-size: 1.1em;
}
#widgets .widget-heading .widget-actions {
  float: right;
}
#widgets .widget-title > .icon {
  color: #1b99bd;
  margin-right: 5px;
  vertical-align: middle;
}
#widgets .widget-title [data-device=name] {
  margin-right: 10px;
}
#widgets .widget-title [data-device=status] {
  width: 7px;
  height: 7px;
}
#widgets .widget-title [data-device=status-text] {
  font-size: 0.8em;
}
#widgets .widget-body {
  padding-top: 5px;
  padding-bottom: 0;
  height: 126px;
  font-size: 11px;
  overflow: auto;
}
#widgets .widget-body > * + .widget-empty {
  display: none;
}
#widgets .widget-body .table:empty + .widget-empty {
  display: block;
}
#widgets .widget-body .widget-empty {
  height: 100%;
  width: 230px;
  text-align: center;
  background: url("../images/no-data.png") right bottom no-repeat;
}
#widgets .widget-body .widget-empty > .btn {
  margin-top: 35px;
}
#widgets .widget-body .widget-empty > p {
  padding-top: 35px;
}
#widgets .widget-body .full-text {
  white-space: normal;
}
#widgets .widget-driver .table,
#widgets .widget-services .table,
#widgets .widget-device .table,
#widgets .widget-locking .table,
#widgets .widget-gprs-command .table,
#widgets .widget-recent-events .table {
  width: 260px;
}
#widgets .widget-sensors .table {
  width: 200px;
}
#widgets .widget-sensors .table tr > td {
  width: 60%;
}
#widgets .widget-sensors .table .icon {
  font-size: 1.8em;
  vertical-align: middle;
  color: #cccccc;
  margin-right: 5px;
}
#widgets .widget-streetview .widget-body {
  width: auto;
  padding: 0;
}
#widgets .widget-streetview .widget-body img {
  max-height: 100%;
}
#widgets .widget-camera .widget-body {
  width: auto;
  padding: 0;
}
#widgets .widget-camera .camera-image {
  display: inline-block;
  position: relative;
  padding: 0;
}
#widgets .widget-camera .camera-image .name {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #ffffff;
  background: #000000;
  font-size: 12px;
  white-space: initial;
  padding: 1px 5px;
  opacity: 0.7;
}
#widgets .widget-camera .camera-image .image {
  max-height: 125px;
}
#widgets .widget-image {
  position: relative;
}
#widgets .widget-image .widget-body {
  width: 280px;
  padding: 0;
  overflow: hidden;
}
#widgets .widget-image .widget-body > .image + .widget-empty {
  display: none;
}
#widgets .widget-image .widget-body .widget-empty {
  display: block;
}
#widgets .widget-image .widget-body .image {
  display: block;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
#widgets .widget-image .widget-body .name {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #ffffff;
  background: #000000;
  font-size: 12px;
  white-space: initial;
  padding: 1px 5px;
  opacity: 0.7;
}
#widgets .widget-sensor-graph .widget-body {
  width: 280px;
  padding: 0;
}
#widgets .widget-sensor-graph .widget-body .sensor-graph {
  width: 280px;
  height: 126px;
}
#widgets .widget-gprs-command .table td + td {
  text-align: right;
  width: 15%;
}
#widgets .widget-recent-events table tr {
  text-align: center;
}
#widgets .widget-recent-events table tr[onclick] {
  text-align: left;
}
#widgets .widget-recent-events table tr[onclick]:hover {
  cursor: pointer;
}

.widget-col > div {
  padding: 5px 10px;
  background: #f9f9f9;
}

.group {
  position: relative;
}
.group + .group {
  margin-top: 3px;
}
.group-heading {
  padding: 7px 8px;
  background-color: #f9f9f9;
  border-radius: 0;
  display: table;
  width: 100%;
  color: #202020;
  font-size: 13px;
}
.group-heading > .checkbox {
  display: table-cell;
  width: 1%;
}
.group-heading > .group-title {
  position: relative;
  display: table-cell;
  width: 100%;
  padding-left: 5px;
  padding-right: 20px;
  margin-top: 0;
  margin-bottom: 0;
  color: inherit;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 1px;
  cursor: pointer;
  /*
  &[aria-expanded="true"] {
    &:after {
      @extend .fadeIn;
      @extend .animated;
    }
  }
  &[aria-expanded="false"] {
    &:after {
      @extend .rotateIn;
      @extend .animated;
    }
  }*/
}
.group-heading > .group-title > .count {
  display: inline;
}
.group-heading > .group-title > .count:before {
  content: "(";
}
.group-heading > .group-title > .count:after {
  content: ")";
}
.group-heading > .group-title:after {
  position: absolute;
  right: 0px;
  top: auto;
  content: "";
  font-size: 1em;
  font-weight: normal;
  color: #1b99bd;
  cursor: pointer;
}
.group-heading > .group-title.collapsed, .sidebar.collapsed .group-heading > .group-title.btn-collapse, #widgets.collapsed .group-heading > .group-title.btn-collapse, .sidebar.collapsed #widgets.btn-collapse .group-heading > .group-title.btn-collapse {
  color: #777777;
}
.group-heading > .group-title.collapsed:after, .sidebar.collapsed .group-heading > .group-title.btn-collapse:after, #widgets.collapsed .group-heading > .group-title.btn-collapse:after, .sidebar.collapsed #widgets.btn-collapse .group-heading > .group-title.btn-collapse:after {
  content: "";
  color: #cccccc;
  font-size: 1em;
  font-weight: normal;
}
.group-heading > .group-title > .icon {
  margin-right: 8px;
}
.group-heading > .btn-group {
  margin-left: 4px;
  margin-right: -4px;
}
.group-heading > .btn-group .btn.options:hover {
  background: #dddddd;
}
.group-heading:hover {
  color: #202020;
  background-color: #eeeeee;
}
.group-heading:hover .status-collapse {
  color: #1b99bd;
}
.group-heading:hover .group-title:after {
  color: #1b99bd;
}
.group-heading:hover .group-title.collapsed:after, .group-heading:hover .sidebar.collapsed .group-title.btn-collapse:after, .sidebar.collapsed .group-heading:hover .group-title.btn-collapse:after, .group-heading:hover #widgets.collapsed .group-title.btn-collapse:after, #widgets.collapsed .group-heading:hover .group-title.btn-collapse:after, .group-heading:hover .sidebar.collapsed #widgets.btn-collapse .group-title.btn-collapse:after, .sidebar.collapsed #widgets.btn-collapse .group-heading:hover .group-title.btn-collapse:after {
  color: #1b99bd;
}

.group-body {
  position: relative;
}

.group-list {
  list-style: none;
  padding: 0;
  margin: 0;
  color: inherit;
  font-size: inherit;
  background: inherit;
  display: table;
}
.group-list > li {
  border: none;
  border-radius: 0;
  display: table-row;
  width: 100%;
  position: relative;
  text-align: left;
}
.group-list > li:hover {
  color: inherit;
  background-color: #f9f9f9;
  cursor: pointer;
}
.group-list > li > .checkbox {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 8px;
  display: table-cell;
  width: 1%;
  vertical-align: middle;
}
.group-list > li > .name {
  display: table-cell;
  width: 100%;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
  padding-right: 0px;
  vertical-align: top;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 1px;
}
.group-list > li > .name [data-device=time] {
  font-size: 0.7em;
  display: block;
  color: #999999;
}
.group-list > li > .details {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
  color: #dddddd;
  display: table-cell;
  width: 1%;
  vertical-align: top;
  white-space: nowrap;
  text-align: right;
}
.group-list > li > .details > * {
  vertical-align: middle;
  display: inline-block;
}
.group-list > li > .details > * + * {
  margin-left: 5px;
}
.group-list > li > .details [data-device=time] {
  font-size: 8px;
  display: block;
  color: #dddddd;
}
.group-list > li > *:last-child {
  border-right: 4px solid transparent;
}
.group-list > li.active {
  background: #f9f9f9;
}
.group-list > li.active > *:last-child {
  border-right-color: #1b99bd;
}

.panel .panel-heading, .plan .panel-heading, .plan .plan-heading, .panel #widgets .widget-heading, .plan #widgets .widget-heading, #widgets .panel .widget-heading, #widgets .plan .widget-heading {
  padding: 0;
}
.panel .panel-heading:before, .plan .panel-heading:before, .plan .plan-heading:before, .panel #widgets .widget-heading:before, .plan #widgets .widget-heading:before, #widgets .panel .widget-heading:before, #widgets .plan .widget-heading:before, .panel .panel-heading:after, .plan .panel-heading:after, .plan .plan-heading:after, .panel #widgets .widget-heading:after, .plan #widgets .widget-heading:after, #widgets .panel .widget-heading:after, #widgets .plan .widget-heading:after {
  content: " ";
  display: table;
}
.panel .panel-heading:after, .plan .panel-heading:after, .plan .plan-heading:after, .panel #widgets .widget-heading:after, .plan #widgets .widget-heading:after, #widgets .panel .widget-heading:after, #widgets .plan .widget-heading:after {
  clear: both;
}
.panel .panel-title, .plan .panel-title, .plan .plan-title, .panel #widgets .widget-title, .plan #widgets .widget-title, #widgets .panel .widget-title, #widgets .plan .widget-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.panel .panel-title, .plan .panel-title, .plan .plan-title, .panel #widgets .widget-title, .plan #widgets .widget-title, #widgets .panel .widget-title, #widgets .plan .widget-title,
.panel .panel-title-overflow,
.plan .panel-title-overflow {
  padding: 9px 15px;
  font-size: 14px;
}
.panel .panel-title .icon, .plan .panel-title .icon, .plan .plan-title .icon, .panel #widgets .widget-title .icon, .plan #widgets .widget-title .icon, #widgets .panel .widget-title .icon, #widgets .plan .widget-title .icon,
.panel .panel-title-overflow .icon,
.plan .panel-title-overflow .icon {
  font-size: inherit;
  color: #1b99bd;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .panel .panel-title, .plan .panel-title, .plan .plan-title, .panel #widgets .widget-title, .plan #widgets .widget-title, #widgets .panel .widget-title, #widgets .plan .widget-title,
.panel .panel-title-overflow,
.plan .panel-title-overflow {
    float: left;
  }
}
.panel .close + .panel-title, .plan .panel .close + .plan-title, .plan .close + .panel-title, .plan .close + .plan-title, .panel button.ui-dialog-titlebar-close + .panel-title, .plan .panel button.ui-dialog-titlebar-close + .plan-title, .plan button.ui-dialog-titlebar-close + .panel-title, .plan button.ui-dialog-titlebar-close + .plan-title, .panel #widgets .close + .widget-title, .plan #widgets .close + .widget-title, .panel #widgets button.ui-dialog-titlebar-close + .widget-title, .plan #widgets button.ui-dialog-titlebar-close + .widget-title, #widgets .panel .close + .widget-title, #widgets .plan .close + .widget-title, #widgets .panel button.ui-dialog-titlebar-close + .widget-title, #widgets .plan button.ui-dialog-titlebar-close + .widget-title {
  max-width: 95%;
}

.panel-transparent {
  margin-bottom: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.panel-form {
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
}
@media (min-width: 768px) {
  .panel-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .panel-form .form-control, .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .panel-form input {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .panel-form .form-control-static {
    display: inline-block;
  }
  .panel-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .panel-form .input-group .input-group-addon,
.panel-form .input-group .input-group-btn,
.panel-form .input-group .form-control,
.panel-form .input-group div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_filter .panel-form .input-group input {
    width: auto;
  }
  .panel-form .input-group > .form-control, .panel-form div.dataTables_wrapper div.dataTables_filter .input-group > input, div.dataTables_wrapper div.dataTables_filter .panel-form .input-group > input {
    width: 100%;
  }
  .panel-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .panel-form .radio,
.panel-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .panel-form .radio label,
.panel-form .checkbox label {
    padding-left: 0;
  }
  .panel-form .radio input[type=radio],
.panel-form .checkbox input[type=checkbox] {
    position: relative;
    margin-left: 0;
  }
  .panel-form .has-feedback .form-control-feedback, .panel-form .has-feedback .form-group.search:before,
.panel-form .has-feedback .bs-searchbox:before {
    top: 0;
  }
}
.panel-form .form-control, .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .panel-form input {
  width: 100%;
}
.panel-form.panel-form-right {
  float: right;
  padding: 0;
  max-width: 120px;
}
@media (max-width: 767px) {
  .panel-form .form-group {
    margin-bottom: 5px;
  }
  .panel-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .panel-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 3.5px;
    margin-bottom: 3.5px;
    display: inline-block;
  }
}

#loading,
.loading {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99999;
  color: #1b99bd;
}

#loading {
  display: table;
  vertical-align: middle;
  background-color: #ffffff;
}

#loading .backdrop,
.loading .backdrop {
  background-color: #ffffff;
  opacity: 0.5;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#loading .outter,
.loading .outter {
  display: table;
  vertical-align: middle;
  height: 100%;
  width: 100%;
}
#loading .middle,
.loading .middle {
  display: table-cell;
  vertical-align: middle;
}
#loading .inner,
.loading .inner {
  margin-left: auto;
  margin-right: auto;
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
    transform: rotate(0deg) scale(1);
  }
  50% {
    -webkit-transform: rotate(180deg) scale(0.6);
    transform: rotate(180deg) scale(0.6);
  }
  100% {
    -webkit-transform: rotate(360deg) scale(1);
    transform: rotate(360deg) scale(1);
  }
}
.loader {
  display: block;
  position: relative;
  margin: auto;
  height: 35px;
  width: 35px;
}
.loader:before, .loader:after {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  content: " ";
  position: absolute;
  left: 0px;
  top: 0px;
  border: 2px solid #1b99bd;
  border-bottom-color: transparent;
  border-top-color: transparent;
  border-radius: 100%;
  height: 35px;
  width: 35px;
  -webkit-animation: rotate 1s 0s ease-in-out infinite;
  animation: rotate 1s 0s ease-in-out infinite;
}
.loader:after {
  display: inline-block;
  top: 10px;
  left: 10px;
  width: 15px;
  height: 15px;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  border-color: #1b99bd transparent;
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
}
.loader.large {
  height: 60px;
  width: 60px;
}
.loader.large:before {
  height: 60px;
  width: 60px;
  border-width: 3px;
}
.loader.large:after {
  top: 10px;
  left: 10px;
  width: 40px;
  height: 40px;
  border-width: 3px;
}
.loader.small {
  height: 20px;
  width: 20px;
}
.loader.small:before {
  height: 20px;
  width: 20px;
  border-width: 1px;
}
.loader.small:after {
  top: 5px;
  left: 5px;
  width: 10px;
  height: 10px;
  border-width: 1px;
}

body.sign-in-layout {
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
body.sign-in-layout .sign-in-text {
  color: #fff;
}
body.sign-in-layout .panel, body.sign-in-layout .plan {
  position: relative;
  background: none;
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
}
body.sign-in-layout .panel-body, body.sign-in-layout .plan .plan-body, .plan body.sign-in-layout .plan-body, body.sign-in-layout #widgets .widget-body, #widgets body.sign-in-layout .widget-body {
  position: relative;
}
body.sign-in-layout .panel-background {
  border-radius: 0;
  background: #fff;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 1;
}
body.sign-in-layout .app-links {
  margin: 20px 0;
}

.ui-dialog {
  position: absolute;
}

.ui-dialog-titlebar.ui-widget-header {
  cursor: move;
}

.ui-dialog.ui-widget.ui-widget-content {
  z-index: 1046;
  outline: none;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.plan .plan-body .icon.check {
  color: #1b99bd;
  line-height: 1;
  font-size: 1.6em;
}
.plan .plan-body .icon.check.disabled {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
#bottombar {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 997;
  width: 100%;
  max-width: 100%;
}

#bottom-history {
  display: none;
  width: 100%;
  max-height: calc(100% - 60px);
  background: #ffffff;
  z-index: 998;
}
#bottom-history .bottom-history-header {
  background: #f9f9f9;
}
#bottom-history .bottom-history-header:before, #bottom-history .bottom-history-header:after {
  content: " ";
  display: table;
}
#bottom-history .bottom-history-header:after {
  clear: both;
}
#bottom-history #graph {
  position: relative;
  /*
  #graph_sensors {
    position: absolute;
    bottom: 100%;
    left: 0;
    @extend .pull-left;
  }
  */
}
#bottom-history .graph-controls {
  background: #ffffff;
}
#bottom-history #hoverdata,
#bottom-history #hoverdata-date {
  margin: 10px;
  color: #666666;
}

.graph-1-wrap {
  width: 100%;
  height: 150px;
  overflow-x: hidden;
  overflow-y: hidden;
}

.graph-1-wrap .graph-1 {
  width: 100%;
  height: 150px;
}

#conversations {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 999999;
}
#conversations .conversation {
  width: 250px;
  margin-right: 10px;
  display: inline-block;
}

#conversation .close, #conversation button.ui-dialog-titlebar-close {
  display: none;
}
#conversation .messages {
  max-height: 350px;
}

.conversation .panel, .conversation .plan {
  margin-bottom: 0;
}

.messages {
  padding: 15px;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
  max-height: 250px;
  min-height: 250px;
  overflow-y: scroll;
}
.messages .message {
  margin-bottom: 10px;
}
.messages .message:before, .messages .message:after {
  content: " ";
  display: table;
}
.messages .message:after {
  clear: both;
}
.messages .message .text {
  display: inline-block;
  padding: 5px 10px;
  background: #eeeeee;
  color: #202020;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
}
.messages .message .author {
  display: block;
  padding-left: 10px;
  font-size: 10px;
  color: #999999;
}
.messages .message.me {
  text-align: right;
}

#dashboard {
  min-height: calc(100vh - 20px);
}
#dashboard .container {
  width: 90%;
}
#dashboard .modal-content {
  min-height: calc(100vh - 20px);
  background: #dddddd;
}
#dashboard .dashboard-block.auto-height .panel.panel-default .panel-body, #dashboard .dashboard-block.auto-height #widgets .panel.widget .panel-body, #widgets #dashboard .dashboard-block.auto-height .panel.widget .panel-body, #dashboard .dashboard-block.auto-height .plan .panel-body, #dashboard .dashboard-block.auto-height .panel.panel-default #widgets .widget-body, #widgets #dashboard .dashboard-block.auto-height .panel.panel-default .widget-body, #dashboard .dashboard-block.auto-height #widgets .panel.widget .widget-body, #widgets #dashboard .dashboard-block.auto-height .panel.widget .widget-body, #dashboard .dashboard-block.auto-height #widgets .plan.widget .widget-body, #dashboard .dashboard-block.auto-height .plan #widgets .widget-body, #widgets #dashboard .dashboard-block.auto-height .plan .widget-body, .plan #dashboard .dashboard-block.auto-height .panel.panel-default .plan-body, .plan #dashboard .dashboard-block.auto-height #widgets .panel.widget .plan-body, .plan #widgets #dashboard .dashboard-block.auto-height .panel.widget .plan-body, #dashboard .dashboard-block.auto-height .plan .plan-body {
  height: auto;
}
#dashboard .dashboard-block .panel.panel-default, #dashboard .dashboard-block #widgets .panel.widget, #widgets #dashboard .dashboard-block .panel.widget, #dashboard .dashboard-block .plan {
  border: 0;
}
#dashboard .dashboard-block .panel.panel-default .panel-heading, #dashboard .dashboard-block #widgets .panel.widget .panel-heading, #widgets #dashboard .dashboard-block .panel.widget .panel-heading, #dashboard .dashboard-block .plan .panel-heading, #dashboard .dashboard-block .panel.panel-default #widgets .widget-heading, #widgets #dashboard .dashboard-block .panel.panel-default .widget-heading, #dashboard .dashboard-block #widgets .panel.widget .widget-heading, #widgets #dashboard .dashboard-block .panel.widget .widget-heading, #dashboard .dashboard-block #widgets .plan.widget .widget-heading, #dashboard .dashboard-block .plan #widgets .widget-heading, #widgets #dashboard .dashboard-block .plan .widget-heading, .plan #dashboard .dashboard-block .panel.panel-default .plan-heading, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-heading, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-heading, #dashboard .dashboard-block .plan .plan-heading {
  border: 0;
}
#dashboard .dashboard-block .panel.panel-default .panel-heading .panel-title, #dashboard .dashboard-block #widgets .panel.widget .panel-heading .panel-title, #widgets #dashboard .dashboard-block .panel.widget .panel-heading .panel-title, #dashboard .dashboard-block .plan .panel-heading .panel-title, #dashboard .dashboard-block .panel.panel-default #widgets .widget-heading .panel-title, #widgets #dashboard .dashboard-block .panel.panel-default .widget-heading .panel-title, #dashboard .dashboard-block #widgets .panel.widget .widget-heading .panel-title, #widgets #dashboard .dashboard-block .panel.widget .widget-heading .panel-title, #dashboard .dashboard-block #widgets .plan.widget .widget-heading .panel-title, #dashboard .dashboard-block .plan #widgets .widget-heading .panel-title, #widgets #dashboard .dashboard-block .plan .widget-heading .panel-title, .plan #dashboard .dashboard-block .panel.panel-default .plan-heading .panel-title, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-heading .panel-title, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-heading .panel-title, #dashboard .dashboard-block .plan .plan-heading .panel-title, #dashboard .dashboard-block .panel.panel-default .panel-heading #widgets .widget-title, #widgets #dashboard .dashboard-block .panel.panel-default .panel-heading .widget-title, #dashboard .dashboard-block #widgets .panel.widget .panel-heading .widget-title, #widgets #dashboard .dashboard-block .panel.widget .panel-heading .widget-title, #dashboard .dashboard-block #widgets .plan.widget .panel-heading .widget-title, #dashboard .dashboard-block .plan .panel-heading #widgets .widget-title, #widgets #dashboard .dashboard-block .plan .panel-heading .widget-title, #dashboard .dashboard-block .panel.panel-default #widgets .widget-heading .widget-title, #widgets #dashboard .dashboard-block .panel.panel-default .widget-heading .widget-title, #dashboard .dashboard-block #widgets .panel.widget .widget-heading .widget-title, #widgets #dashboard .dashboard-block .panel.widget .widget-heading .widget-title, #dashboard .dashboard-block #widgets .plan.widget .widget-heading .widget-title, #dashboard .dashboard-block .plan #widgets .widget-heading .widget-title, #widgets #dashboard .dashboard-block .plan .widget-heading .widget-title, .plan #dashboard .dashboard-block .panel.panel-default .plan-heading #widgets .widget-title, #widgets .plan #dashboard .dashboard-block .panel.panel-default .plan-heading .widget-title, #dashboard .dashboard-block #widgets .panel.widget .plan .plan-heading .widget-title, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-heading .widget-title, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-heading .widget-title, #dashboard .dashboard-block #widgets .plan.widget .plan-heading .widget-title, #dashboard .dashboard-block .plan .plan-heading #widgets .widget-title, #widgets #dashboard .dashboard-block .plan .plan-heading .widget-title, #dashboard .dashboard-block .panel.panel-default .panel-heading .plan .plan-title, .plan #dashboard .dashboard-block .panel.panel-default .panel-heading .plan-title, #dashboard .dashboard-block #widgets .panel.widget .panel-heading .plan .plan-title, .plan #dashboard .dashboard-block #widgets .panel.widget .panel-heading .plan-title, #widgets #dashboard .dashboard-block .panel.widget .panel-heading .plan .plan-title, .plan #widgets #dashboard .dashboard-block .panel.widget .panel-heading .plan-title, #dashboard .dashboard-block .plan .panel-heading .plan-title, #dashboard .dashboard-block .panel.panel-default #widgets .widget-heading .plan .plan-title, .plan #dashboard .dashboard-block .panel.panel-default #widgets .widget-heading .plan-title, #widgets #dashboard .dashboard-block .panel.panel-default .widget-heading .plan .plan-title, .plan #widgets #dashboard .dashboard-block .panel.panel-default .widget-heading .plan-title, #dashboard .dashboard-block #widgets .panel.widget .widget-heading .plan .plan-title, .plan #dashboard .dashboard-block #widgets .panel.widget .widget-heading .plan-title, #widgets #dashboard .dashboard-block .panel.widget .widget-heading .plan .plan-title, .plan #widgets #dashboard .dashboard-block .panel.widget .widget-heading .plan-title, #dashboard .dashboard-block #widgets .plan.widget .widget-heading .plan-title, #dashboard .dashboard-block .plan #widgets .widget-heading .plan-title, #widgets #dashboard .dashboard-block .plan .widget-heading .plan-title, .plan #dashboard .dashboard-block .panel.panel-default .plan-heading .plan-title, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-heading .plan-title, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-heading .plan-title, #dashboard .dashboard-block .plan .plan-heading .plan-title {
  float: none;
}
#dashboard .dashboard-block .panel.panel-default .panel-body, #dashboard .dashboard-block #widgets .panel.widget .panel-body, #widgets #dashboard .dashboard-block .panel.widget .panel-body, #dashboard .dashboard-block .plan .panel-body, #dashboard .dashboard-block .panel.panel-default #widgets .widget-body, #widgets #dashboard .dashboard-block .panel.panel-default .widget-body, #dashboard .dashboard-block #widgets .panel.widget .widget-body, #widgets #dashboard .dashboard-block .panel.widget .widget-body, #dashboard .dashboard-block #widgets .plan.widget .widget-body, #dashboard .dashboard-block .plan #widgets .widget-body, #widgets #dashboard .dashboard-block .plan .widget-body, .plan #dashboard .dashboard-block .panel.panel-default .plan-body, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-body, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-body, #dashboard .dashboard-block .plan .plan-body {
  height: 340px;
  overflow: auto;
}
#dashboard .dashboard-block table .legendColorBox {
  padding: 5px;
}
#dashboard .dashboard-block table .legendLabel {
  padding: 5px;
  font-size: 12px !important;
  font-weight: bold;
}
#dashboard .dashboard-block .stat-box {
  display: block;
  padding: 15px;
  margin-bottom: 17px;
  border: 1px solid transparent;
  border-radius: 0;
  color: #202020;
  text-align: center;
}
#dashboard .dashboard-block .stat-box .count {
  font-weight: bold;
  font-size: larger;
}
#dashboard .dashboard-block a.link {
  color: #202020;
}
#dashboard .dashboard-block .link {
  text-decoration: underline;
  cursor: pointer;
}
#dashboard .dashboard-block .link a {
  color: #202020;
}

#block_device_overview .panel-transparent > .panel-body, #block_device_overview #widgets .panel-transparent > .widget-body, #widgets #block_device_overview .panel-transparent > .widget-body, #block_device_overview .plan .panel-transparent > .plan-body, .plan #block_device_overview .panel-transparent > .plan-body {
  padding-top: 0;
}

#dashboard .options-dropdown, #setup-form-dashboard .options-dropdown {
  margin: 0 15px 0 15px;
}
#dashboard .options-dropdown hr, #setup-form-dashboard .options-dropdown hr {
  margin-top: 0;
}

.dashboard-widget {
  background: #eeeeee;
  padding: 10px 5px 8px 10px;
  margin-bottom: 10px;
  height: 38px;
}

.bootstrap-select.hide-picker {
  height: 0;
}
.bootstrap-select.hide-picker .dropdown-toggle {
  display: none;
}

.thumbnail-preview {
  position: relative;
  z-index: 0;
  cursor: pointer;
}
.thumbnail-preview > .icon {
  font-size: 16px;
  padding: 2px;
}
.thumbnail-preview .full-preview {
  position: absolute;
  background-color: white;
  padding: 5px;
  right: 15px;
  top: 15px;
  border: 1px solid gray;
  visibility: hidden;
  color: black;
  text-decoration: none;
}
.thumbnail-preview .full-preview img {
  max-width: 400px;
  max-height: 400px;
}
.thumbnail-preview:hover {
  background-color: transparent;
  z-index: 50;
}
.thumbnail-preview:hover .full-preview {
  visibility: visible;
}

table.dataTable {
  clear: both;
  margin-top: 6px !important;
  margin-bottom: 6px !important;
  max-width: none !important;
  border-collapse: separate !important;
}
table.dataTable.nowrap th,
table.dataTable.nowrap td {
  white-space: nowrap;
}
table.dataTable td,
table.dataTable th {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
table.dataTable td.dataTables_empty,
table.dataTable th.dataTables_empty {
  text-align: center;
}
table.dataTable thead > tr > th:active,
table.dataTable thead > tr > td:active {
  outline: none;
}

div.dataTables_wrapper .bottom {
  border-top: 1px solid #d9d9d9;
}
div.dataTables_wrapper div.dataTables_length label {
  font-weight: normal;
  text-align: left;
  white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_length select {
  width: 75px;
  display: inline-block;
}
div.dataTables_wrapper div.dataTables_filter {
  text-align: right;
}
div.dataTables_wrapper div.dataTables_filter label {
  font-weight: normal;
  white-space: nowrap;
  text-align: left;
}
div.dataTables_wrapper div.dataTables_filter input {
  margin-left: 0.5em;
  display: inline-block;
  width: auto;
}
div.dataTables_wrapper div.dataTables_info {
  padding-top: 8px;
  white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
  margin: 2px 0;
  white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  margin-left: -100px;
  margin-top: -26px;
  text-align: center;
  padding: 1em 0;
}
@media screen and (max-width: 767px) {
  div.dataTables_wrapper div.dataTables_length,
div.dataTables_wrapper div.dataTables_filter,
div.dataTables_wrapper div.dataTables_info,
div.dataTables_wrapper div.dataTables_paginate {
    text-align: center;
  }
}

div.table-responsive > div.dataTables_wrapper > div.row, div.table-responsive > div.dataTables_wrapper > div.checkboxes, div.table-responsive > div.dataTables_wrapper > div.plans {
  margin: 0;
}

div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child, div.table-responsive > div.dataTables_wrapper > div.checkboxes > div[class^=col-]:first-child, div.table-responsive > div.dataTables_wrapper > div.plans > div[class^=col-]:first-child {
  padding-left: 0;
}

div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child, div.table-responsive > div.dataTables_wrapper > div.checkboxes > div[class^=col-]:last-child, div.table-responsive > div.dataTables_wrapper > div.plans > div[class^=col-]:last-child {
  padding-right: 0;
}

.dataTables_paginate {
  float: right;
  padding-left: 0;
  margin: 7px 0;
  border-radius: 0;
}
.dataTables_paginate > span {
  line-height: 1.428571429;
}
.dataTables_paginate .paginate_button {
  padding: 6px 12px;
  line-height: 1.428571429;
  text-decoration: none;
  color: #202020;
  background-color: #ffffff;
  border: 1px solid transparent;
  margin-left: -1px;
}
.dataTables_paginate .paginate_button:first-child {
  margin-left: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.dataTables_paginate .paginate_button:last-child {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.dataTables_paginate .paginate_button:hover {
  cursor: pointer;
}
.dataTables_paginate .paginate_button:hover, .dataTables_paginate .paginate_button:focus {
  z-index: 3;
  color: #202020;
  background-color: #f9f9f9;
  border-color: transparent;
}
.dataTables_paginate .paginate_button.current, .dataTables_paginate .paginate_button.current:hover, .dataTables_paginate .paginate_button.current:focus {
  z-index: 2;
  color: #1b99bd;
  background-color: #f9f9f9;
  border-color: transparent;
  cursor: default;
}
.dataTables_paginate .paginate_button.disabled, .dataTables_paginate .paginate_button.disabled:hover, .dataTables_paginate .paginate_button.disabled:focus {
  color: #aaaaaa;
  background-color: #ffffff;
  border-color: transparent;
  cursor: not-allowed;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xheW91dC9fdmFyaWFibGVzLnNjc3MiLCIuLi9saWJyYXJpZXMvX2Jvb3RzdHJhcC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fbm9ybWFsaXplLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19wcmludC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fc2NhZmZvbGRpbmcuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL192ZW5kb3ItcHJlZml4ZXMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vY29sb3VyaW5nL19tYWluLWJsdWUuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL190YWItZm9jdXMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fdHlwZS5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX3RleHQtb3ZlcmZsb3cuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2dyaWQuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3RhYmxlcy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fZm9ybXMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fYnV0dG9ucy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19vcGFjaXR5LnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19jb21wb25lbnQtYW5pbWF0aW9ucy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fZHJvcGRvd25zLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19yZXNldC1maWx0ZXIuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2J1dHRvbi1ncm91cHMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19pbnB1dC1ncm91cHMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX25hdnMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX25hdmJhci5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2xhYmVscy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2xhYmVscy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fYmFkZ2VzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL190aHVtYm5haWxzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19hbGVydHMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19hbGVydHMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3Byb2dyZXNzLWJhcnMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX21lZGlhLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19saXN0LWdyb3VwLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fcGFuZWxzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fcGFuZWxzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19jbG9zZS5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fbW9kYWxzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL190b29sdGlwLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fdXRpbGl0aWVzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fY2VudGVyLWJsb2NrLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9faGlkZS10ZXh0LnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19yZXNwb25zaXZlLXV0aWxpdGllcy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc3BvbnNpdmUtdmlzaWJpbGl0eS5zY3NzIiwiLi4vbGlicmFyaWVzL19qcXVlcnktdWkuc2NzcyIsIi4uL2xpYnJhcmllcy9hbmltYXRlL19hbmltYXRlLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19mb250LWF3ZXNvbWUuc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX3BhdGguc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX2NvcmUuc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX2xhcmdlci5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fZml4ZWQtd2lkdGguc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX2xpc3Quc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fYm9yZGVyZWQtcHVsbGVkLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19hbmltYXRlZC5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fcm90YXRlZC1mbGlwcGVkLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19taXhpbnMuc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX3N0YWNrZWQuc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX2ljb25zLnNjc3MiLCIuLi9saWJyYXJpZXMvX2ZvbnQtY3VzdG9tLnNjc3MiLCIuLi9saWJyYXJpZXMvX2Jvb3RzdHJhcC1jaGVja2JveC1taXhpbnMuc2NzcyIsIi4uL2xpYnJhcmllcy9fYm9vdHN0cmFwLWNoZWNrYm94LnNjc3MiLCIuLi9saWJyYXJpZXMvX2Jvb3RzdHJhcC1kYXRlcGlja2VyLnNjc3MiLCIuLi9saWJyYXJpZXMvX2Jvb3RzdHJhcC1kYXRldGltZXBpY2tlci5zY3NzIiwiLi4vbGlicmFyaWVzL19ib290c3RyYXAtc2VsZWN0LnNjc3MiLCIuLi9saWJyYXJpZXMvX2Jvb3RzdHJhcC1jb2xvcnBpY2tlci5zY3NzIiwiLi4vbGlicmFyaWVzL19ib290c3RyYXAtdG9hc3RyLnNjc3MiLCIuLi9saWJyYXJpZXMvbGVhZmxldC9fbGVhZmxldC5zY3NzIiwiLi4vbGlicmFyaWVzL2xlYWZsZXQvX2xlYWZsZXQtY29udHJvbHMtbGF5ZXIuc2NzcyIsIi4uL2xpYnJhcmllcy9sZWFmbGV0L19tYXJrZXJzLWNsdXN0ZXIuc2NzcyIsIi4uL21peGlucy9fbWl4aW5zLnNjc3MiLCIuLi9saWJyYXJpZXMvbGVhZmxldC9fZHJhdy5zY3NzIiwiLi4vbGlicmFyaWVzL2xlYWZsZXQvX3BvcHVwLnNjc3MiLCIuLi9saWJyYXJpZXMvX2F1dG9jb21wbGV0ZS5zY3NzIiwiLi4vbGlicmFyaWVzL2ludGwtdGVsLWlucHV0L19pbnRsLXRlbC1pbnB1dC5zY3NzIiwiLi4vbGlicmFyaWVzL2ludGwtdGVsLWlucHV0L19zcHJpdGUuc2NzcyIsIi4uL2xheW91dC9fYmFzZS5zY3NzIiwiLi4vbGF5b3V0L19pY29ucy5zY3NzIiwiLi4vbGF5b3V0L19oZWFkZXIuc2NzcyIsIi4uL2xheW91dC9fc2Nyb2xsYmFyLnNjc3MiLCIuLi9sYXlvdXQvX3NpZGViYXIuc2NzcyIsIi4uL2xheW91dC9fbmF2cy5zY3NzIiwiLi4vbGF5b3V0L19uYXZiYXJzLnNjc3MiLCIuLi9sYXlvdXQvX2J1dHRvbnMuc2NzcyIsIi4uL2xheW91dC9faW5wdXQtZ3JvdXBzLnNjc3MiLCIuLi9sYXlvdXQvX2Ryb3Bkb3duLnNjc3MiLCIuLi9sYXlvdXQvX2Zvcm1zLnNjc3MiLCIuLi9sYXlvdXQvX21vZGFscy5zY3NzIiwiLi4vbGF5b3V0L190YWJsZXMuc2NzcyIsIi4uL2xheW91dC9fbWFwLnNjc3MiLCIuLi9sYXlvdXQvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2xheW91dC9fd2lkZ2V0cy5zY3NzIiwiLi4vbGF5b3V0L19ncm91cHMuc2NzcyIsIi4uL2xheW91dC9fcGFuZWxzLnNjc3MiLCIuLi9sYXlvdXQvX2xvYWRlci5zY3NzIiwiLi4vbGF5b3V0L19zaWduLWluLnNjc3MiLCIuLi9sYXlvdXQvX2RpYWxvZy5zY3NzIiwiLi4vbGF5b3V0L19wbGFucy5zY3NzIiwiLi4vbGF5b3V0L19ib3R0b21iYXIuc2NzcyIsIi4uL2xheW91dC9fY2hhdC5zY3NzIiwiLi4vbGF5b3V0L19kYXNoYm9hcmQuc2NzcyIsIi4uL2xheW91dC9fYXV0b2NvbXBsZXRlLXNlbGVjdC5zY3NzIiwiLi4vbGF5b3V0L190aHVtYm5haWxzLnNjc3MiLCIuLi9sYXlvdXQvX2RhdGF0YWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBb0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBeUJRO0FDN0NSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQVFBO0VBQ0U7RUFDQTtFQUNBOzs7QUFPRjtFQUNFOzs7QUFhRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQWFFOzs7QUFRRjtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQVFGO0VBQ0U7RUFDQTs7O0FBUUY7QUFBQTtFQUVFOzs7QUFVRjtFQUNFOzs7QUFRRjtBQUFBO0VBRUU7OztBQVVGO0VBQ0U7OztBQU9GO0FBQUE7RUFFRTs7O0FBT0Y7RUFDRTs7O0FBUUY7RUFDRTtFQUNBOzs7QUFPRjtFQUNFO0VBQ0E7OztBQU9GO0VBQ0U7OztBQU9GO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBVUY7RUFDRTs7O0FBT0Y7RUFDRTs7O0FBVUY7RUFDRTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFPRjtFQUNFOzs7QUFPRjtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQWtCRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTtFQUNBOzs7QUFPRjtFQUNFOzs7QUFVRjtBQUFBO0VBRUU7OztBQVdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7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RjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFtQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FGR047RUVyQ0U7SUFDRTs7O0VBT0E7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBbUJGO0lBQ0U7OztFQU5GO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQU5GO0lBQ0U7OztFQU5GO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQW1CRjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7QUZZTjtFRTlDRTtJQUNFOzs7RUFPQTtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFtQkY7SUFDRTs7O0VBTkY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBTkY7SUFDRTs7O0VBTkY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBbUJGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztFQURGO0lBQ0U7OztBRnFCTjtFRXZERTtJQUNFOzs7RUFPQTtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFERjtJQUNFOzs7RUFtQkY7SUFDRTs7O0VBTkY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VBREY7SUFDRTs7O0VB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Q0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFO0VBQ0E7OztBQVNBO0FBQUE7QUFBQTtBQUFBO0VBR0UsUXBCbkYwQzs7O0FvQnlGNUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUUsUXBCM0YwQzs7O0FvQm1HMUM7QUFBQTtBQUFBO0VBQ0UsUXBCcEd3Qzs7O0FvQitHOUM7RUFFRTtFQUNBO0VBRUE7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQTs7O0FDOU9GO0FBQUE7QUFBQTtFQUNFLFFmOEk2QjtFZTdJN0I7RUFDQSxXckIxQjBDO0VxQjJCMUMsYWY2QndCO0VlNUJ4QixlckJMMEM7OztBcUJRNUM7QUFBQTtBQUFBO0VBQ0UsUWZzSTZCO0Vlckk3QixhZnFJNkI7OztBZWxJL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTs7O0FEOE9GO0VBQ0UsUWQvRzZCO0VjZ0g3QjtFQUNBLFdwQnZSMEM7RW9Cd1IxQyxhZGhPd0I7RWNpT3hCLGVwQmxRMEM7O0FvQm9RNUM7RUFDRSxRZHRINkI7RWN1SDdCLGFkdkg2Qjs7QWN5SC9CO0FBQUE7RUFFRTs7QUFFRjtFQUNFLFFkOUg2QjtFYytIN0I7RUFDQTtFQUNBLFdwQnZTMEM7RW9Cd1MxQyxhZGhQd0I7OztBZWpDMUI7QUFBQTtBQUFBO0VBQ0UsUWY0STZCO0VlM0k3QjtFQUNBLFdyQnpCMEM7RXFCMEIxQyxhZjRCd0I7RWUzQnhCLGVyQk4wQzs7O0FxQlM1QztBQUFBO0FBQUE7RUFDRSxRZm9JNkI7RWVuSTdCLGFmbUk2Qjs7O0FlaEkvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFOzs7QUR3UUY7RUFDRSxRZDNJNkI7RWM0STdCO0VBQ0EsV3BCaFQwQztFb0JpVDFDLGFkM1B3QjtFYzRQeEIsZXBCN1IwQzs7QW9CK1I1QztFQUNFLFFkbEo2QjtFY21KN0IsYWRuSjZCOztBY3FKL0I7QUFBQTtFQUVFOztB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dkJLNEM7RUtrSjVDLHFCaUJyTXFCO0VqQnNNbEIsa0JpQnRNa0I7RWpCdU1qQixpQmlCdk1pQjtFakJ3TWIsYWlCeE1hOztBQUtuQjtBZHRCRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVFBO0VBQ0E7O0FjbUJBO0VBR0UsT3RCeEJhO0VzQnlCYjs7QUFHRjtFQUVFO0VBQ0E7O0FBSUY7RUFHRSxRdEI2STBDO0V3QjFMNUMsU0Y4Q21CO0VFM0NuQjtFbkI4REEsb0JpQmxCRTtFakJtQk0sWWlCbkJOOzs7QUFPRjtFQUVFOzs7QUFRSjtFQzdERSxPdkJJZTtFdUJIZixrQnZCTGE7RXVCTWIsY3ZCTmE7O0F1QlFiO0VBRUUsT3ZCRmE7RXVCR2I7RUFDSTs7QUFFTjtFQUNFLE92QlBhO0V1QlFiO0VBQ0k7O0FBRU47RUFHRSxPdkJkYTtFdUJlYjtFQUNJOztBQUVKO0VBR0UsT3ZCckJXO0V1QnNCWDtFQUNJOztBQUdSO0VBR0U7O0FBS0E7RUFNRSxrQnZCaERTO0V1QmlETCxjdkJqREs7O0F1QnFEYjtFQUNFLE92QnREVztFdUJ1RFgsa0J2Qi9DYTs7O0FzQjREakI7RUNoRUUsT2pCb0orQjtFaUJuSi9CLGtCaEJQdUI7RWdCUXZCLGNqQm9KK0I7O0FpQmxKL0I7RUFFRSxPakI4STZCO0VpQjdJN0I7RUFDSTs7QUFFTjtFQUNFLE9qQnlJNkI7RWlCeEk3QjtFQUNJOztBQUVOO0VBR0UsT2pCa0k2QjtFaUJqSTdCO0VBQ0k7O0FBRUo7RUFHRSxPakIySDJCO0VpQjFIM0I7RUFDSTs7QUFHUjtFQUdFOztBQUtBO0VBTUUsa0JoQmxEbUI7RWdCbURmLGNqQnlHdUI7O0FpQnJHL0I7RUFDRSxPaEJ4RHFCO0VnQnlEckIsa0JqQmlHNkI7OztBZ0JoRmpDO0VDcEVFLE9qQndKK0I7RWlCdkovQixrQmpCVXNCO0VpQlR0QixjakJ3SitCOztBaUJ0Si9CO0VBRUUsT2pCa0o2QjtFaUJqSjdCO0VBQ0k7O0FBRU47RUFDRSxPakI2STZCO0VpQjVJN0I7RUFDSTs7QUFFTjtFQUdFLE9qQnNJNkI7RWlCckk3QjtFQUNJOztBQUVKO0VBR0UsT2pCK0gyQjtFaUI5SDNCO0VBQ0k7O0FBR1I7RUFHRTs7QUFLQTtFQU1FLGtCakJqQ2tCO0VpQmtDZCxjakI2R3VCOztBaUJ6Ry9CO0VBQ0UsT2pCdkNvQjtFaUJ3Q3BCLGtCakJxRzZCOzs7QWdCaEZqQztFQ3hFRSxPakI0SitCO0VpQjNKL0Isa0JqQldzQjtFaUJWdEIsY2pCNEorQjs7QWlCMUovQjtFQUVFLE9qQnNKNkI7RWlCcko3QjtFQUNJOztBQUVOO0VBQ0UsT2pCaUo2QjtFaUJoSjdCO0VBQ0k7O0FBRU47RUFHRSxPakIwSTZCO0VpQnpJN0I7RUFDSTs7QUFFSjtFQUdFLE9qQm1JMkI7RWlCbEkzQjtFQUNJOztBQUdSO0VBR0U7O0FBS0E7RUFNRSxrQmpCaENrQjtFaUJpQ2QsY2pCaUh1Qjs7QWlCN0cvQjtFQUNFLE9qQnRDb0I7RWlCdUNwQixrQmpCeUc2Qjs7O0FnQmhGakM7RUM1RUUsT2pCZ0srQjtFaUIvSi9CLGtCakJZc0I7RWlCWHRCLGNqQmdLK0I7O0FpQjlKL0I7RUFFRSxPakIwSjZCO0VpQnpKN0I7RUFDSTs7QUFFTjtFQUNFLE9qQnFKNkI7RWlCcEo3QjtFQUNJOztBQUVOO0VBR0UsT2pCOEk2QjtFaUI3STdCO0VBQ0k7O0FBRUo7RUFHRSxPakJ1STJCO0VpQnRJM0I7RUFDSTs7QUFHUjtFQUdFOztBQUtBO0VBTUUsa0JqQi9Ca0I7RWlCZ0NkLGNqQnFIdUI7O0FpQmpIL0I7RUFDRSxPakJyQ29CO0VpQnNDcEIsa0JqQjZHNkI7OztBZ0JoRmpDO0VDaEZFLE9qQm9LK0I7RWlCbksvQixrQmpCYXNCO0VpQlp0QixjakJvSytCOztBaUJsSy9CO0VBRUUsT2pCOEo2QjtFaUI3SjdCO0VBQ0k7O0FBRU47RUFDRSxPakJ5SjZCO0VpQnhKN0I7RUFDSTs7QUFFTjtFQUdFLE9qQmtKNkI7RWlCako3QjtFQUNJOztBQUVKO0VBR0UsT2pCMkkyQjtFaUIxSTNCO0VBQ0k7O0FBR1I7RUFHRTs7QUFLQTtFQU1FLGtCakI5QmtCO0VpQitCZCxjakJ5SHVCOztBaUJySC9CO0VBQ0UsT2pCcENvQjtFaUJxQ3BCLGtCakJpSDZCOzs7QWdCM0VqQztFQUNFLE9maEd1QjtFZWlHdkI7RUFDQTs7QUFFQTtFQUtFO0VqQnJDRixvQmlCc0NFO0VqQnJDTSxZaUJxQ047O0FBRUY7RUFJRTs7QUFFRjtFQUVFLE9oQmpGb0I7RWdCa0ZwQixpQmhCaEZvQjtFZ0JpRnBCOztBQUlBO0VBRUUsT3RCNUZtQjtFc0I2Rm5COzs7QUFTTjtFQ3ZFRTtFQUNBLFd2QmI0QztFdUJjNUMsYWpCd0MwQjtFaUJ2QzFCLGV2Qk00Qzs7O0FzQmtFOUM7RUMzRUU7RUFDQSxXdkJkNEM7RXVCZTVDLGFqQnlDMEI7RWlCeEMxQixldkJPNEM7OztBc0JxRTlDO0VDL0VFO0VBQ0EsV3ZCZDRDO0V1QmU1QyxhakJ5QzBCO0VpQnhDMUIsZXZCTzRDOzs7QXNCNkU5QztFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7OztBQU9BO0FBQUE7QUFBQTtFQUNFOzs7QUc1Sko7RUFDRTtFcEIrS0Esb0JvQjlLQTtFcEIrS0ssZW9CL0tMO0VwQmdMUSxZb0JoTFI7O0FBQ0E7RUFDRTs7O0FBSUo7RUFDRTs7QUFFQTtFQUFZOzs7QUFLZDtFQUFvQjs7O0FBRXBCO0VBQW9COzs7QUFFcEI7RUFDRTtFQUNBO0VBQ0E7RXBCOEpBLDZCb0I3SkE7RXBCOEpRLHFCb0I5SlI7RXBCcUtBLDZCb0JwS0E7RXBCcUtRLHFCb0JyS1I7RXBCd0tBLG9Db0J2S29DO0VwQndLNUIsNEJvQnhLNEI7OztBQzdCdEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0FBQUE7RUFFRTs7O0FBSUY7RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQSxTMUJFeUI7RTBCRHpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFcxQk80QztFMEJONUM7RUFDQSxrQjFCM0NhO0UwQjRDYjtFQUNBO0VBQ0EsZTFCeUI0QztFS0g1QyxvQnFCckJBO0VyQnNCUSxZcUJ0QlI7RUFDQTs7QUFLQTtF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Qyw0QkdtVThCO0VIbFU3QiwyQkdrVTZCOzs7QUFRaEM7RUNoVkU7RUFDQTs7QURrVkE7RUNuVkE7RUFDQTs7QURxVkE7RUN0VkE7RUFDQTs7O0FEK1ZGO0VDaFdFO0VBQ0E7O0FEa1dBO0VBSEY7SUFJSTtJQUNBLGEzQkcrQjtJMkJGL0IsYzNCRStCOzs7O0EyQlduQztFQUNFO0lBQ0U7OztFQUVGO0lBQ0U7SUFDRjs7RUFFRTtJQUNFOzs7QUFVTjtFQUNFLGtCakM3WWE7RWlDOFliLGNqQzlYaUI7O0FpQ2dZakI7RUFDRSxPakMzWWE7O0FpQzRZYjtFQUVFLE8xQnBabUI7RTBCcVpuQixrQmpDclpTOztBaUN5WmI7RUFDRSxPakNwWmE7O0FpQ3daYjtFQUNFLE9qQ3paVzs7QWlDMlpYO0VBRUUsTzFCbmFpQjtFMEJvYWpCLGtCakNuYU87O0FpQ3VhVDtFQUdFLE8xQjNhaUI7RTBCNGFqQixrQmpDM2FPOztBaUMrYVQ7RUFHRSxPakN2VnNDO0VpQ3dWdEMsa0JqQ3ZWc0M7O0FpQzRWNUM7RUFDRSxjakMxYWU7O0FpQzJhZjtFQUVFLGtCakM1YlM7O0FpQzhiWDtFQUNFLGtCMUJoY21COztBMEJvY3ZCO0FBQUE7RUFFRSxjakN0YmU7O0FpQzZiYjtFQUdFLGtCakMvY087RWlDZ2RQLE8xQmpkaUI7O0EwQnFkckI7RUFHSTtJQUNFLE9qQ25kTzs7RWlDb2RQO0lBRUUsTzFCNWRhO0kwQjZkYixrQmpDNWRHOztFaUNnZUw7SUFHRSxPMUJwZWE7STBCcWViLGtCakNwZUc7O0VpQ3dlTDtJQUdFLE9qQ2haa0M7SWlDaVpsQyxrQmpDaFprQzs7O0FpQzRaNUM7RUFDRSxPakNwZmE7O0FpQ3FmYjtFQUNFLE8xQjVmbUI7O0EwQmdnQnZCO0VBQ0UsT2pDM2ZhOztBaUM0ZmI7RUFFRSxPMUJwZ0JtQjs7QTBCd2dCbkI7RUFFRSxPakM5YXNDOzs7QWlDc2I5QztFQUNFLGtCM0J0STBDO0UyQnVJMUMsYzNCdEkwQzs7QTJCd0kxQztFQUNFLE8zQnRJd0M7O0EyQnVJeEM7RUFFRSxPM0IvSHNDO0UyQmdJdEMsa0IzQi9Ic0M7O0EyQm1JMUM7RUFDRSxPM0JwSndDOztBMkJ3SnhDO0VBQ0UsTzNCcEpzQzs7QTJCc0p0QztFQUVFLE8zQnZKb0M7RTJCd0pwQyxrQjNCdkpvQzs7QTJCMkp0QztFQUdFLE8zQi9Kb0M7RTJCZ0twQyxrQjNCN0pvQzs7QTJCaUt0QztFQUdFLE8zQm5Lb0M7RTJCb0twQyxrQjNCbktvQzs7QTJCeUsxQztFQUNFLGMzQmhLd0M7O0EyQmlLeEM7RUFFRSxrQjNCcktzQzs7QTJCdUt4QztFQUNFLGtCM0J2S3NDOztBMkIySzFDO0FBQUE7RUFFRTs7QUFNRTtFQUdFLGtCM0JqTW9DO0UyQmtNcEMsTzNCck1vQzs7QTJCeU14QztFQUdJO0lBQ0UsYzNCak5rQzs7RTJCbU5wQztJQUNFLGtCM0JwTmtDOztFMkJzTnBDO0lBQ0UsTzNCcE5rQzs7RTJCcU5sQztJQUVFLE8zQnROZ0M7STJCdU5oQyxrQjNCdE5nQzs7RTJCME5sQztJQUdFLE8zQjlOZ0M7STJCK05oQyxrQjNCNU5nQzs7RTJCZ09sQztJQUdFLE8zQmxPZ0M7STJCbU9oQyxrQjNCbE9nQzs7O0EyQnlPMUM7RUFDRSxPM0JoUHdDOztBMkJpUHhDO0VBQ0UsTzNCalBzQzs7QTJCcVAxQztFQUNFLE8zQnZQd0M7O0EyQndQeEM7RUFFRSxPM0J6UHNDOztBMkI2UHRDO0VBRUUsTzNCM1BvQzs7O0E2Qm5aNUM7RUFDRTtFQUNBO0VBQ0E7RUFDQSxlbkNnRTRDOztBbUM5RDVDO0VBQ0U7O0FBQ0E7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBLGE3QjhDb0I7RTZCN0NwQjtFQUNBLE9uQ1pXO0VtQ2FYLGtCbkNuQlM7RW1Db0JUO0VBQ0E7O0FBR0E7QUFBQTtFQUVFO0VMWE4sMkI5QndENEM7RThCdkR6Qyx3QjlCdUR5Qzs7QW1DeEN4QztBQUFBO0VMeEJKLDRCOUJnRTRDO0U4Qi9EekMseUI5QitEeUM7O0FtQy9CMUM7QUFBQTtBQUFBO0VBRUU7RUFDQSxPbkNyQ1c7RW1Dc0NYLGtCbkMzQ1M7RW1DNENULGNuQ3dMd0M7O0FtQ2xMMUM7QUFBQTtBQUFBO0FBQUE7RUFHRTtFQUNBLE81QnZEbUI7RTRCd0RuQixrQm5DdkRTO0VtQ3dEVCxjbkM0S3dDO0VtQzNLeEM7O0FBS0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUUsT25DekRXO0VtQzBEWCxrQm5DdEVTO0VtQ3VFVCxjbkM4SndDO0VtQzdKeEMsUW5DcUh3Qzs7O0FvQ3pMMUM7QUFBQTtFQUVFO0VBQ0EsV3BDNEN3QztFb0MzQ3hDLGE5QmlHc0I7O0E4QjlGdEI7QUFBQTtFTklKLDJCOUJ5RDRDO0U4QnhEekMsd0I5QndEeUM7O0FvQ3ZEeEM7QUFBQTtFTlZKLDRCOUJpRTRDO0U4QmhFekMseUI5QmdFeUM7OztBb0NwRTFDO0FBQUE7RUFFRTtFQUNBLFdwQzJDd0M7RW9DMUN4QyxhOUJrR3NCOztBOEIvRnRCO0FBQUE7RU5JSiwyQjlCMEQ0QztFOEJ6RHpDLHdCOUJ5RHlDOztBb0N4RHhDO0FBQUE7RU5WSiw0QjlCa0U0QztFOEJqRXpDLHlCOUJpRXlDOzs7QXFDckU5QztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPL0I4akI0QjtFK0I3akI1QjtFQUNBO0VBQ0E7RUFDQTs7QUFLQTtFQUNFOztBQUlGO0VBQ0U7RUFDQTs7O0FBTUY7RUFFRSxPL0J3aUIwQjtFK0J2aUIxQjtFQUNBOzs7QUFPSjtFQ3hDRSxrQnRDNkJ1Qjs7QXNDMUJyQjtFQUVFOzs7QUR1Q047RUM1Q0Usa0IvQkh1Qjs7QStCTXJCO0VBRUU7OztBRDJDTjtFQ2hERSxrQmhDY3NCOztBZ0NYcEI7RUFFRTs7O0FEK0NOO0VDcERFLGtCaENlc0I7O0FnQ1pwQjtFQUVFOzs7QURtRE47RUN4REUsa0JoQ2dCc0I7O0FnQ2JwQjtFQUVFOzs7QUR1RE47RUM1REUsa0JoQ2lCc0I7O0FnQ2RwQjtFQUVFOzs7QUNGTjtFQUNFO0VBQ0E7RUFDQTtFQUNBLFd2Q3dDNEM7RXVDdkM1QyxhakNxd0I0QjtFaUNwd0I1QixPakMwdkI0QjtFaUN6dkI1QixhakNvd0I0QjtFaUNud0I1QjtFQUNBO0VBQ0E7RUFDQSxrQnZDZXVCO0V1Q2R2QixlakNnd0I0Qjs7QWlDN3ZCNUI7RUFDRTs7QUFJRjtFQUNFO0VBQ0E7O0FBR0Y7RUFFRTtFQUNBOztBQU1GO0VBRUUsT2hDMUNxQjtFZ0MyQ3JCLGtCakNtdUIwQjs7QWlDaHVCNUI7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQU1GO0VBRUUsT2pDeXNCMEI7RWlDeHNCMUI7RUFDQTs7O0FDM0RKO0VBQ0U7RUFDQSxTeEM0TzRDO0V3QzNPNUMsZWxDdUR3QjtFa0N0RHhCLGFsQ29Ed0I7RWtDbkR4QixrQnhDVmE7RXdDV2I7RUFDQSxleEM0RDRDO0VLZ0g1QyxvQm1DM0tBO0VuQzRLSyxlbUM1S0w7RW5DNktRLFltQzdLUjs7QUFFQTtBQUFBO0UvQlBBLFNBRDhCO0VBRTlCO0VBQ0E7RStCUUU7RUFDQTs7QUFNRjtFQUNFLFNsQzR0QjBCO0VrQzN0QjFCLE94Q3RCYTs7O0F3QzJCakI7QUFBQTtBQUFBO0VBR0UsY2pDcEN1Qjs7O0FrQ1F6QjtFQUNFLFNuQ3ltQjRCO0VtQ3htQjVCLGVuQ3NEd0I7RW1DckR4QjtFQUNBLGV6QzJENEM7O0F5Q3hENUM7RUFDRTtFQUVBOztBQUlGO0VBQ0UsYW5DNmxCMEI7O0FtQ3psQjVCO0FBQUE7QUFBQTtFQUVFOztBQUdGO0VBQ0U7OztBQVFKO0FBQUE7RUFFRTs7QUFHQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUo7RUN2REUsa0JwQ29mK0I7RW9DbmYvQixjcENvZitCO0VvQ25mL0IsT3BDaWYrQjs7QW9DL2UvQjtFQUNFOztBQUVGO0VBQ0U7OztBRG1ESjtFQzNERSxrQnBDd2YrQjtFb0N2Zi9CLGNwQ3dmK0I7RW9DdmYvQixPcENxZitCOztBb0NuZi9CO0VBQ0U7O0FBRUY7RUFDRTs7O0FEdURKO0VDL0RFLGtCcEM0ZitCO0VvQzNmL0IsY3BDNGYrQjtFb0MzZi9CLE9wQ3lmK0I7O0FvQ3ZmL0I7RUFDRTs7QUFFRjtFQUNFOzs7QUQyREo7RUNuRUUsa0JwQ2dnQitCO0VvQy9mL0IsY3BDZ2dCK0I7RW9DL2YvQixPcEM2ZitCOztBb0MzZi9CO0VBQ0U7O0FBRUY7RUFDRTs7O0FDRko7RUFDRTtJQUFROztFQUNSO0lBQVE7OztBQUlWO0VBQ0U7SUFBUTs7RUFDUjtJQUFROzs7QUFRVjtFQUNFO0VBQ0EsUXJDcUN3QjtFcUNwQ3hCLGVyQ29Dd0I7RXFDbkN4QixrQnJDK21CNEI7RXFDOW1CNUIsZTNDeUM0QztFS0g1QyxvQnNDckNBO0V0Q3NDUSxZc0N0Q1I7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsVzNDVzRDO0UyQ1Y1QyxhckN3QndCO0VxQ3ZCeEIsT3JDcW1CNEI7RXFDcG1CNUI7RUFDQTtFQUNBO0VBQ0Esa0JwQzdDdUI7RUZvRXZCLG9Cc0N0QkE7RXRDdUJRLFlzQ3ZCUjtFdEMySUEsb0JzQzFJQTtFdEMySUssZXNDM0lMO0V0QzRJUSxZc0M1SVI7OztBQVFGO0FBQUE7RUNERTtFQUNBO0VBQ0E7RURFQTs7O0FBT0Y7QUFBQTtFdEM5Q0UsbUJzQ2dEbUI7RXRDL0NkLGNzQytDYztFdEM5Q1gsV3NDOENXOzs7QUFPckI7RUV2RUUsa0J2Q2NzQjs7QXVDWHRCO0VEZ0RBO0VBQ0E7RUFDQTs7O0FEc0JGO0VFM0VFLGtCdkNlc0I7O0F1Q1p0QjtFRGdEQTtFQUNBO0VBQ0E7OztBRDBCRjtFRS9FRSxrQnZDZ0JzQjs7QXVDYnRCO0VEZ0RBO0VBQ0E7RUFDQTs7O0FEOEJGO0VFbkZFLGtCdkNpQnNCOztBdUNkdEI7RURnREE7RUFDQTtFQUNBOzs7QUV4REY7RUFFRTs7QUFFQTtFQUNFOzs7QUFJSjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7QUFHQTtFQUNFOzs7QUFJSjtBQUFBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7OztBQU1GO0VBQ0U7RUFDQTs7O0FDdkRGO0VBRUU7RUFDQTs7O0FBUUY7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBLGtCL0MxQmE7RStDMkJiOztBQUdBO0VqQjNCQSx5QjlCb0U0QztFOEJuRTNDLHdCOUJtRTJDOztBK0N0QzVDO0VBQ0U7RWpCdkJGLDRCOUI0RDRDO0U4QjNEM0MsMkI5QjJEMkM7OztBK0MxQjlDO0FBQUE7RUFFRSxPL0N4Q2U7O0ErQzBDZjtBQUFBO0VBQ0UsTy9DNUNhOztBK0NnRGY7QUFBQTtBQUFBO0VBRUU7RUFDQSxPL0NsRGE7RStDbURiLGtCL0N6RFc7OztBK0M2RGY7RUFDRTtFQUNBOzs7QUFLQTtFQUdFLGtCL0N2Q3FCO0UrQ3dDckIsTy9DekNxQjtFK0MwQ3JCLFEvQ21IMEM7O0ErQ2hIMUM7RUFDRTs7QUFFRjtFQUNFLE8vQ2pEbUI7O0ErQ3NEdkI7RUFHRTtFQUNBLE8vQ3JGYTtFK0NzRmIsa0J4QzNGcUI7RXdDNEZyQixjeEM1RnFCOztBd0MrRnJCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUdFOztBQUVGO0VBQ0UsTy9DaUQyQjs7O0FnRG5KL0I7RUFDRSxPMUNrZjZCO0UwQ2pmN0Isa0IxQ2tmNkI7OztBMEM3ZS9CO0FBQUE7RUFFRSxPMUMwZTZCOztBMEN4ZTdCO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7RUFFRSxPMUNrZTJCO0UwQ2plM0I7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFHRTtFQUNBLGtCMUMyZDJCO0UwQzFkM0IsYzFDMGQyQjs7O0EwQ25mL0I7RUFDRSxPMUNzZjZCO0UwQ3JmN0Isa0IxQ3NmNkI7OztBMENqZi9CO0FBQUE7RUFFRSxPMUM4ZTZCOztBMEM1ZTdCO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7RUFFRSxPMUNzZTJCO0UwQ3JlM0I7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFHRTtFQUNBLGtCMUMrZDJCO0UwQzlkM0IsYzFDOGQyQjs7O0EwQ3ZmL0I7RUFDRSxPMUMwZjZCO0UwQ3pmN0Isa0IxQzBmNkI7OztBMENyZi9CO0FBQUE7RUFFRSxPMUNrZjZCOztBMENoZjdCO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7RUFFRSxP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QUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTs7QUFLUjtFQUNFO0VBQ0E7OztBQVVKO0VBQ0UsZTNDOUp3Qjs7QTJDaUt4QjtFQUNFO0VBQ0EsZWpENUowQzs7QWlEOEoxQztFQUNFOztBQUlKO0VBQ0U7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7O0FBSUo7RUFDRTs7QUFDQTtFQUNFOzs7QUFPTjtFQzFQRSxjbERhaUI7O0FrRFhqQjtFQUNFLE9sRHdCcUI7RWtEdkJyQixrQmxETlc7RWtET1gsY2xEUWU7O0FrRE5mO0VBQ0Usa0JsREthOztBa0RIZjtFQUNFLE9sRGJTO0VrRGNULGtCbERlbUI7O0FrRFhyQjtFQUNFLHFCbERKYTs7O0FpRGdQbkI7RUM3UEUsYzNDSHVCOztBMkNLdkI7RUFDRSxPNUM0c0IwQjtFNEMzc0IxQixrQjNDUHFCO0UyQ1FyQixjM0NScUI7O0EyQ1VyQjtFQUNFLGtCM0NYbUI7O0EyQ2FyQjtFQUNFLE8zQ2RtQjtFMkNlbkIsa0I1Q21zQndCOztBNEMvckIxQjtFQUNFLHFCM0NwQm1COzs7QTBDbVF6QjtFQ2hRRSxjNUNxZitCOztBNENuZi9CO0VBQ0UsTzVDZ2Y2QjtFNEMvZTdCLGtCNUNnZjZCO0U0Qy9lN0IsYzVDZ2Y2Qjs7QTRDOWU3QjtFQUNFLGtCNUM2ZTJCOztBNEMzZTdCO0VBQ0UsTzVDeWUyQjtFNEN4ZTNCLGtCNUN1ZTJCOztBNENuZTdCO0VBQ0UscUI1Q29lMkI7OztBMkNsUGpDO0VDblFFLGM1Q3lmK0I7O0E0Q3ZmL0I7RUFDRSxPNUNvZjZCO0U0Q25mN0Isa0I1Q29mNkI7RTRDbmY3QixjNUNvZjZCOztBNENsZjdCO0VBQ0Usa0I1Q2lmMkI7O0E0Qy9lN0I7RUFDRSxPNUM2ZTJCO0U0QzVlM0Isa0I1QzJlMkI7O0E0Q3ZlN0I7RUFDRSxxQjVDd2UyQjs7O0EyQ25QakM7RUN0UUUsYzVDNmYrQjs7QTRDM2YvQjtFQUNFLE81Q3dmNkI7RTRDdmY3QixrQjVDd2Y2QjtFNEN2ZjdCLGM1Q3dmNkI7O0E0Q3RmN0I7RUFDRSxrQjVDcWYy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QTs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7OztBQUdEO0FBQUE7QUFFQTtFQUNDO0VBQ0E7OztBQUVEO0VBQ0M7OztBQUVEO0FBQUE7QUFBQTtBQUFBO0VBSUM7RUFDQTs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7OztBQUdEO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFTQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPQztFQUNBOzs7QUFFRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBUUM7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBVUM7RUFDQTs7O0FBR0Q7RUFDQzs7O0FBRUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUM7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0FBQUE7RUFFQztFQUNBOzs7QUFFRDtBQUFBO0FBQUE7RUFHQztFQUNBOzs7QUFHRDtBQUFBO0FBRUE7QUFBQTtBQUFBO0VBR0M7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7OztBQUVEO0FBQUE7QUFBQTtFQUdDOzs7QUFFRDtBQUFBO0FBQUE7RUFHQztFQUNBO0VBQ0E7OztBQUVEO0FBQUE7QUFBQTtFQUdDOzs7QUFFRDtBQUFBO0FBQUE7RUFHQzs7O0FBRUQ7QUFBQTtBQUFBO0VBR0M7OztBQUVEO0FBQUE7QUFBQTtFQUdDO0VBQ0E7QUFBMEI7RUFDMUI7OztBQUVEO0FBQUE7QUFBQTtFQUdDO0VBQ0E7QUFBMEI7RUFDMUI7OztBQUVEO0VBQ0M7QUFBMEI7OztBQUczQjtBQUFBO0FBR0E7QUFDQTtFQUNDO0VBQ0E7OztBQUVEO0FBQUE7RUFFQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7QUFBQTtBQUFBO0FBQUE7RUFJQzs7O0FBRUQ7QUFBQTtFQUVDOzs7QUFFRDtBQUFBO0VBRUM7OztBQUVEO0FBQUE7RUFFQzs7O0FBRUQ7RUFDQzs7O0FBR0Q7QUFDQTtFQUFpQjs7O0FBQ2pCO0VBQXFCOzs7QUFDckI7RUFBc0I7OztBQUN0QjtFQUFxQjs7O0FBQ3JCO0VBQXNCOzs7QUFDdEI7RUFBcUI7OztBQUNyQjtFQUFzQjs7O0FBQ3RCO0VBQXFCOzs7QUFDckI7RUFBc0I7OztBQUN0QjtFQUF1Qjs7O0FBQ3ZCO0VBQXVCOzs7QUFDdkI7RUFBd0I7OztBQUN4QjtFQUF5Qjs7O0FBQ3pCO0VBQXdCOzs7QUFDeEI7RUFBeUI7OztBQUN6QjtFQUF3Qjs7O0FBQ3hCO0VBQXlCOzs7QUFDekI7RUFBd0I7OztBQUN4QjtFQUF5Qjs7O0FBQ3pCO0VBQTBCOzs7QUFDMUI7RUFBMEI7OztBQUMxQjtFQUFxQjs7O0FBQ3JCO0VBQXNCOzs7QUFDdEI7RUFBcUI7OztBQUNyQjtFQUFzQjs7O0FBQ3RCO0VBQXFCOzs7QUFDckI7RUFBc0I7OztBQUN0QjtFQUFxQjs7O0FBQ3JCO0VBQXNCOzs7QUFDdEI7RUFBdUI7OztBQUN2QjtFQUF5Qjs7O0FBQ3pCO0VBQXVCOzs7QUFDdkI7RUFBeUI7OztBQUN6QjtFQUF5Qjs7O0FBQ3pCO0VBQXlCOzs7QUFDekI7RUFBeUI7OztBQUN6QjtFQUF5Qjs7O0FBQ3pCO0VBQTBCOzs7QUFDMUI7RUFBMkI7OztBQUMzQjtFQUEwQjs7O0FBQzFCO0VBQTJCOzs7QUFDM0I7RUFBMEI7OztBQUMxQjtFQUEyQjs7O0FBQzNCO0VBQTBCOzs7QUFDMUI7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O0FBQ2pDO0VBQWlDOzs7QUFDakM7RUFBNEI7OztBQUc1QjtBQUFBO0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtFQUlDOzs7QUFFRDtBQUFBO0FBQUE7QUFBQTtFQUlDOzs7QUFFRDtBQUFBO0FBQUE7QUFBQTtFQUlDOzs7QUFFRDtBQUFBO0FBQUE7QUFBQTtFQUlDOzs7QUFHRDtBQUNBO0VBQ0M7RUFDQTtFQUNBO0FBQTJCOzs7QUFFNUI7RUFDQztFQUNBOzs7QUNqbEJEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0VBRUE7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFFRTtFQUNBOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7RUFFQTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUVFO0VBQ0E7OztBQUVGO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFFRTtFQUNBOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7RUFFQTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUVFO0VBQ0E7OztBQUVGO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtJQUVFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUVBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBRUE7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFFQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUVBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FDdHpHRjtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQU1BO0VBQ0E7O0FDVkY7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNQRjtBQUNBO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUF3Qjs7O0FBQ3hCO0VBQXdCOzs7QUFDeEI7RUFBd0I7OztBQUN4QjtFQUF3Qjs7O0FDVnhCO0VBQ0U7RUFDQTs7O0FDREY7RUFDRTtFQUNBLGFDTW9CO0VETHBCOztBQUNBO0VBQU87OztBQUVUO0VBQ0U7RUFDQTtFQUNBLE9DRG9CO0VERXBCO0VBQ0E7O0FBQ0E7RUFDRTs7O0FFYko7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQStCOzs7QUFDL0I7RUFBZ0M7OztBQUc5QjtBQUFBO0VBQWdDOztBQUNoQztBQUFBO0VBQWlDOzs7QUFHbkM7QUFDQTtFQUFjOzs7QUFDZDtFQUFhOzs7QUFHWDtBQUFBO0VBQWM7O0FBQ2Q7QUFBQTtBQUFBO0VBQWU7OztBQ3BCakI7RUFDRTtFQUNROzs7QUFHVjtFQUNFO0VBQ1E7OztBQUdWO0VBQ0U7SUFDRTtJQUNROztFQUVWO0lBQ0U7SUFDUTs7O0FBSVo7RUFDRTtJQUNFO0lBQ1E7O0VBRVY7SUFDRTtJQUNROzs7QUM1Qlo7RUNXRTtFQUNBO0VBQ0k7RUFDSTs7O0FEYlY7RUNVRTtFQUNBO0VBQ0k7RUFDSTs7O0FEWlY7RUNTRTtFQUNBO0VBQ0k7RUFDSTs7O0FEVlY7RUNjRTtFQUNBO0VBQ0k7RUFDSTs7O0FEaEJWO0VDYUU7RUFDQTtFQUNJO0VBQ0k7OztBRFhWO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTs7O0FFZkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQThCOzs7QUFDOUI7RUFBOEI7OztBQUM5QjtFQUE2QixPTFRQOzs7QU1WdEI7QUFBQTtBQUdBO0VBQWtDLFNOc1NuQjs7O0FNclNmO0VBQWtDLFNOdWFuQjs7O0FNdGFmO0VBQW1DLFNOeWZuQjs7O0FNeGZoQjtFQUF1QyxTTjhNbkI7OztBTTdNcEI7RUFBa0MsU042VG5COzs7QU01VGY7RUFBaUMsU053aUJuQjs7O0FNdmlCZDtFQUFtQyxTTjRpQm5COzs7QU0zaUJoQjtFQUFpQyxTTjJuQm5COzs7QU0xbkJkO0VBQWlDLFNOc1BuQjs7O0FNclBkO0VBQXFDLFNOeWtCbkI7OztBTXhrQmxCO0VBQStCLFNOdWtCbkI7OztBTXRrQlo7RUFBb0MsU053a0JuQjs7O0FNdmtCakI7RUFBa0MsU055SG5COzs7QU14SGY7QUFBQTtBQUFBO0VBRWtDLFNOMmtCbkI7OztBTTFrQmY7RUFBd0MsU042ZW5COzs7QU01ZXJCO0VBQXlDLFNOMmVuQjs7O0FNMWV0QjtFQUFzQyxTTm1jbkI7OztBTWxjbkI7RUFBbUMsU040Zm5COzs7QU0zZmhCO0FBQUE7RUFDZ0MsU04rSW5COzs7QU05SWI7RUFBb0MsU05tbEJuQjs7O0FNbGxCakI7RUFBaUMsU044U25COzs7QU03U2Q7RUFBbUMsU04wTm5COzs7QU16TmhCO0VBQW9DLFNOZ0luQjs7O0FNL0hqQjtFQUFpQyxTTm9kbkI7OztBTW5kZDtFQUFxQyxTTjRLbkI7OztBTTNLbEI7RUFBZ0QsU05PbkI7OztBTU43QjtFQUE4QyxTTlNuQjs7O0FNUjNCO0VBQWtDLFNOdVRuQjs7O0FNdFRmO0VBQTBDLFNOZ2JuQjs7O0FNL2F2QjtBQUFBO0FBQUE7RUFDbUMsU053Y25COzs7QU12Y2hCO0VBQW9DLFNOa2NuQjs7O0FNamNqQjtFQUFxQyxTTnlWbkI7OztBTXhWbEI7RUFBaUMsU040Vm5COzs7QU0zVmQ7RUFBaUMsU044Tm5COzs7QU03TmQ7RUFBdUMsU04wUm5COzs7QU16UnBCO0VBQXVDLFNOMm1CbkI7OztBTTFtQnBCO0VBQXdDLFNOeW1CbkI7OztBTXhtQnJCO0VBQXNDLFNOMG1CbkI7OztBTXptQm5CO0VBQW1DLFNOK2FuQjs7O0FNOWFoQjtFQUFvQyxTTmVuQjs7O0FNZGpCO0VBQWdDLFNONGhCbkI7OztBTTNoQmI7RUFBaUMsU040aEJuQjs7O0FNM2hCZDtFQUFpQyxTTjBDbkI7OztBTXpDZDtFQUFxQyxTTjBDbkI7OztBTXpDbEI7RUFBa0MsU05zYW5COzs7QU1yYWY7RUFBbUMsU04yRG5COzs7QU0xRGhCO0VBQWlDLFNONE5uQjs7O0FNM05kO0VBQWlDLFNOa0NuQjs7O0FNakNkO0VBQW1DLFNONFNuQjs7O0FNM1NoQjtFQUF3QyxTTjBoQm5COzs7QU16aEJyQjtFQUF1QyxTTjBoQm5COzs7QU16aEJwQjtFQUF1QyxTTnhDbkI7OztBTXlDcEI7RUFBeUMsU04zQ25COzs7QU00Q3RCO0VBQXdDLFNOekNuQjs7O0FNMENyQjtFQUEwQyxTTjVDbkI7OztBTTZDdkI7RUFBaUMsU05nVW5COzs7QU0vVGQ7QUFBQTtFQUNvQyxTTnVYbkI7OztBTXRYakI7RUFBbUMsU053Um5COzs7QU12UmhCO0VBQXlDLFNONmtCbkI7OztBTTVrQnRCO0FBQUE7QUFBQTtFQUVzQyxTTm1ZbkI7OztBTWxZbkI7RUFBbUMsU040WG5COzs7QU0zWGhCO0VBQXVDLFNOd1VuQjs7O0FNdlVwQjtFQUFtQyxTTjFEbkI7OztBTTJEaEI7RUFBaUMsU051aEJuQjs7O0FNdGhCZDtBQUFBO0VBQzRDLFNOeVhuQjs7O0FNeFh6QjtFQUEyQyxTTjZibkI7OztBTTVieEI7RUFBMkMsU04rRG5COzs7QU05RHhCO0VBQW1DLFNOOUJuQjs7O0FNK0JoQjtFQUEwQyxTTnllbkI7OztBTXhldkI7RUFBMEMsU053Sm5COzs7QU12SnZCO0VBQXFDLFNOMUJuQjs7O0FNMkJsQjtFQUFpQyxTTjhYbkI7OztBTTdYZDtFQUFrQyxTTjRXbkI7OztBTTNXZjtFQUFpQyxTTnllbkI7OztBTXhlZDtFQUFvQyxTTitMbkI7OztBTTlMakI7RUFBeUMsU05tSm5COzs7QU1sSnRCO0VBQXlDLFNOa2VuQjs7O0FNamV0QjtFQUFrQyxTTnVIbkI7OztBTXRIZjtFQUF5QyxTTnlEbkI7OztBTXhEdEI7RUFBMEMsU055RG5COzs7QU14RHZCO0VBQXdDLFNOMFhuQjs7O0FNelhyQjtFQUF5QyxTTnFVbkI7OztBTXBVdEI7RUFBeUMsU05pZ0JuQjs7O0FNaGdCdEI7RUFBeUMsU04yQ25COzs7QU0xQ3RCO0VBQTRDLFNOK1huQjs7O0FNOVh6QjtFQUF3QyxTTjRQbkI7OztBTTNQckI7RUFBdUMsU053Rm5COzs7QU12RnBCO0VBQTJDLFNONmZuQjs7O0FNNWZ4QjtFQUEyQyxTTnVDbkI7OztBTXRDeEI7RUFBZ0MsU04zQ25COzs7QU00Q2I7RUFBdUMsU054RG5COzs7QU15RHBCO0VBQXdDLFNOeERuQjs7O0FNeURyQjtFQUFxQyxTTnhEbkI7OztBTXlEbEI7RUFBdUMsU041RG5COzs7QU02RHBCO0FBQUE7QUFBQTtFQUNrQyxTTjJabkI7OztBTTFaZjtFQUFtQyxTTmtIbkI7OztBTWpIaEI7RUFBcUMsU05xRW5COzs7QU1wRWxCO0VBQWlDLFNOdVduQjs7O0FNdFdkO0VBQWtDLFNOa1RuQjs7O0FNalRmO0VBQXFDLFNOM0RuQjs7O0FNNERsQjtFQUErQyxTTjJHbkI7OztBTTFHNUI7RUFBaUMsU05pTG5COzs7QU1oTGQ7RUFBaUMsU040UG5COzs7QU0zUGQ7RUFBaUMsU05nSm5COzs7QU0vSWQ7RUFBZ0MsU042R25COzs7QU01R2I7RUFBc0MsU042R25COzs7QU01R25CO0FBQUE7RUFDaUQsU05xR25COzs7QU1wRzlCO0VBQWtDLFNOdVZuQjs7O0FNdFZmO0VBQXFDLFNOaEJuQjs7O0FNaUJsQjtFQUFtQyxTTndXbkI7OztBTXZXaEI7RUFBb0MsU04rQ25COzs7QU05Q2pCO0VBQW1DLFNONlFuQjs7O0FNNVFoQjtFQUF1QyxTTnVCbkI7OztBTXRCcEI7RUFBeUMsU05tQm5COzs7QU1sQnRCO0VBQW9DLFNOZ1huQjs7O0FNL1dqQjtFQUEwQyxTTitZbkI7OztBTTlZdkI7RUFBbUMsU040SW5COzs7QU0zSWhCO0VBQXdDLFNONkluQjs7O0FNNUlyQjtFQUFxQyxTTmhGbkI7OztBTWlGbEI7RUFBcUMsU05sRm5COzs7QU1tRmxCO0FBQUE7RUFDc0MsU04zRW5COzs7QU00RW5CO0VBQTJDLFNObWZuQjs7O0FNbGZ4QjtFQUE0QyxTTitGbkI7OztBTTlGekI7RUFBeUMsU056Qm5COzs7QU0wQnRCO0VBQWdDLFNONk5uQjs7O0FNNU5iO0FBQUE7QUFBQTtBQUFBO0VBQ2lDLFNONEJuQjs7O0FNM0JkO0VBQXFDLFNOaUNuQjs7O0FNaENsQjtFQUF3QyxTTjRjbkI7OztBTTNjckI7RUFBMEMsU04wY25COzs7QU16Y3ZCO0VBQXNDLFNOaWFuQjs7O0FNaGFuQjtFQUFvQyxTTm9MbkI7OztBTW5MakI7RUFBcUMsU04rWG5COzs7QU05WGxCO0VBQTRDLFNOeU9uQjs7O0FNeE96QjtFQUF1QyxTTm1jbkI7OztBTWxjcEI7RUFBMEMsU04wRW5COzs7QU16RXZCO0VBQW9DLFNOMFhuQjs7O0FNelhqQjtFQUFtQyxTTnlkbkI7OztBTXhkaEI7RUFBMEMsU04rSW5COzs7QU05SXZCO0VBQW1DLFNOMGVuQjs7O0FNemVoQjtFQUFvQyxTTnVObkI7OztBTXROakI7RUFBa0MsU04wU25COzs7QU16U2Y7RUFBcUMsU05pWm5COzs7QU1oWmxCO0VBQXVDLFNOaEVuQjs7O0FNaUVwQjtFQUF5QyxTTndTbkI7OztBTXZTdEI7RUFBb0MsU04wZG5COzs7QU16ZGpCO0FBQUE7RUFDcUMsU05tRW5COzs7QU1sRWxCO0VBQW1DLFNObUluQjs7O0FNbEloQjtFQUFtQyxTTjZkbkI7OztBTTVkaEI7RUFBd0MsU05tQm5COzs7QU1sQnJCO0FBQUE7RUFDZ0MsU05nVm5COzs7QU0vVWI7RUFBa0MsU04wSm5COzs7QU16SmY7RUFBcUMsU05yRW5COzs7QU1zRWxCO0VBQWlDLFNONUZuQjs7O0FNNkZkO0VBQXdDLFNOckNuQjs7O0FNc0NyQjtFQUF5QyxTTjZJbkI7OztBTTVJdEI7RUFBd0MsU04ySW5COzs7QU0xSXJCO0VBQXNDLFNONEluQjs7O0FNM0luQjtFQUF3QyxTTndJbkI7OztBTXZJckI7RUFBOEMsU04xSW5COzs7QU0ySTNCO0VBQStDLFNOdEluQjs7O0FNdUk1QjtFQUE0QyxTTnRJbkI7OztBTXVJekI7RUFBOEMsU045SW5COzs7QU0rSTNCO0VBQWtDLFNOdUhuQjs7O0FNdEhmO0VBQW1DLFNOOGVuQjs7O0FNN2VoQjtFQUFrQyxTTndabkI7OztBTXZaZjtFQUFtQyxTTjRFbkI7OztBTTNFaEI7RUFBc0MsU056Rm5COzs7QU0wRm5CO0VBQXVDLFNOdkluQjs7O0FNd0lwQjtBQUFBO0VBQ2tDLFNOZ2RuQjs7O0FNL2NmO0FBQUE7RUFDaUMsU044TG5COzs7QU03TGQ7RUFBa0MsU045Qm5COzs7QU0rQmY7RUFBa0MsU040RW5COzs7QU0zRWY7QUFBQTtFQUNxQyxTTjZUbkI7OztBTTVUbEI7QUFBQTtFQUNvQyxTTjhEbkI7OztBTTdEakI7RUFBc0MsU055UG5COzs7QU14UG5CO0FBQUE7RUFDcUMsU051RW5COzs7QU10RWxCO0VBQW1DLFNOc1duQjs7O0FNcldoQjtBQUFBO0FBQUE7RUFFaUMsU04zSW5COzs7QU00SWQ7RUFBb0MsU051TG5COzs7QU10TGpCO0VBQW9DLFNOcUxuQjs7O0FNcExqQjtFQUEwQyxTTm1YbkI7OztBTWxYdkI7RUFBc0MsU04rYW5COzs7QU05YW5CO0VBQWtDLFNOMFhuQjs7O0FNelhmO0VBQWtDLFNOeUxuQjs7O0FNeExmO0VBQWtDLFNOaWFuQjs7O0FNaGFmO0VBQXNDLFNOMlBuQjs7O0FNMVBuQjtFQUE2QyxTTjRQbkI7OztBTTNQMUI7RUFBK0MsU04wRm5COzs7QU16RjVCO0VBQXdDLFNOd0ZuQjs7O0FNdkZyQjtFQUFrQyxTTmlObkI7OztBTWhOZjtFQUF1QyxTTnBHbkI7OztBTXFHcEI7RUFBcUMsU045Rm5COzs7QU0rRmxCO0VBQXVDLFNOckduQjs7O0FNc0dwQjtFQUF3QyxTTnJHbkI7OztBTXNHckI7RUFBb0MsU05qRG5COzs7QU1rRGpCO0FBQUE7RUFDaUMsU05nVW5COzs7QU0vVGQ7QUFBQTtFQUNzQyxTTm9VbkI7OztBTW5VbkI7QUFBQTtFQUNxQyxTTmlVbkI7OztBTWhVbEI7RUFBcUMsU05kbkI7OztBTWVsQjtFQUFxQyxTTnlKbkI7OztBTXhKbEI7QUFBQTtFQUNpQyxTTnlabkI7OztBTXhaZDtBQUFBO0VBQ2tDLFNObURuQjs7O0FNbERmO0FBQUE7RUFDdUMsU05rV25COzs7QU1qV3BCO0VBQXNDLFNOOURuQjs7O0FNK0RuQjtFQUF1QyxTTjNEbkI7OztBTTREcEI7QUFBQTtFQUNpQyxTTm5KbkI7OztBTW9KZDtFQUFvQyxTTnVTbkI7OztBTXRTakI7RUFBcUMsU042WW5COzs7QU01WWxCO0FBQUE7QUFBQTtFQUNzQyxTTnJGbkI7OztBTXNGbkI7RUFBd0MsU051SW5COzs7QU10SXJCO0VBQXFDLFNOekJuQjs7O0FNMEJsQjtFQUEyQyxTTm5GbkI7OztBTW9GeEI7RUFBeUMsU05uRm5COzs7QU1vRnRCO0VBQW9DLFNOaVpuQjs7O0FNaFpqQjtFQUF3QyxTTm9VbkI7OztBTW5VckI7RUFBcUMsU042VW5COzs7QU01VWxCO0VBQW1DLFNOMUtuQjs7O0FNMktoQjtFQUFtQyxTTm5GbkI7OztBTW9GaEI7RUFBb0MsU041RG5COzs7QU02RGpCO0VBQXdDLFNOQ25COzs7QU1BckI7RUFBdUMsU04xSm5COzs7QU0ySnBCO0VBQXVDLFNONEVuQjs7O0FNM0VwQjtFQUFzQyxTTnpPbkI7OztBTTBPbkI7RUFBbUMsU040Sm5COzs7QU0zSmhCO0VBQXdDLFNObkJuQjs7O0FNb0JyQjtFQUFpQyxTTnZMbkI7OztBTXdMZDtFQUFxQyxTTmdEbkI7OztBTS9DbEI7RUFBd0MsU05tTm5COzs7QU1sTnJCO0VBQThDLFNOMU9uQjs7O0FNMk8zQjtFQUErQyxTTjFPbkI7OztBTTJPNUI7RUFBNEMsU04xT25COzs7QU0yT3pCO0VBQThDLFNOOU9uQjs7O0FNK08zQjtFQUF1QyxTTjFPbkI7OztBTTJPcEI7RUFBd0MsU04xT25COzs7QU0yT3JCO0VBQXFDLFNOMU9uQjs7O0FNMk9sQjtFQUF1QyxTTjlPbkI7OztBTStPcEI7RUFBb0MsU054RW5COzs7QU15RWpCO0VBQW1DLFNOOEZuQjs7O0FNN0ZoQjtFQUFtQyxTTjJUbkI7OztBTTFUaEI7QUFBQTtFQUNtQyxTTm9KbkI7OztBTW5KaEI7RUFBcUMsU056SG5COzs7QU0wSGxCO0VBQXVDLFNONk1uQjs7O0FNNU1wQjtFQUF3QyxTTjZNbkI7OztBTTVNckI7RUFBb0MsU05xUm5COzs7QU1wUmpCO0VBQW1DLFNOOUhuQjs7O0FNK0hoQjtBQUFBO0VBQ2tDLFNOc05uQjs7O0FNck5mO0VBQXVDLFNOY25COzs7QU1icEI7RUFBcUMsU05YbkI7OztBTVlsQjtFQUEwQyxTTlZuQjs7O0FNV3ZCO0VBQW9DLFNOK1BuQjs7O0FNOVBqQjtFQUFvQyxTTk5uQjs7O0FNT2pCO0VBQWtDLFNOK0huQjs7O0FNOUhmO0VBQW9DLFNOTm5COzs7QU1PakI7RUFBdUMsU055RW5COzs7QU14RXBCO0VBQW1DLFNOeEJuQjs7O0FNeUJoQjtFQUEyQyxTTjFCbkI7OztBTTJCeEI7RUFBcUMsU04rU25COzs7QU05U2xCO0VBQWlDLFNOaEluQjs7O0FNaUlkO0FBQUE7RUFDc0MsU055TW5COzs7QU14TW5CO0FBQUE7QUFBQTtFQUV3QyxTTjRRbkI7OztBTTNRckI7RUFBMkMsU055Rm5COzs7QU14RnhCO0VBQWlDLFNObEhuQjs7O0FNbUhkO0VBQXNDLFNOdkluQjs7O0FNd0luQjtBQUFBO0VBQ3lDLFNOdEtuQjs7O0FNdUt0QjtFQUFxQyxTTitLbkI7OztBTTlLbEI7RUFBaUMsU040Q25COzs7QU0zQ2Q7RUFBd0MsU050Rm5COzs7QU11RnJCO0VBQXdDLFNOcVJuQjs7O0FNcFJyQjtFQUFzQyxTTmdSbkI7OztBTS9RbkI7RUFBbUMsU043Rm5COzs7QU04RmhCO0VBQXlDLFNOc0tuQjs7O0FNckt0QjtFQUF1QyxTTnlHbkI7OztBTXhHcEI7RUFBNkMsU055R25COzs7QU14RzFCO0VBQW1DLFNOcU5uQjs7O0FNcE5oQjtFQUF1QyxTTjVNbkI7OztBTTZNcEI7RUFBOEMsU05yRG5COzs7QU1zRDNCO0VBQW1DLFNOd0xuQjs7O0FNdkxoQjtFQUFtQyxTTjZGbkI7OztBTTVGaEI7RUFBZ0QsU045S25COzs7QU0rSzdCO0VBQWlELFNOOUtuQjs7O0FNK0s5QjtFQUE4QyxTTjlLbkI7OztBTStLM0I7RUFBZ0QsU05sTG5COzs7QU1tTDdCO0VBQWtDLFNOb0JuQjs7O0FNbkJmO0VBQWlDLFNOdkluQjs7O0FNd0lkO0VBQW1DLFNONVNuQjs7O0FNNlNoQjtFQUF1QyxTTjhUbkI7OztBTTdUcEI7RUFBcUMsU05oT25COzs7QU1pT2xCO0VBQXVDLFNOckhuQjs7O0FNc0hwQjtFQUF1QyxTTnJIbkI7OztBTXNIcEI7RUFBdUMsU05nTG5COzs7QU0vS3BCO0VBQXdDLFNOeUluQjs7O0FNeElyQjtFQUFtQyxTTm1SbkI7OztBTWxSaEI7RUFBeUMsU053Rm5COzs7QU12RnRCO0VBQTJDLFNOd0ZuQjs7O0FNdkZ4QjtFQUFxQyxTTnVDbkI7OztBTXRDbEI7RUFBdUMsU05xQ25COzs7QU1wQ3BCO0VBQXlDLFNObk1uQjs7O0FNb010QjtFQUEwQyxTTm9IbkI7OztBTW5IdkI7RUFBaUQsU05oSG5COzs7QU1pSDlCO0VBQXlDLFNOdUxuQjs7O0FNdEx0QjtFQUFvQyxTTmxLbkI7OztBTW1LakI7QUFBQTtFQUNnRCxTTi9ObkI7OztBTWdPN0I7QUFBQTtFQUM4QyxTTjlObkI7OztBTStOM0I7QUFBQTtFQUNpRCxTTmpPbkI7OztBTWtPOUI7QUFBQTtFQUNnQyxTTm5JbkI7OztBTW9JYjtFQUFnQyxTTmpFbkI7OztBTWtFYjtBQUFBO0VBQ2dDLFNOdVNuQjs7O0FNdFNiO0FBQUE7RUFDZ0MsU05GbkI7OztBTUdiO0FBQUE7QUFBQTtBQUFBO0VBR2dDLFNORW5COzs7QU1EYjtBQUFBO0FBQUE7RUFFZ0MsU05rSm5COzs7QU1qSmI7QUFBQTtFQUNnQyxTTkNuQjs7O0FNQWI7QUFBQTtFQUNnQyxTTjNRbkI7OztBTTRRYjtFQUFpQyxTTjdIbkI7OztBTThIZDtFQUFzQyxTTmpIbkI7OztBTWtIbkI7RUFBMkMsU05nTG5COzs7QU0vS3hCO0VBQTRDLFNOZ0xuQjs7O0FNL0t6QjtFQUE0QyxTTmdMbkI7OztBTS9LekI7RUFBNkMsU05nTG5COzs7QU0vSzFCO0VBQTZDLFNObUxuQjs7O0FNbEwxQjtFQUE4QyxTTm1MbkI7OztBTWxMM0I7RUFBc0MsU053T25COzs7QU12T25CO0VBQXdDLFNOb09uQjs7O0FNbk9yQjtFQUEyQyxTTnlUbkI7OztBTXhUeEI7RUFBb0MsU05zVG5COzs7QU1yVGpCO0VBQWlDLFNONFNuQjs7O0FNM1NkO0VBQXdDLFNONFNuQjs7O0FNM1NyQjtFQUF5QyxTTm9UbkI7OztBTW5UdEI7RUFBb0MsU045S25COzs7QU0rS2pCO0VBQTJDLFNOb0xuQjs7O0FNbkx4QjtFQUFzQyxTTjlCbkI7OztBTStCbkI7RUFBbUMsU05sSG5COzs7QU1tSGhCO0VBQWdDLFNOL1duQjs7O0FNZ1hiO0VBQXNDLFNOM1NuQjs7O0FNNFNuQjtFQUE2QyxTTjNTbkI7OztBTTRTMUI7RUFBbUMsU05tUG5COzs7QU1sUGhCO0VBQTBDLFNObVBuQjs7O0FNbFB2QjtFQUE0QyxTTkNuQjs7O0FNQXpCO0VBQTBDLFNOR25COzs7QU1GdkI7RUFBNEM7OztBQUM1QztFQUE2Qzs7O0FBQzdDO0VBQWtDLFNOdFduQjs7O0FNdVdmO0VBQW9DLFNOdVJuQjs7O0FNdFJqQjtFQUFvQyxTTmxYbkI7OztBTW1YakI7RUFBa0MsU05ibkI7OztBTWNmO0VBQXFDLFNOaE1uQjs7O0FNaU1sQjtFQUFrQyxTTjBJbkI7OztBTXpJZjtFQUF1QyxTTnhIbkI7OztBTXlIcEI7RUFBbUMsU05nT25COzs7QU0vTmhCO0VBQW1DLFNObktuQjs7O0FNb0toQjtFQUFpQyxTTkhuQjs7O0FNSWQ7QUFBQTtFQUNxQyxTTmxHbkI7OztBTW1HbEI7RUFBa0MsU05rTG5COzs7QU1qTGY7RUFBbUMsU05tQm5COzs7QU1sQmhCO0VBQW9DLFNOblhuQjs7O0FNb1hqQjtFQUFnQyxTTnRUbkI7OztBTXVUYjtFQUErQixTTjRQbkI7OztBTTNQWjtFQUFrQyxTTmlRbkI7OztBTWhRZjtFQUFtQyxTTmlGbkI7OztBTWhGaEI7RUFBc0MsU044Qm5COzs7QU03Qm5CO0VBQTJDLFNObUpuQjs7O0FNbEp4QjtFQUFpRCxTTnBYbkI7OztBTXFYOUI7RUFBZ0QsU050WG5COzs7QU11WDdCO0FBQUE7RUFDZ0QsU056U25COzs7QU0wUzdCO0VBQXlDLFNOdk5uQjs7O0FNd050QjtFQUF1QyxTTjJQbkI7OztBTTFQcEI7RUFBeUMsU04rT25COzs7QU05T3RCO0FBQUE7RUFDZ0MsU044TW5COzs7QU03TWI7RUFBMEMsU05rRG5COzs7QU1qRHZCO0VBQTBDLFNOa0luQjs7O0FNakl2QjtFQUFrQyxTTmdIbkI7OztBTS9HZjtFQUE0QyxTTm5ObkI7OztBTW9OekI7RUFBc0MsU053UG5COzs7QU12UG5CO0VBQW1DLFNOVW5COzs7QU1UaEI7QUFBQTtBQUFBO0VBRXVDLFNOaU5uQjs7O0FNaE5wQjtBQUFBO0VBQzJDLFNOaEluQjs7O0FNaUl4QjtFQUFrQyxTTnVQbkI7OztBTXRQZjtFQUFtQyxTTnRJbkI7OztBTXVJaEI7RUFBbUMsU05tRG5COzs7QU1sRGhCO0VBQTBDLFNObURuQjs7O0FNbER2QjtFQUErQyxTTjZJbkI7OztBTTVJNUI7RUFBd0MsU04ySW5COzs7QU0xSXJCO0VBQXNDLFNOblBuQjs7O0FNb1BuQjtFQUFpQyxTTmhQbkI7OztBTWlQZDtFQUF1QyxTTmtCbkI7OztBTWpCcEI7RUFBMkMsU05rQm5COzs7QU1qQnhCO0VBQW1DLFNON09uQjs7O0FNOE9oQjtFQUFtQyxTTnZGbkI7OztBTXdGaEI7RUFBcUMsU05sRm5COzs7QU1tRmxCO0VBQWdDLFNObk5uQjs7O0FNb05iO0VBQXFDLFNON1ZuQjs7O0FNOFZsQjtFQUFrQyxTTjFTbkI7OztBTTJTZjtFQUFnQzs7O0FBQ2hDO0VBQWtDLFNOeUduQjs7O0FNeEdmO0VBQWlDLFNOdlFuQjs7O0FNd1FkO0VBQWtDLFNOdlFuQjs7O0FNd1FmO0VBQW9DLFNOelhuQjs7O0FNMFhqQjtFQUEyQyxTTnpYbkI7OztBTTBYeEI7RUFBa0MsU05nSG5COzs7QU0vR2Y7RUFBeUMsU05nSG5COzs7QU0vR3RCO0VBQW9DLFNONEJuQjs7O0FNM0JqQjtBQUFBO0VBQ2dDLFNOelZuQjs7O0FNMFZiO0FBQUE7RUFDaUMsU05rSW5COzs7QU1qSWQ7RUFBaUMsU05nS25COzs7QU0vSmQ7RUFBb0MsU042Rm5COzs7QU01RmpCO0VBQXVDLFNOMVFuQjs7O0FNMlFwQjtFQUF1QyxTTnVGbkI7OztBTXRGcEI7RUFBcUMsU05oUm5COzs7QU1pUmxCO0VBQXVDLFNONU5uQjs7O0FNNk5wQjtFQUF3QyxTTnJObkI7OztBTXNOckI7RUFBeUMsU05sT25COzs7QU1tT3RCO0VBQThDLFNONU5uQjs7O0FNNk4zQjtBQUFBO0FBQUE7RUFFeUMsU05yT25COzs7QU1zT3RCO0FBQUE7RUFDMkMsU04zT25COzs7QU00T3hCO0FBQUE7RUFDeUMsU041T25COzs7QU02T3RCO0FBQUE7RUFDeUMsU05qT25COzs7QU1rT3RCO0VBQXdDLFNOOU9uQjs7O0FNK09yQjtFQUFpQyxTTmtMbkI7OztBTWpMZDtFQUFvQyxTTjVUbkI7OztBTTZUakI7RUFBcUMsU041SG5COzs7QU02SGxCO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFJc0MsU05qSG5COzs7QU1rSG5CO0VBQTJDLFNOL1VuQjs7O0FNZ1Z4QjtBQUFBO0VBQ2tDLFNOUG5COzs7QU1RZjtBQUFBO0VBQ21DLFNOMVJuQjs7O0FNMlJoQjtFQUF1QyxTTnpNbkI7OztBTTBNcEI7RUFBZ0MsU04zTW5COzs7QU00TWI7QUFBQTtBQUFBO0VBRXdDLFNOOUxuQjs7O0FNK0xyQjtFQUEwQyxTTjhGbkI7OztBTTdGdkI7RUFBK0IsU054Qm5COzs7QU15Qlo7QUFBQTtFQUNtQyxTTnFLbkI7OztBTXBLaEI7QUFBQTtFQUN3QyxTTjdEbkI7OztBTThEckI7QUFBQTtFQUMwQyxTTjlEbkI7OztBTStEdkI7RUFBb0MsU05uTG5COzs7QU1vTGpCO0VBQXdDLFNOalduQjs7O0FNa1dyQjtFQUFtQyxTTjFMbkI7OztBTTJMaEI7RUFBc0MsU05oRW5COzs7QU1pRW5CO0VBQW9DLFNOMEJuQjs7O0FNekJqQjtFQUFzQyxTTk9uQjs7O0FNTm5CO0VBQTZDLFNOT25COzs7QU1OMUI7RUFBaUMsU052YW5COzs7QU13YWQ7QUFBQTtFQUNxQyxTTjVPbkI7OztBTTZPbEI7RUFBZ0MsU04rR25COzs7QU05R2I7RUFBdUMsU05uYm5COzs7QU1vYnBCO0VBQWlDLFNObkRuQjs7O0FNb0RkO0VBQXVDLFNOa0JuQjs7O0FNakJwQjtFQUFtQyxTTmdIbkI7OztBTS9HaEI7RUFBaUMsU05pS25COzs7QU1oS2Q7RUFBd0MsU041Rm5COzs7QU02RnJCO0VBQWlDLFNOa0puQjs7O0FNakpkO0VBQXVDLFNOcGFuQjs7O0FNcWFwQjtFQUFtQyxTTjVFbkI7OztBTTZFaEI7RUFBMEMsU05oT25COzs7QU1pT3ZCO0VBQW9DLFNOM1luQjs7O0FNNFlqQjtFQUEwQyxTTi9ZbkI7OztBTWdadkI7RUFBd0MsU05sWm5COzs7QU1tWnJCO0VBQW9DLFNOclpuQjs7O0FNc1pqQjtFQUFzQyxTTmpabkI7OztBTWtabkI7RUFBc0MsU05qWm5COzs7QU1rWm5CO0VBQXVDLFNOdGNuQjs7O0FNdWNwQjtFQUF5QyxTTnRjbkI7OztBTXVjdEI7RUFBa0MsU05vRm5COzs7QU1uRmY7RUFBc0MsU05uV25COzs7QU1vV25CO0VBQStCLFNOcGVuQjs7O0FNcWVaO0VBQXVDLFNOdlRuQjs7O0FNd1RwQjtFQUF3QyxTTmxHbkI7OztBTW1HckI7RUFBMEMsU056Y25COzs7QU0wY3ZCO0VBQXVDLFNOMWZuQjs7O0FNMmZwQjtFQUFzQyxTTnJGbkI7OztBTXNGbkI7RUFBdUMsU050S25COzs7QU11S3BCO0VBQW1DLFNOcExuQjs7O0FNcUxoQjtFQUEwQyxTTnBMbkI7OztBTXFMdkI7RUFBdUMsU05pRW5COzs7QU1oRXBCO0VBQXNDLFNOaUVuQjs7O0FNaEVuQjtFQUFvQyxTTm5kbkI7OztBTW9kakI7RUFBZ0MsU05oY25COzs7QU1pY2I7RUFBb0MsU05wTW5COzs7QU1xTWpCO0VBQXNDLFNOL2dCbkI7OztBTWdoQm5CO0VBQStCLFNONWFuQjs7O0FNNmFaO0FBQUE7QUFBQTtFQUVnQyxTTnJObkI7OztBTXNOYjtFQUFxQyxTTm5KbkI7OztBTW9KbEI7RUFBdUMsU052Y25COzs7QU13Y3BCO0VBQTJDLFNONVhuQjs7O0FNNlh4QjtFQUFxQyxTTi9XbkI7OztBTWdYbEI7RUFBcUMsU043Um5COzs7QU04UmxCO0VBQW9DLFNObE1uQjs7O0FNbU1qQjtFQUFtQyxTTmpEbkI7OztBTWtEaEI7RUFBeUMsU05yQ25COzs7QU1zQ3RCO0VBQXdDLFNOakNuQjs7O0FNa0NyQjtFQUFxQyxTTmhDbkI7OztBTWlDbEI7RUFBc0MsU04zYm5COzs7QU00Ym5CO0VBQTRDLFNON2JuQjs7O0FNOGJ6QjtFQUFvQyxTTmxYbkI7OztBTW1YakI7RUFBaUMsU041Q25COzs7QU02Q2Q7RUFBd0MsU044RW5COzs7QU03RXJCO0VBQXVDLFNObEpuQjs7O0FNbUpwQjtFQUF3QyxTTkVuQjs7O0FNRHJCO0VBQXNDLFNOdlBuQjs7O0FNd1BuQjtFQUFrQyxTTjZFbkI7OztBTTVFZjtFQUFpQyxTTjVLbkI7OztBTTZLZDtFQUFvQyxTTm5LbkI7OztBTW9LakI7QUFBQTtFQUN3QyxTTnVDbkI7OztBTXRDckI7RUFBNEMsU051Q25COzs7QU10Q3pCO0VBQXlDLFNOd0VuQjs7O0FNdkV0QjtFQUF3QyxTTmpMbkI7OztBTWtMckI7RUFBdUMsU051RW5COzs7QU10RXBCO0VBQXdDLFNObExuQjs7O0FNbUxyQjtFQUEwQyxTTmpMbkI7OztBTWtMdkI7RUFBMEMsU05uTG5COzs7QU1vTHZCO0VBQW1DLFNON0puQjs7O0FNOEpoQjtFQUF1QyxTTjdTbkI7OztBTThTcEI7RUFBOEMsU050V25COzs7QU11VzNCO0VBQXdDLFNOaEluQjs7O0FNaUlyQjtFQUFxQyxTTjZFbkI7OztBTTVFbEI7RUFBbUMsU04zRW5COzs7QU00RWhCO0VBQXNDLFNOdURuQjs7O0FNdERuQjtFQUF1QyxTTndEbkI7OztBTXZEcEI7QUFBQTtFQUNnQyxTTjFnQm5COzs7QU0yZ0JiO0VBQW9DLFNOMERuQjs7O0FNekRqQjtFQUFrQyxTTm1CbkI7OztBTWxCZjtFQUFtQyxTTm5CbkI7OztBTW9CaEI7RUFBbUMsU043TG5COzs7QU04TGhCO0FBQUE7RUFDeUMsU040RW5COzs7QU0zRXRCO0VBQTBDLFNOcEtuQjs7O0FNcUt2QjtFQUFxQyxTTnhLbkI7OztBTXlLbEI7RUFBeUMsU045WG5COzs7QU0rWHRCO0FBQUE7RUFDeUMsU056aEJuQjs7O0FNMGhCdEI7QUFBQTtFQUNtRCxTTnhoQm5COzs7QU15aEJoQztBQUFBO0VBQ3lDLFNONWhCbkI7OztBTTZoQnRCO0FBQUE7RUFDNEMsU043aEJuQjs7O0FNOGhCekI7QUFBQTtFQUMwQyxTTmxpQm5COzs7QU1taUJ2QjtFQUEwQyxTTjdMbkI7OztBTThMdkI7RUFBcUMsU05uUm5COzs7QU1vUmxCO0VBQXlDLFNOMUxuQjs7O0FNMkx0QjtFQUEyQyxTTjFMbkI7OztBTTJMeEI7RUFBd0MsU05oRG5COzs7QU1pRHJCO0VBQTBDLFNOaERuQjs7O0FNaUR2QjtFQUFtQyxTTjdlbkI7OztBTThlaEI7RUFBMkMsU05oZm5COzs7QU1pZnhCO0VBQWtDLFNObGRuQjs7O0FNbWRmO0VBQTBDLFNOeGpCbkI7OztBTXlqQnZCO0VBQXdDLFNOaFNuQjs7O0FNaVNyQjtBQUFBO0VBQzRDLFNOalNuQjs7O0FNa1N6QjtBQUFBO0VBQzJDLFNOclNuQjs7O0FNc1N4QjtBQUFBO0VBQzBDLFNOeFNuQjs7O0FNeVN2QjtFQUFzQyxTTjdTbkI7OztBTThTbkI7QUFBQTtFQUN3QyxTTjdUbkI7OztBTThUckI7QUFBQTtFQUN5QyxTTmxVbkI7OztBTW1VdEI7RUFBNEMsU04vVG5COzs7QU1nVXpCO0VBQTBDLFNOelVuQjs7O0FNMFV2QjtFQUF5QyxTTmhVbkI7OztBTWlVdEI7RUFBMkMsU05wVW5COzs7QU1xVXhCO0VBQXlDLFNOdFVuQjs7O0FNdVV0QjtFQUFzQyxTTjNCbkI7OztBTTRCbkI7RUFBdUMsU04zSm5COzs7QU00SnBCO0VBQTZDLFNOOWNuQjs7O0FNK2MxQjtFQUErQixTTnJXbkI7OztBTXNXWjtFQUFzQyxTTnJXbkI7OztBTXNXbkI7RUFBd0MsU054Qm5COzs7QU15QnJCO0VBQTBDLFNOdk5uQjs7O0FNd052QjtFQUFpRCxTTnZObkI7OztBTXdOOUI7RUFBdUMsU04zV25COzs7QU00V3BCO0VBQXdDLFNObUJuQjs7O0FNbEJyQjtFQUFtQyxTTmpKbkI7OztBTWtKaEI7RUFBbUMsU052Zm5COzs7QU13ZmhCO0VBQW9DLFNOelluQjs7O0FNMFlqQjtFQUFrQyxTTjFObkI7OztBTTJOZjtFQUE4QyxTTmhUbkI7OztBTWlUM0I7QUFBQTtFQUN1QyxTTm5FbkI7OztBTW9FcEI7RUFBbUMsU05oZW5COzs7QU1pZWhCO0VBQWtDLFNOdm9CbkI7OztBTXdvQmY7RUFBbUMsU05qb0JuQjs7O0FNa29CaEI7RUFBNEMsU056aUJuQjs7O0FNMGlCekI7RUFBNkMsU041aUJuQjs7O0FNNmlCMUI7RUFBNkMsU04xaUJuQjs7O0FNMmlCMUI7RUFBNkMsU04vaUJuQjs7O0FNZ2pCMUI7RUFBcUMsU05oVW5COzs7QU1pVWxCO0VBQW9DLFNOMVFuQjs7O0FNMlFqQjtFQUFzQyxTTjFRbkI7OztBTTJRbkI7RUFBa0MsU043UW5COzs7QU04UWY7RUFBZ0MsU05oUm5COzs7QU1pUmI7RUFBdUMsU05uZm5COzs7QU1vZnBCO0VBQXlDLFNObmZuQjs7O0FNb2Z0QjtFQUFrQyxTTjlVbkI7OztBTStVZjtFQUFrQyxTTmxCbkI7OztBTW1CZjtFQUFzQyxTTjVrQm5COzs7QU02a0JuQjtFQUFzQyxTTmxabkI7OztBT2xSbkI7RUFDRTtFQUNBO0VBQ0E7RUFLQTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRUE7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUNuUUE7RUFDRTtFQUNBO0VBQ0E7O0FBdkRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0I3RXRDTztFNkV3Q1A7RUFDQTtFQUNBLFM3RW1Uc0M7RTZFbFR0QyxXN0VnVHNDO0U2RS9TdEMsYTdFZ1RzQztFNkUvU3RDO0VBQ0EsZTdFMkJzQztFS2dINUMsb0J3RXpJTTtFeEUwSUQsZXdFMUlDO0V4RTJJRSxZd0UzSUY7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPN0VtU3NDO0U2RWxTdEMsUTdFa1NzQztFNkVqU3RDO0VBQ0E7RUFDQTtFQUNBLGU3RWFzQzs7QTZFTTFDO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0U7O0FBNUJOO0FBQUE7RUFDRSxhN0VtUjBDO0U2RWxSMUMsUzdFbVIwQzs7QTZFcFB4QztBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOztBQUVBO0FBQUE7RUFDRSxrQjdFeEdLO0U2RXlHTDs7QUFN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Z0Y0STFDLGVoRjVJMEM7RWdGNkkxQzs7O0FBRUo7QUFBQTtFQUVJOzs7QUFFSjtBQUFBO0VBRUksT2hGNUxxQjs7O0FnRjhMekI7QUFBQTtFQUVJO0VBQ0EsT2hGak1xQjtFZ0ZrTXJCOzs7QUFFSjtBQUFBO0FBQUE7QUFBQTtFQUlJLGtCMUV0Tm9CO0UwRXVOcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7OztBQUVKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFvQkksa0IxRXZQb0I7OztBMEV5UHhCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFRSTs7O0FBRUo7QUFBQTtBQUFBO0FBQUE7RUFJSSxrQnpFelJxQjtFeUUwUnJCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPMUUzSTZCO0UwRTRJN0I7OztBQUVKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFvQkksa0J6RTVUcUI7OztBeUU4VHpCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFRSTs7O0FBRUo7QUFBQTtFQUVJOzs7QUFFSjtBQUFBO0VBRUk7RUFDQTs7O0FBRUo7QUFBQTtFQUVJO0VBQ0EsT2hGcFRxQjtFZ0ZxVHJCOzs7QUFFSjtBQUFBO0FBQUE7QUFBQTtFQUlJLGtCekUzVnFCO0V5RTRWckI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQSxPMUU3TTZCO0UwRThNN0I7OztBQUVKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FB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SkEsUUQ2QzRCO0VDNUM1QjtFQUNBO0VBQ0E7RUFDQTs7QUQrQ0k7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0UsWXRGUnNDOzs7QXNGYzlDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FFdEZGO0FBQ0E7QUFBQTtBQUdBO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0FBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUFZO0VBQ1o7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7QUFDQTtBQUFBO0FBR0E7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFDQTtBQUFBO0FBR0E7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7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RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7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RUFFRSxPNUZqRW1CO0U0RmtFbkIsa0JuR2xFUzs7QW1Hc0VYO0VBQ0U7O0FBSUo7RUFDRSxPbkd0RWE7O0E4RkxmO0VBQ0UsTzlGWWE7O0E4RlRiO0VBQ0UsT0FONkc7O0FLbUYvRztFQUNFO0VBQ0E7O0FBRUY7RUFDRSxPbkdsRlc7O0FtR29GWDtFQUVFLE81RjVGaUI7RTRGNkZqQixrQm5HNUZPOztBbUdnR1Q7RUFHRSxPNUZwR2lCO0U0RnFHakIsa0JuR3BHTzs7QW1Hd0dUO0VBR0UsT25HSXNDO0VtR0h0QyxrQm5HSXNDOztBbUdDNUM7RUFDRSxjbkduR2U7O0FtR29HZjtFQUVFLGtCbkdySFM7O0FtR3VIWDtFQUNFLGtCNUZ6SG1COztBNEY2SHZCO0FBQUE7QUFBQTtFQUVFLGNuRy9HZTs7QW1Hc0hiO0VBR0Usa0JuR3hJTztFbUd5SVAsTzVGMUlpQjs7QTRGOElyQjtFQUdJO0lBQ0UsT25HNUlPOztFbUc2SVA7SUFFRSxPNUZySmE7STRGc0piLGtCbkdySkc7O0VtR3lKTDtJQUdFLE81RjdKYTtJNEY4SmIsa0JuRzdKRzs7RW1HaUtMO0lBR0UsT25HckRrQztJbUdzRGxDLGtCbkdyRGtDOzs7QW1HNEQ1QztFQUNFLE9uR3hLYTs7QW1HeUtiO0VBQ0UsTzVGaExtQjs7QTRGb0x2QjtFQUNFLE9uRy9LYTs7QW1HZ0xiO0VBRUUsTzVGeExtQjs7QTRGNExuQjtFQUVFLE9uRzlFc0M7OztBbUdxRjVDO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7O0FDeE5OO0VBQ0U7O0FBRUE7RUFDRSxZcEdGVztFb0dHWCxPcEdLYTs7O0FvR0dqQjtFN0VQRSxPaEJOdUI7RWdCT3ZCLGtCdkJQYTtFdUJRYixjakJvSitCOztBaUJsSi9CO0VBRUUsT2hCWnFCO0VnQmFyQjtFQUNJOztBQUVOO0VBQ0UsT2hCakJxQjtFZ0JrQnJCO0VBQ0k7O0FBRU47RUFHRSxPaEJ4QnFCO0VnQnlCckI7RUFDSTs7QUFFSjtFQUdFLE9oQi9CbUI7RWdCZ0NuQjtFQUNJOztBQUdSO0VBR0U7O0FBS0E7RUFNRSxrQnZCbERTO0V1Qm1ETCxjakJ5R3VCOztBaUJyRy9CO0VBQ0UsT3ZCeERXO0V1QnlEWCxrQmhCekRxQjs7O0E2RmlCekI7RUFDRTtFQUNBO0VBQ0EsT3BHUmU7RW9HU2YsWXBHcEJhO0VvR3FCYjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQW9CRTtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0ZESCxvQitGRUc7RS9GREssWStGQ0w7O0FBTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUlMO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0YzQkYsb0IrRjRCRTtFL0YzQk0sWStGMkJOOztBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RS9GckRGLG9CK0ZzREU7RS9GckRNLFkrRnFETjs7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UvRi9FRixvQitGZ0ZFO0UvRi9FTSxZK0YrRU47O0FBTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUNsS047RUFDRTs7O0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFHRSxhQVZ3Qjs7QUFhMUI7RUFDRTs7QUFFQTtFQUhGO0lBSU07OztBQUdKO0VBQ0U7OztBQ25CSjtFQUdFO0VBQ0E7RUFDQTs7O0FBV0E7RUFDRSxXdEcrQndDOztBc0c1QnRDO0VBQ0UsTy9GdkJlOztBK0YwQm5CO0VBQ0U7RUFDQSxPdEdkUzs7O0FzR3lCYjtFQUNFLE1oR3NEc0I7RWdHckR0Qjs7QUFFQTtFQUNFOztBQU1KO0VBQ0U7O0F6QnFCSjtFQUNFO0VBQ0E7RUFDQTs7QUF2REE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQjdFdENPO0U2RXdDUDtFQUNBO0VBQ0EsUzdFbVRzQztFNkVsVHRDLFc3RWdUc0M7RTZFL1N0QyxhN0VnVHNDO0U2RS9TdEM7RUFDQSxlN0UyQnNDO0VLZ0g1QyxvQndFeklNO0V4RTBJRCxld0UxSUM7RXhFMklFLFl3RTNJRjs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE83RW1Tc0M7RTZFbFN0QyxRN0VrU3NDO0U2RWpTdEM7RUFDQTtFQUNBO0VBQ0EsZTdFYXNDOztBNkVNMUM7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtFQUNFOztBQTVCTjtBQUFBO0FBQUE7QUFBQTtFQUNFLGE3RW1SMEM7RTZFbFIxQyxTN0VtUjBDOztBNkVwUHhDO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtFQUNFLGtCN0V4R0s7RTZFeUdMOztBQU1OO0VBQ0U7O0F5QjFEQTtFQUNFO0VBQ0E7O0F6Qk9OO0VBQ0UsYTdFbVIwQztFNkVsUjFDLFM3RW1SMEM7O0FzR3BSdEM7RUFDRSxPdEcyUm9DO0VzRzFScEMsa0IvRnBFZTs7QStGc0VqQjtFQUNFLGtCL0Z2RWU7RStGeUViLGMvRnpFYTs7O0ErRitGbkI7RUFFRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUlOO0VBRUU7RUFDQTtFQUNBLGFBN0JnQjs7QUErQmhCO0VBQ0U7RUFDQTtFQUNBO0VBQ0Esb0J0R3ZHYTtFc0d3R2I7RUFFQTtFQUNBOztBQUVGO0VBQ0UsS0F4Q1M7RUF5Q1Q7RUFDQTtFQUNBLG9CdEdqSVM7RXNHa0lUO0VBRUE7RUFDQTs7QUFHSjtFQUVFO0VBQ0E7RUFDQTtFQUNBLGNBekRnQjs7QUEyRGhCO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUJ0R25JYTtFc0dvSWI7RUFFQTtFQUNBOztBQUVGO0VBQ0UsS0FwRVM7RUFxRVQ7RUFDQTtFQUNBLG1CdEc3SlM7RXNHOEpUO0VBRUE7RUFDQTs7QUFHSjtFQUVFO0VBQ0E7RUFDQSxZQXBGZ0I7O0FBc0ZoQjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUJ0Ry9KYTtFc0dpS2I7RUFDQTs7QUFFRjtFQUNFO0VBQ0EsTUFoR1M7RUFpR1Q7RUFDQTtFQUNBLHFCdEd6TFM7RXNHMkxUO0VBQ0E7O0FBR0o7RUFFRTtFQUNBO0VBQ0EsZUEvR2dCOztBQWlIaEI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCdEcxTGE7O0FzRzRMZjtFQUNFLE1BdkhTO0VBd0hUO0VBQ0E7RUFDQTtFQUNBLGtCdEdqTlM7O0FzR3VOWDtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBLFFBdklPOztBQXlJVDtFQUNFO0VBQ0E7O0FBT0o7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0EsT0E1Sk87OztBQ3RGZjtFQUNFLGF2RzZMNEM7O0F1RzFMMUM7RUFDRTtFQUNBOzs7QUFLTjtFQUNFOzs7QUFJQTtFQUNFOztBQUdGO0FBQUE7RUFFRTtFQUNBOztBQUlBO0FBQUE7RUFFRTs7O0FBT0o7QUFBQTtBQUFBO0VBQ0U7RUFDQSxjakc4SzZCOztBaUczSy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7O0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7OztBQU9KO0FBQUE7RUFDRTs7QUFFRjtBQUFBO0VBR0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFqRzhJNkI7O0FpRzVJL0I7QUFBQTtBQUFBO0VBQ0UsY2pHMkk2Qjs7O0FpR3BJL0I7RUFDRSxPdkcxRWE7RXVHMkViLGtCdkdqRlc7RXVHa0ZYO0VBQ0EsZXZHYjBDO0V1R2MxQztFQUNBO0VsR21HRixvQmtHbEdFO0VsR21HRyxla0duR0g7RWxHb0dNLFlrR3BHTjs7QUFFQTtFQU1FLE92R3pGVztFdUcwRlgsa0J2R2hHUztFdUdpR1QsY3ZHakZhO0V1R2tGYjtFbEc5Qkosb0JrRytCSTtFbEc5QkksWWtHOEJKOztBQUtBO0VBVUUsT3ZHNUdTO0V1RzZHVCxrQnZHbkhPO0V1R29IUCxjdkdwR1c7RXVHcUdYO0VsR2pETixvQmtHa0RNO0VsR2pERSxZa0dpREY7OztBQU1SO0VBQ0U7OztBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUUsT3ZHL0hhO0V1R2dJYixrQnZHdElXOzs7QXVHK0liO0VBSUU7O0FBR0Y7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBR0Y7RUFDRTs7O0FBSUo7RUFFRTs7QUFPRjtFQUNFLFd2R2pKNEM7OztBd0dqRDlDO0VBQ0U7OztBQUdGO0VBQ0Usa0J4R0xhO0V3R01iLGV4R2dUNEM7OztBd0c3UzlDO0UxRU5FLHlCOUJtVDRDO0U4QmxUM0Msd0I5QmtUMkM7RXdHM1M1QyxZeEdWYTs7QXdHWWI7RUFDRTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0EsT2pHckJxQjs7O0FpR3lCdkI7RUFDRTtFQUNBLGVsR3VqQjBCOztBa0dwakI1QjtFQUNFOzs7QUFHSjtFMUV2QkUsNEI5QjJTNEM7RThCMVMzQywyQjlCMFMyQztFd0dsUjVDLFl4R25DYTtFd0dvQ2I7OztBQUtGO0VBQ0U7SUFBWSxPQUhIOzs7QUFNWDtFQUNFO0VBQ0E7OztBQUlBO0VBQ0U7RUFDSTtFQUNDO0VBQ0c7O0FBRVY7RUFDRTtFQUNJO0VBQ0M7RUFDRzs7O0FBSVo7RUFFRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNJO0VBQ0M7RUFDRzs7QUFFVjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQSxPeEc3R1c7O0F3R2lIZjtFQUVFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTs7O0FBTUY7RUFDRTs7QUFFRjtFQUNFOzs7QUMzSko7RUFDRSxrQnpHRGE7OztBeUdRVDtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQSxPekdQTztFeUdRUDtFQUNBO0VBQ0E7O0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRSxPekduQ0c7O0F5R29DSDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRSxPbEdqRFM7O0FrR3VEYjtBQUFBO0FBQUE7RUFDRTs7QUFFQTtBQUFBO0FBQUE7RUFDRTs7QUFNVjtFQUNFLE96R3hEUztFeUd5RFQsa0J6R2pFTzs7QXlHbUVQO0VBQ0U7O0FBS0o7RUFDRTtFQUNBOztBQUdFO0VBQ0UsT2xHakZhOztBa0dzRm5CO0UzRmxGSjtFQUNBO0VBQ0E7RTJGa0ZNOztBQUdGO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRSxPekc1Rk87RXlHNkZQO0VBQ0E7RUFDQTs7QUFFRjtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUVGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBSUo7RUFDRTs7QUFFRjtFQUFzQixPbEczSEg7O0FrRzRIbkI7RUFBc0IsT2xHNUhIOztBa0dpSWI7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPekczSEc7RXlHNEhILGtCekdwSUM7O0F5RzRJVDtFQUNFOztBQU1BO0FBQUE7RUFFRTs7QUFVTjtFQUNFOztBQU1GO0FBQUE7RUFDRTs7QUFLRjtFQUNFOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNFO0VBQ0E7O0FBRUE7QUFBQTtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFO0VBQ0E7OztBNUZuTVY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7O0E0RndNRjtFQUtFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNFLGN6R3pOYTs7QXlHMk5iO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FBTUo7RUFDRTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTs7O0FBSUo7RUFDSTtFQUNGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUU7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFOztBQUlOO0VBQ0U7RUFDQTs7QUFFRTtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQSxZekdwVE87O0F5R3NUUDtFQUNFLFlsR3hUZTs7QWtHMlRqQjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFRSjtFQUNFO0VBQ0E7RUFDQTs7O0FDN1VSO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlJO0VBQ0U7OztBQU1SO0VBbUJFO0VBQ0EsU3RCWndCOztBc0JQeEI7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBTUY7RUFDRTs7QUFFRjtFQUtFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBLFkxRzVEVztFMEc2RFgsTzFHdERhOztBMEcwQ2I7RUFDRTs7QUFhRjtFQUNFLFkxR2hFUztFMEdpRVQsTzFHMURXOztBMEc2RGI7RUFDRSxZbkdyRW1CO0VtR3NFbkIsTzFHakVXOzs7QTJHTGpCO0VBR0U7O0E5RlVBO0VBRUU7RUFDQTs7QUFFRjtFQUNFOztBOEZkRjtFQUdFO0VBQ0E7OztBQ1RKO0VBRUU7RUFDQTs7QS9GVUE7RUFFRTtFQUNBOztBQUVGO0VBQ0U7O0ErRmRGO0VBR0U7RUFDQTs7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQVFKO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFHQSxZNUd0Q1c7RTRHdUNYLE81RzdCYTs7QTRHZ0NmO0VBR0U7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0U5Rm5ESjtFQUNBO0VBQ0E7RThGb0RJOztBQUVBO0U5RnhESjtFQUNBO0VBQ0E7RThGd0RNO0VBQ0E7O0FBS047RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQVJBO0VBQ0U7O0FBU0Y7RUFDRTs7QUFJSjtFQUVFOztBQUVBO0VBQ0U7O0FBS0Y7RUFDRSxPckdqR21CO0VxR2tHbkI7RUFDQTs7QUFHRjtFQUNFOztBQUVGO0VBQ0U7RUFBWTs7QUFFZDtFQUNFOztBQUlKO0VBSUU7RUFDQTtFQUVBO0VBSUEsVzVHMUUwQztFNEc0RTFDOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBRUY7RUFDRTs7QUFJSjtFQUNFOztBQVVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUlFOztBQUtGO0VBSUU7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQSxPNUcxS1M7RTRHMktUOztBQUtKO0VBQ0U7RUFDQTs7QUFFQTtFQUlFOztBQU1KO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFOztBQUtOO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU9KO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQU9GO0VBQ0U7O0FBRUE7RUFDRTs7QUFFQTtFQUNFOzs7QUFTVjtFQUNFO0VBQ0EsWTVHMUkwQzs7O0E2Ry9LOUM7RUFDRTs7QUFFQTtFQUNFOztBQU1KO0VBQ0U7RUFDQSxrQjdHWGE7RTZHWWIsZTdHMEQ0QztFNkd4RDVDO0VBQ0E7RUFDQSxPN0dYZTtFNkdZZixXN0dpQzRDOztBNkcvQjVDO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLGM3R3VQMEM7RTZHdFAxQztFQUVBO0VBQ0E7RUFDQTtFQUVBO0UvRmhDRjtFQUNBO0VBQ0E7RStGaUNFO0VBRUE7QUF5Q0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBdkNBO0VBQ0U7O0FBRUE7RUFDRTs7QUFFRjtFQUNFOztBQUlKO0VBRUU7RUFDQTtFQUNBO0VBR0E7RUFFQSxXN0dvT3dDO0U2R25PeEMsYTdHb093QztFNkduT3hDLE90R2pFbUI7RXNHa0VuQjs7QUFFRjtFQUNFLE83RzNEVzs7QTZHNkRYO0VBQ0U7RUFDQSxPN0c1RFM7RTZHNkRULFc3RzJOc0M7RTZHMU50QyxhN0cyTnNDOztBNkd2TjFDO0VBQ0UsYzdHcUx3Qzs7QTZHcEs1QztFQUNFO0VBQ0E7O0FBRUE7RUFDRSxZN0duR1M7O0E2R3VHYjtFQUNFLE83R3JHYTtFNkdzR2Isa0I3RzFHVzs7QTZHNEdYO0VBQ0UsT3RHL0dtQjs7QXNHbUhuQjtFQUNFLE90R3BIaUI7O0FzR3VIakI7RUFDRSxPdEd4SGU7OztBc0crSHpCO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBRUEsTzdHb0o0QztFNkduSjVDLFc3R2dKNEM7RTZHL0k1QyxZN0dnSjRDO0U2RzlJNUM7O0FBRUE7RUFDRSxRN0d3STBDO0U2R3ZJMUMsZTdHekUwQztFNkcwRTFDO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0UsTzdHc0l3QztFNkdySXhDLGtCN0d2SlM7RTZHd0pUOztBQUdGO0VBQ0UsYTdHMkd3QztFNkcxR3hDLGdCN0cwR3dDO0U2R3pHeEMsYzdHc0d3QztFNkdyR3hDO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQSxhN0dnR3dDO0U2Ry9GeEMsZ0I3RytGd0M7RTZHOUZ4QyxjN0cwR3dDO0U2R3pHeEMsZTdHMEd3QztFNkd6R3hDO0UvRnhLSjtFQUNBO0VBQ0E7RStGd0tJOztBQUVBO0VBQ0U7RUFDQTtFQUNBLE83R3hLUzs7QTZHNEtiO0VBQ0UsYTdHZ0Z3QztFNkcvRXhDLGdCN0crRXdDO0U2RzlFeEMsYzdHMEZ3QztFNkd4RnhDLE83RzlLVztFNkdnTFg7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBRUY7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQSxPN0dqTVM7O0E2R3FNYjtFQUNFOztBQUdGO0VBQ0UsWTdHdk5TOztBNkd5TlQ7RUFDRSxvQnRHM05pQjs7O0F1R012QjtFQUNFOztBakdNRjtFQUVFO0VBQ0E7O0FBRUY7RUFDRTs7QWlHVEY7RWhHTkE7RUFDQTtFQUNBOztBZ0dPQTtBQUFBO0FBQUE7RUFFRSxTOUdrSjBDO0U4R2pKMUMsVzlHb0MwQzs7QThHakMxQztBQUFBO0FBQUE7RUFDRSxXOUc2T3dDO0U4RzVPeEMsT3ZHckJtQjtFdUd1Qm5COztBQUdGO0VBYkY7QUFBQTtBQUFBO0lBY0k7OztBQUdKO0VBQ0U7OztBQUlKO0VBQ0U7RXpHZ0NBLG9CeUcvQkE7RXpHZ0NRLFl5R2hDUjs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0ExRjBhQTtFQUVFO0lBQ0U7SUFDQTtJQUNBOztFQUlGO0lBQ0U7SUFDQTtJQUNBOztFQUlGO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFHRTs7RUFLSjtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFLRjtBQUFBO0lBRUU7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7QUFBQTtJQUNFOztFQUdKO0FBQUE7SUFFRTtJQUNBOztFQUlGO0FBQUE7SUFDRTs7O0EwRm5lSjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUlBO0VBREY7SUFFSTs7RUFFQTtJQUNFOzs7QUFRTjtFQS9CRjtJQWdDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUE1RUY7SUFDQTtJQStFRTs7OztBQ2pGSjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE94R1Z1Qjs7O0F3R2F6QjtFQUNFO0VBQ0E7RUFDQSxrQi9HaEJhOzs7QStHb0JiO0FBQUE7RUFDRSxrQi9HckJXO0UrR3NCWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0VBQ0U7RUFDQTs7QUFHRjtBQUFBO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBQ0Y7SUFDRTtJQUNBOztFQUNGO0lBQ0U7SUFDQTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDcElOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RTNHcURGLG9CMkdwREU7RTNHcURNLFkyR3JETjs7QUFHRjtFQUNFOztBQUdGO0VBQ0UsZWhIK0MwQztFZ0g5QzFDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7OztBQ25DSjtFQUNFOzs7QUFHRjtFQUVFOzs7QUFNRjtFQUNFO0VBQ0E7RW5GWEEseUI5Qm1UNEM7RThCbFQzQyx3QjlCa1QyQzs7O0FrSDlSMUM7RUFDRSxPM0d6Qm1CO0UyRzBCbkI7RUFDQTs7QUFFQTtFMUYxQkosUzBGMkJ1QjtFMUZ4QnZCOztBMkZORjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFHQSxZbkhmYTtFbUhnQmI7O0FBRUE7RUFFRSxZbkhuQlc7O0FhWWI7RUFFRTtFQUNBOztBQUVGO0VBQ0U7O0FzR0lGO0VBQ0U7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQVVGO0VBQ0UsWW5IcENXOztBbUh1Q2I7QUFBQTtFQUVFO0VBQ0EsT25IakNhOzs7QW1Ic0NqQjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFDRjtFQUNFO0VBQ0E7OztBQ3RERjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOzs7QUFLRjtFQUNFOztBQUdGO0VBQ0U7OztBQU1GO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBR0E7RUFDRTs7QXZHN0JGO0VBRUU7RUFDQTs7QUFFRjtFQUNFOztBdUcwQkE7RUFDRTtFQUNBO0VBQ0EsWXBIOUNTO0VvSCtDVCxPcEgzQ1c7RW1GSmYsb0JpQ2dEMEI7RWpDL0MxQix1QmlDK0MwQjtFakM5QzFCLGVpQzhDMEI7O0FBRXhCO0VBQ0U7RUFDQTtFQUNBLFdwSE53QztFb0hPeEMsT3BIN0NXOztBb0hnRGI7RUFDRTs7O0FDNUROO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0EsWXJIc0JxQjs7QXFIaEJqQjtFQUNFOztBQUtOO0VBQ0U7O0FBRUE7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTs7QUFNRjtFQUNFOztBQUVGO0VBQ0U7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQSxTL0c4akJ3QjtFK0c3akJ4QixlL0dXb0I7RStHVnBCO0VBQ0EsZXJIZ0J3QztFcUhmeEM7RUFDQTs7QUFJQTtFQUNFO0VBQ0E7O0FBSUo7RUFDRSxPckg5RFc7O0FxSGdFYjtFQUNFO0VBQ0E7O0FBRUE7RUFDRSxPckhyRVM7OztBcUg2RWI7RUFDRTs7O0FBTUo7RUFDRTs7QUFFQTtFQUNFOzs7QUFLTjtFQUNFLFlySHBFdUI7RXFIcUV2QjtFQUNBO0VBQ0E7OztBQ3RHQTtFQUNFOztBQUVBO0VBQ0U7OztBQ0xOO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0VBQ0U7OztBQ2hDTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0U7QUFBQTtFQUVFOztBQUlKO0FBQUE7RUFFRTtFQUNBOztBQUVGO0FBQUE7RUFFRTs7QUFHRjtBQUFBO0VBRUU7OztBQUtGO0VBQ0U7O0FBSUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUlKO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FBRUY7RUFHRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQU9GO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtBQUFBO0FBQUE7QUFBQTtJQUlFOzs7O0FBS047RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFFQSxleEh4QzRDOztBd0gwQzVDO0VBQ0UsYWxIcERzQjs7QWtIdUR4QjtFQUdFO0VBQ0EsYWxIM0RzQjtFa0g0RHRCO0VBQ0EsT3hIckhhO0V3SHNIYixrQnhINUhXO0V3SDZIWDtFQUNBOztBQUVBO0VBQ0k7RTFGbEhOLDJCOUJ3RDRDO0U4QnZEekMsd0I5QnVEeUM7O0F3SDZEMUM7RTFGN0hGLDRCOUJnRTRDO0U4Qi9EekMseUI5QitEeUM7O0F3SGlFMUM7RUFDRTs7QUFHRjtFQUVFO0VBQ0EsT3hIeklXO0V3SDBJWCxrQnhIL0lTO0V3SGdKVCxjeEhvRndDOztBd0hoRnhDO0VBR0U7RUFDQSxPakh6SmlCO0VpSDBKakIsa0J4SHpKTztFd0gwSlAsY3hIMEVzQztFd0h6RXRDOztBQUtGO0VBR0UsT3hIeEpTO0V3SHlKVCxrQnhIcktPO0V3SHNLUCxjeEgrRHNDO0V3SDlEdEMsUXhIc0JzQyIsImZpbGUiOiJsaWdodC1ibHVlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiRjb2xvci1iZy0wMDA6ICNmZmZmZmYgIWRlZmF1bHQ7XG4kY29sb3ItYmctMTAwOiAjZjlmOWY5ICFkZWZhdWx0O1xuJGNvbG9yLWJnLTIwMDogI2VlZWVlZSAhZGVmYXVsdDtcbiRjb2xvci1iZy0zMDA6ICNkZGRkZGQgIWRlZmF1bHQ7XG5cbiRjb2xvci10ZXh0LTAwMDogI2ZmZmZmZiAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LTEwMDogIzIwMjAyMCAhZGVmYXVsdDsgLy9kYXJrZXN0XG4kY29sb3ItdGV4dC0yMDA6ICM1NTU1NTUgIWRlZmF1bHQ7IC8vZGFya2VyXG4kY29sb3ItdGV4dC0zMDA6ICM1OTU5NTkgIWRlZmF1bHQ7IC8vZGFya1xuJGNvbG9yLXRleHQtNDAwOiAjNjY2NjY2ICFkZWZhdWx0OyAvL25vcm1hbFxuJGNvbG9yLXRleHQtNTAwOiAjNzc3Nzc3ICFkZWZhdWx0OyAvL2xpZ3RoXG4kY29sb3ItdGV4dC02MDA6ICM5OTk5OTkgIWRlZmF1bHQ7IC8vbGlndGhlclxuJGNvbG9yLXRleHQtNzAwOiAjYWFhYWFhICFkZWZhdWx0OyAvL1xuJGNvbG9yLXRleHQtODAwOiAjY2NjY2NjICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtOTAwOiAjZGRkZGRkICFkZWZhdWx0O1xuXG4kY29sb3ItYm9yZGVyLTEwMDogI2Q5ZDlkOSAhZGVmYXVsdDtcbiRjb2xvci1ib3JkZXItMjAwOiAjZTllOWU5ICFkZWZhdWx0O1xuJGNvbG9yLXNoYWRvdzogI2NjY2NjYyAhZGVmYXVsdDtcblxuLypcbiRiYXNlLWJnOiAgICAgICAgICAgICAgICAjZmZmZmZmICFkZWZhdWx0O1xuJGJhc2UtYmctZGFya2VyOiAgICAgICAgICNlZWVlZWUgIWRlZmF1bHQ7XG4kYmFzZS1iZy1kYXJrOiAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbiRiYXNlLWJvcmRlcjogICAgICAgICAgICAjZDlkOWQ5ICFkZWZhdWx0O1xuJGJhc2UtY29sb3I6ICAgICAgICAgICAgICMyMDIwMjAgIWRlZmF1bHQ7XG4qL1xuXG4kZ3JheS1iYXNlOiAgICAgICAgICAgICAgIzIwMjAyMCAhZGVmYXVsdDtcbiRncmF5LWRhcmtlcjogICAgICAgICAgICAjNTU1NTU1ICFkZWZhdWx0O1xuJGdyYXktZGFyazogICAgICAgICAgICAgICM3Nzc3NzcgIWRlZmF1bHQ7XG4kZ3JheTogICAgICAgICAgICAgICAgICAgI2RkZGRkZCAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICAjZWVlZWVlICFkZWZhdWx0O1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgICNmOWY5ZjkgIWRlZmF1bHQ7XG5cbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG5cblxuXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSZzdWJzZXQ9Y3lyaWxsaWMsY3lyaWxsaWMtZXh0LGxhdGluLWV4dCcpO1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbWFsbGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAtIDIgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlIC0gMSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKyAxICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSArIDIgIWRlZmF1bHQ7XG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMzAwICFkZWZhdWx0O1xuJHRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTEwMCAhZGVmYXVsdDtcbiRzdGF0LWJveC10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjAyMDIwICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMDAwICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGNvbG9yLXN0YXR1cy1vbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuICFkZWZhdWx0O1xuXG4vLyoqIGhlYWRpbmdzXG4kaGVhZGluZy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzhweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kaGVhZGluZy1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcblxuLy8qKiBpY29uXG4kaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtOTAwICFkZWZhdWx0O1xuXG4vLyoqIGJvcmRlcnNcbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuLy8qKiBuYXZiYXJzXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDJweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGVmYXVsdC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWxhcmdlICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJvcmRlci0xMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMTAwICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtYmcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpY29uLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLW1haW4tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1sYXJnZSAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJG5hdmJhci1tYWluLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRuYXZiYXItbWFpbi1iZyAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkbmF2YmFyLW1haW4tY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAkbmF2YmFyLW1haW4tbGluay1ob3Zlci1iZyAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRuYXZiYXItbWFpbi1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgJG5hdmJhci1tYWluLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGljb24tY29sb3IgIWRlZmF1bHQ7XG5cbi8vKiogbmF2c1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRuYXYtbGluay1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMjAwICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNTAwICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNzAwICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTcwMCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJG5hdi10YWJzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkbmF2LWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRjb2xvci10ZXh0LTEwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vPT0gTGlzdC1Hcm91cFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgICRjb2xvci10ZXh0LTIwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG5cbi8vPT0gUGFuZWxzXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgIDlweCAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG5cbiR3aWRnZXQtY29udGVudC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJHdpZGdldC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTUwMCAhZGVmYXVsdDtcbiR3aWRnZXQtY29udGVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC04MDAgIWRlZmF1bHQ7XG4kd2lkZ2V0LWNvbC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcblxuLy89PSBGb3Jtc1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMjAwICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1mb2N1czogICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJvcmRlci0xMDAgIWRlZmF1bHQ7XG4kaW5wdXQtYmctZm9jdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC04MDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG4kaW5wdXQtbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4vLz09IFRhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJvcmRlci0xMDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1saXN0LWhlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kdGFibGUtbGlzdC1oZWFkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTIwMCAhZGVmYXVsdDtcblxuLy89PSBEcm9wZG93bnNcbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWljb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAxM3B4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuXG4vLz09IFBhZ2luYXRpb25cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC03MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuXG4vLyoqIFRodW1ibmFpbHNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy8qKiBCdXR0b25zXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTUwMCAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMjAwICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRidG4tZGVmYXVsdC1iZyAhZGVmYXVsdDtcblxuLy8qKiBQYW5lbHNcbiRwYW5lbC10aXRsZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWxhcmdlciAhZGVmYXVsdDtcbiRwYW5lbC10aXRsZS1pY29uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJHBhbmVsLXRpdGxlLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIEdyb3Vwc1xuJGdyb3VwLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRncm91cC1oZWFkaW5nLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICA3cHggIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgJGdyb3VwLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncm91cC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kZ3JvdXAtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJGdyb3VwLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGdyb3VwLWhlYWRpbmctYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1sYXJnZSAhZGVmYXVsdDtcbiRncm91cC1oZWFkaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMTAwICFkZWZhdWx0O1xuJGdyb3VwLWhlYWRpbmctaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0yMDAgIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMTAwICFkZWZhdWx0O1xuJGdyb3VwLWhlYWRpbmctaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTEwMCAhZGVmYXVsdDtcbiRncm91cC1oZWFkaW5nLWNvbGxhcHNlLWNvbG9yOiAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1jb2xsYXBzZS1ob3Zlci1jb2xvcjogICAgICAgICAgJGNvbG9yLXRleHQtNTAwICFkZWZhdWx0O1xuXG4kZ3JvdXAtY2VsbC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGdyb3VwLWNlbGwtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgIDBweCAhZGVmYXVsdDtcblxuJGdyb3VwLWxpc3QtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kZ3JvdXAtbGlzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRncm91cC1saXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGdyb3VwLWxpc3QtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kZ3JvdXAtbGlzdC1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRncm91cC1saXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGdyb3VwLWxpc3QtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRncm91cC1jb2xsYXBzZS1zdGF0dXMtY29sb3I6ICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC04MDAgIWRlZmF1bHQ7XG4kZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbGxhcHNlLWNvbG9yOiAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbGxhcHNlLWhvdmVyLWNvbG9yOiAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbGxhcHNlLWZvbnQtc2l6ZTogICAgMWVtICFkZWZhdWx0O1xuJGdyb3VwLWNvbGxhcHNlLXN0YXR1cy1jb2xsYXBzZS1mb250LXdlaWdodDogIG5vcm1hbCAhZGVmYXVsdDtcbiRncm91cC1jb2xsYXBzZS1zdGF0dXMtZm9udC1zaXplOiAgICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4vLyoqIE1hcCBDb250cm9sc1xuJG1hcC1jb250cm9scy1idG4tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbWFwLWNvbnRyb2xzLWJ0bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMjAwICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICRtYXAtY29udHJvbHMtYnRuLWJnICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICRtYXAtY29udHJvbHMtYnRuLWNvbG9yICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuXG4vLyoqIE1vZGFsc1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMTAwICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG1vZGFsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbi8vKiogUG9wdXBzXG4kcG9wdXAtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRwb3B1cC1ib2R5LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJHBvcHVwLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBvcHVwLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgIDhweDtcbiRwb3B1cC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAxMHB4O1xuJHBvcHVwLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTEwMCAhZGVmYXVsdDtcbiRwb3B1cC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWxhcmdlO1xuJHBvcHVwLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTMwMCAhZGVmYXVsdDtcbiRwb3B1cC1ib2R5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtYWxsO1xuXG4vLyoqIFNjcm9sbGJhclxuJHNjcm9sbGJhci1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kc2Nyb2xsYmFyLXRyYWNrLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRzY3JvbGxiYXItdHJhY2stYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJHNjcm9sbGJhci10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0zMDAgIWRlZmF1bHQ7XG4kc2Nyb2xsYmFyLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcblxuXG4kc2lkZWJhci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRzaWRlYmFyLXRvcC1zcGFjZTogICAgICAgICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcbiRzaWRlYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHNpZGViYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRzaWRlYmFyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1wYWRkaW5nLXZlcnRpY2FsICRzaWRlYmFyLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzaWRlYmFyLXRhYi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICAgICAkc2lkZWJhci1wYWRkaW5nICFkZWZhdWx0O1xuJHNpZGViYXItdGFiLWJvZHktcGFkZGluZzogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kc2lkZWJhci10YWItZm9vdGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgJHNpZGViYXItcGFkZGluZyAhZGVmYXVsdDtcblxuLy8qKiBDaGVja2JveFxuJGNoZWNrYm94LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICdpY29tb29uJyAhZGVmYXVsdDtcbiRjaGVja2JveC1jaGVjay1pY29uOiAgICAgICAgICAgICAgICAgICAgICAgICAnXFxlOTBiJyAhZGVmYXVsdDtcbiRjaGVja2JveC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJGNoZWNrYm94LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuJGNoZWNrYm94LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE4cHggIWRlZmF1bHQ7XG4kY2hlY2tib3gtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRjaGVja2JveC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kY2hlY2tib3gtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRjaGVja2JveC1zaXplIC0gJGNoZWNrYm94LWZvbnQtc2l6ZSAtIDIpIC8gMiAhZGVmYXVsdDtcbiRjaGVja2JveC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmZmZmICFkZWZhdWx0O1xuJGNoZWNrYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGNoZWNrYm94LWFjdGl2ZS1ib3JkZXItY29sb3Itc2FtZTogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7IiwiLyohXG4gKiBCb290c3RyYXAgdjMuMy41IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcbiAqIENvcHlyaWdodCAyMDExLTIwMTUgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuXG4vLyBDb3JlIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9taXhpbnNcIjtcblxuLy8gUmVzZXQgYW5kIGRlcGVuZGVuY2llc1xuQGltcG9ydCBcImJvb3RzdHJhcC9ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcHJpbnRcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9nbHlwaGljb25zXCI7XG5cbi8vIENvcmUgQ1NTXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3NjYWZmb2xkaW5nXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3R5cGVcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9jb2RlXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2dyaWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvdGFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Zvcm1zXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2J1dHRvbnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImJvb3RzdHJhcC9jb21wb25lbnQtYW5pbWF0aW9uc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9kcm9wZG93bnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYnV0dG9uLWdyb3Vwc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9pbnB1dC1ncm91cHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbmF2c1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9uYXZiYXJcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9icmVhZGNydW1ic1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wYWdpbmF0aW9uXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvcGFnZXJcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbGFiZWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2JhZGdlc1wiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL2p1bWJvdHJvblwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC90aHVtYm5haWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2FsZXJ0c1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wcm9ncmVzcy1iYXJzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL21lZGlhXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcGFuZWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Jlc3BvbnNpdmUtZW1iZWRcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC93ZWxsc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9jbG9zZVwiO1xuXG4vLyBDb21wb25lbnRzIHcvIEphdmFTY3JpcHRcbkBpbXBvcnQgXCJib290c3RyYXAvbW9kYWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Rvb2x0aXBcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9wb3BvdmVyc1wiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL2Nhcm91c2VsXCI7XG5cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuQGltcG9ydCBcImJvb3RzdHJhcC91dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcmVzcG9uc2l2ZS11dGlsaXRpZXNcIjtcbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLy9cbi8vIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4vLyAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuLy8gICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuLy9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAxXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuLy9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuLy8gYW5kIEZpcmVmb3guXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuLy9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuLy8gMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuLy9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyAxXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gMlxufVxuXG4vL1xuLy8gUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbi8vIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4vL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4vLyBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4vL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbi8vXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy9cbi8vIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbi8vIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbi8vXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL1xuLy8gQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuLy8gY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vLyBFbWJlZGRlZCBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8vXG4vLyBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbi8vXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gR3JvdXBpbmcgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuLy9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbi8vXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8vIEZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbi8vIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbi8vXG5cbi8vXG4vLyAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbi8vIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAxXG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAzXG59XG5cbi8vXG4vLyBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuLy8gQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbi8vIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4vLyBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4vL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4vLyAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbi8vIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbi8vIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4vLyAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4vL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8vIDFcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbn1cblxuLy9cbi8vIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4vL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4vL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbi8vIHRoZSBVQSBzdHlsZXNoZWV0LlxuLy9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vL1xuLy8gSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuLy8gRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbi8vXG4vLyAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuLy8gMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbi8vXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbi8vIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4vLyBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4vL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy9cbi8vIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy8gMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8yXG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbi8vIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbi8vIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4vLyAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4vL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4vLyBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbi8vXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG5cbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8qISBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MgKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OiBoNWJwLmNvbS9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgYVtocmVmXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIH1cblxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyLFxuICAgIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IC8vIGg1YnAuY29tL3RcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYnRuLFxuICAgIC5kcm9wdXAgPiAuYnRuIHtcbiAgICAgICAgPiAuY2FyZXQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5sYWJlbCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxufVxuIiwiLy9cbi8vIFNjYWZmb2xkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFJlc2V0IHRoZSBib3gtc2l6aW5nXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgcmVzZXQgbWF5IGNhdXNlIGNvbmZsaWN0cyB3aXRoIHNvbWUgdGhpcmQtcGFydHkgd2lkZ2V0cy5cbi8vIEZvciByZWNvbW1lbmRhdGlvbnMgb24gcmVzb2x2aW5nIHN1Y2ggY29uZmxpY3RzLCBzZWVcbi8vIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jdGhpcmQtYm94LXNpemluZ1xuKiB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG5cbi8vIEJvZHkgcmVzZXRcblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xufVxuXG4vLyBSZXNldCBmb250cyBmb3IgcmVsZXZhbnQgZWxlbWVudHNcbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIHRhYi1mb2N1cztcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBXZSByZXNldCB0aGlzIGhlcmUgYmVjYXVzZSBwcmV2aW91c2x5IE5vcm1hbGl6ZSBoYWQgbm8gYGZpZ3VyZWAgbWFyZ2lucy4gVGhpc1xuLy8gZW5zdXJlcyB3ZSBkb24ndCBicmVhayBhbnlvbmUncyB1c2Ugb2YgdGhlIGVsZW1lbnQuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4vLyBJbWFnZXNcblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4uaW1nLXJlc3BvbnNpdmUge1xuICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZTtcbn1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gdGh1bWJuYWlscy5sZXNzIGZvciBgLnRodW1ibmFpbGAuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZShpbmxpbmUtYmxvY2spO1xufVxuXG4vLyBQZXJmZWN0IGNpcmNsZVxuLmltZy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIHNldCByYWRpdXMgaW4gcGVyY2VudHNcbn1cblxuXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRoci1ib3JkZXI7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG5cblxuLy8gaU9TIFwiY2xpY2thYmxlIGVsZW1lbnRzXCIgZml4IGZvciByb2xlPVwiYnV0dG9uXCJcbi8vXG4vLyBGaXhlcyBcImNsaWNrYWJpbGl0eVwiIGlzc3VlIChhbmQgbW9yZSBnZW5lcmFsbHksIHRoZSBmaXJpbmcgb2YgZXZlbnRzIHN1Y2ggYXMgZm9jdXMgYXMgd2VsbClcbi8vIGZvciB0cmFkaXRpb25hbGx5IG5vbi1mb2N1c2FibGUgZWxlbWVudHMgd2l0aCByb2xlPVwiYnV0dG9uXCJcbi8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgd2lsbCBiZSByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIiRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXI6IGZhbHNlICFkZWZhdWx0O1xuLy9cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbiRncmF5LWJhc2U6ICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGdyYXktZGFya2VyOiAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMTMuNSUpICFkZWZhdWx0OyAvLyAjMjIyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpICAgIWRlZmF1bHQ7IC8vICMzMzNcbiRncmF5OiAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDMzLjUlKSAhZGVmYXVsdDsgLy8gIzU1NVxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgNDYuNyUpICFkZWZhdWx0OyAvLyAjNzc3XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA5My41JSkgIWRlZmF1bHQ7IC8vICNlZWVcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgZGFya2VuKCM0MjhiY2EsIDYuNSUpICFkZWZhdWx0OyAvLyAjMzM3YWI3XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAjNWNiODVjICFkZWZhdWx0O1xuJGJyYW5kLWluZm86ICAgICAgICAgICAgIzViYzBkZSAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICNmMGFkNGUgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuXG5cbi8vPT0gU2NhZmZvbGRpbmdcbi8vXG4vLyMjIFNldHRpbmdzIGZvciBzb21lIG9mIHRoZSBtb3N0IGdsb2JhbCBzdHlsZXMuXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgYDxib2R5PmAuXG4kYm9keS1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cbiR0ZXh0LWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgbW9ub3NwYWNlIGZvbnRzIGZvciBgPGNvZGU+YCwgYDxrYmQ+YCwgYW5kIGA8cHJlPmAuXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuNikpICFkZWZhdWx0OyAvLyB+MzZweFxuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi4xNSkpICFkZWZhdWx0OyAvLyB+MzBweFxuJGZvbnQtc2l6ZS1oMzogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjcpKSAhZGVmYXVsdDsgLy8gfjI0cHhcbiRmb250LXNpemUtaDQ6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjQyODU3MTQyOSAhZGVmYXVsdDsgLy8gMjAvMTRcbi8vKiogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpICFkZWZhdWx0OyAvLyB+MjBweFxuXG4vLyoqIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG5cbi8vPT0gSWNvbm9ncmFwaHlcbi8vXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9uIGFuZCBmaWxlbmFtZSBvZiB0aGUgaW5jbHVkZWQgR2x5cGhpY29ucyBpY29uIGZvbnQuIFVzZWZ1bCBmb3IgdGhvc2UgaW5jbHVkaW5nIEJvb3RzdHJhcCB2aWEgQm93ZXIuXG5cbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxuXG4vLyBbY29udmVydGVyXSBJZiAkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyIGlmIHVzZWQsIHByb3ZpZGUgcGF0aCByZWxhdGl2ZSB0byB0aGUgYXNzZXRzIGxvYWQgcGF0aC5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgYmVjYXVzZSBzb21lIGFzc2V0IGhlbHBlcnMsIHN1Y2ggYXMgU3Byb2NrZXRzLCBkbyBub3Qgd29yayB3aXRoIGZpbGUtcmVsYXRpdmUgcGF0aHMuXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgIWRlZmF1bHQ7XG5cbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbiRpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCIgIWRlZmF1bHQ7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG4kaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMTZweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzMzMzMzMyAhZGVmYXVsdDsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXG4kbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDZweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAzcHggIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRvciBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTVweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg5NDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2YmFyXG4vL1xuLy8jI1xuXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT09IEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbi8vPT0gUGlsbHNcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdlclxuLy9cbi8vIyNcblxuJHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTogICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogNC41KSkgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgIzNjNzYzZCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNkZmYwZDggIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNmMmRlZGUgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBUb29sdGlwc1xuLy9cbi8vIyNcblxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFBvcG92ZXJzXG4vL1xuLy8jI1xuXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgbWF4aW11bSB3aWR0aFxuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgZmFsbGJhY2sgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgIGZhZGVfaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAwLjA1KSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBmYWxsYmFjayBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG5cbi8vPT0gTGFiZWxzXG4vL1xuLy8jI1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXG4kbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweCAhZGVmYXVsdDtcblxuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBCYWRnZXNcbi8vXG4vLyMjXG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2Fyb3VzZWxcbi8vXG4vLyMjXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4vLyoqIEhvcml6b250YWwgbGluZSBjb2xvci5cbiRoci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4iLCIkYnJhbmQtcHJpbWFyeTogICAgICAgICAgIzFiOTliZDsiLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLypcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgLy8gV2ViS2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICovXG5cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiAwO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMXh9XCIpLCBcIiN7JGZpbGUtMXh9XCIpKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0yeH1cIiksIFwiI3skZmlsZS0yeH1cIikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkaGVhZGluZ3Mtc21hbGwtY29sb3I7XG4gIH1cbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbn1cbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6ICRmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6ICRmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6ICRmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6ICRmb250LXNpemUtaDY7IH1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDEuMTUpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICB9XG59XG5cblxuLy8gRW1waGFzaXMgJiBtaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4OiAoMTJweCBzbWFsbCBmb250IC8gMTRweCBiYXNlIGZvbnQpICogMTAwJSA9IGFib3V0IDg1JVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IGZsb29yKCgxMDAlICogJGZvbnQtc2l6ZS1zbWFsbCAvICRmb250LXNpemUtYmFzZSkpO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RhdGUtd2FybmluZy1iZztcbiAgcGFkZGluZzogLjJlbTtcbn1cblxuLy8gQWxpZ25tZW50XG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xufVxuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkc3RhdGUtaW5mby10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtZGFuZ2VyJywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuLy8gRm9yIG5vdyB3ZSdsbCBsZWF2ZSB0aGVzZSBhbG9uZ3NpZGUgdGhlIHRleHQgY2xhc3NlcyB1bnRpbCB2NCB3aGVuIHdlIGNhblxuLy8gc2FmZWx5IHNoaWZ0IHRoaW5ncyBhcm91bmQgKHBlciBTZW1WZXIgcnVsZXMpLlxuLmJnLXByaW1hcnkge1xuICAvLyBHaXZlbiB0aGUgY29udHJhc3QgaGVyZSwgdGhpcyBpcyB0aGUgb25seSBjbGFzcyB0byBoYXZlIGl0cyBjb2xvciBpbnZlcnRlZFxuICAvLyBhdXRvbWF0aWNhbGx5LlxuICBjb2xvcjogI2ZmZjtcbn1cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWluZm8nLCAkc3RhdGUtaW5mby1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKTtcbiAgbWFyZ2luOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMikgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExpc3Qgb3B0aW9uc1xuXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgZnJvbSBgLmxpc3QtdW5zdHlsZWRgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGFzIGBAbWl4aW4gbGlzdC11bnN0eWxlZGAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG59XG5cbi8vIERlc2NyaXB0aW9uIExpc3RzXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHRcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xufVxuZHQsXG5kZCB7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbn1cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG4vLyBIb3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gRGVmYXVsdHMgdG8gYmVpbmcgc3RhY2tlZCB3aXRob3V0IGFueSBvZiB0aGUgYmVsb3cgc3R5bGVzIGFwcGxpZWQsIHVudGlsIHRoZVxuLy8gZ3JpZCBicmVha3BvaW50IGlzIHJlYWNoZWQgKGRlZmF1bHQgb2Ygfjc2OHB4KS5cblxuLmRsLWhvcml6b250YWwge1xuICBkZCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7IC8vIENsZWFyIHRoZSBmbG9hdGVkIGBkdGAgaWYgYW4gZW1wdHkgYGRkYCBpcyBwcmVzZW50XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGR0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6ICgkZGwtaG9yaXpvbnRhbC1vZmZzZXQgLSAyMCk7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcbiAgICB9XG4gICAgZGQge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRkbC1ob3Jpem9udGFsLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYWJici1ib3JkZXItY29sb3I7XG59XG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBAZXh0ZW5kIC50ZXh0LXVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW46IDAgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcblxuICBwLFxuICB1bCxcbiAgb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IERlcHJlY2F0ZWQgc21hbGwgYW5kIC5zbWFsbCBhcyBvZiB2My4xLjBcbiAgLy8gQ29udGV4dDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY2MFxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMEEwJzsgLy8gZW0gZGFzaCwgbmJzcFxuICAgIH1cbiAgfVxufVxuXG4vLyBPcHBvc2l0ZSBhbGlnbm1lbnQgb2YgYmxvY2txdW90ZVxuLy9cbi8vIEhlYWRzIHVwOiBgYmxvY2txdW90ZS5wdWxsLXJpZ2h0YCBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mIHYzLjEuMC5cbi5ibG9ja3F1b3RlLXJldmVyc2UsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC8vIEFjY291bnQgZm9yIGNpdGF0aW9uXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgJjpiZWZvcmUgeyBjb250ZW50OiAnJzsgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBBMCBcXDIwMTQnOyAvLyBuYnNwLCBlbSBkYXNoXG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHJlc3Nlc1xuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC1vdmVyZmxvdygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1zbTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1tZDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1sZztcbiAgfVxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbi5yb3cge1xuICBAaW5jbHVkZSBtYWtlLXJvdztcbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucztcblxuXG4vLyBFeHRyYSBzbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIGV4dHJhIHNtYWxsIGRldmljZXMgbGlrZVxuLy8gc21hcnRwaG9uZXMuXG5cbkBpbmNsdWRlIG1ha2UtZ3JpZCh4cyk7XG5cblxuLy8gU21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgc21hbGwgZGV2aWNlIHJhbmdlLCBmcm9tIHBob25lc1xuLy8gdG8gdGFibGV0cy5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChzbSk7XG59XG5cblxuLy8gTWVkaXVtIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKG1kKTtcbn1cblxuXG4vLyBMYXJnZSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBsYXJnZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChsZyk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogIGNlaWwoKCRndXR0ZXIgLyAtMikpO1xuICBtYXJnaW4tcmlnaHQ6IGZsb29yKCgkZ3V0dGVyIC8gLTIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLWxlZnQ6ICBjZWlsKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgcGFkZGluZy1yaWdodDogZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgfVxufVxuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcywgJGk6IDEsICRsaXN0OiBcIi5jb2wtI3skY2xhc3N9LSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC0jeyRjbGFzc30tI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gY2FsYy1ncmlkLWNvbHVtbigkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgQGlmICgkdHlwZSA9PSB3aWR0aCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tI3skaW5kZXh9IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0jeyRpbmRleH0ge1xuICAgICAgbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLTAge1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLSN7JGluZGV4fSB7XG4gICAgICByaWdodDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLTAge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gb2Zmc2V0KSB7XG4gICAgLmNvbC0jeyRjbGFzc30tb2Zmc2V0LSN7JGluZGV4fSB7XG4gICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGxvb3AtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zLCAkY2xhc3MsICR0eXBlKSB7XG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgIEBpbmNsdWRlIGNhbGMtZ3JpZC1jb2x1bW4oJGksICRjbGFzcywgJHR5cGUpO1xuICB9XG59XG5cblxuLy8gQ3JlYXRlIGdyaWQgZm9yIHNwZWNpZmljIGNsYXNzXG5AbWl4aW4gbWFrZS1ncmlkKCRjbGFzcykge1xuICBAaW5jbHVkZSBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCB3aWR0aCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVsbCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVzaCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgb2Zmc2V0KTtcbn1cbiIsIi8vXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7XG59XG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy8gQmFzZWxpbmUgc3R5bGVzXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgLy8gQ2VsbHNcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEJvdHRvbSBhbGlnbiBmb3IgY29sdW1uIGhlYWRpbmdzXG4gID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIFJlbW92ZSB0b3AgYm9yZGVyIGZyb20gdGhlYWQgYnkgZGVmYXVsdFxuICA+IGNhcHRpb24gKyB0aGVhZCxcbiAgPiBjb2xncm91cCArIHRoZWFkLFxuICA+IHRoZWFkOmZpcnN0LWNoaWxkIHtcbiAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgbXVsdGlwbGUgdGJvZHkgaW5zdGFuY2VzXG4gID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBOZXN0aW5nXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG4gIH1cbn1cblxuXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG5cbi50YWJsZS1jb25kZW5zZWQge1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gdGhlYWQgPiB0ciB7XG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1hY2NlbnQ7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWhvdmVyO1xuICB9XG59XG5cblxuLy8gVGFibGUgY2VsbCBzaXppbmdcbi8vXG4vLyBSZXNldCBkZWZhdWx0IHRhYmxlIGJlaGF2aW9yXG5cbnRhYmxlIGNvbFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XG59XG50YWJsZSB7XG4gIHRkLFxuICB0aCB7XG4gICAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTktMTEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbi8vIEdlbmVyYXRlIHRoZSBjb250ZXh0dWFsIHZhcmlhbnRzXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnYWN0aXZlJywgJHRhYmxlLWJnLWFjdGl2ZSk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdpbmZvJywgJHN0YXRlLWluZm8tYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ3dhcm5pbmcnLCAkc3RhdGUtd2FybmluZy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBXcmFwIHlvdXIgdGFibGVzIGluIGAudGFibGUtcmVzcG9uc2l2ZWAgYW5kIHdlJ2xsIG1ha2UgdGhlbSBtb2JpbGUgZnJpZW5kbHlcbi8vIGJ5IGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcbi8vIHdpbGwgZGlzcGxheSBub3JtYWxseS5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMC43NSk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAvLyBUaWdodGVuIHVwIHNwYWNpbmdcbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbnRlbnQgZG9lc24ndCB3cmFwXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIG92ZXJyaWRlcyBmb3IgdGhlIGJvcmRlcmVkIHRhYmxlc1xuICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLy8gTnVrZSB0aGUgYXBwcm9wcmlhdGUgYm9yZGVycyBzbyB0aGF0IHRoZSBwYXJlbnQgY2FuIGhhbmRsZSB0aGVtXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPbmx5IG51a2UgdGhlIGxhc3Qgcm93J3MgYm90dG9tLWJvcmRlciBpbiBgdGJvZHlgIGFuZCBgdGZvb3RgIHNpbmNlXG4gICAgICAvLyBjaGFuY2VzIGFyZSB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGB0cmAgaW4gYSBgdGhlYWRgIGFuZCB0aGF0IHdvdWxkXG4gICAgICAvLyByZW1vdmUgdGhlIGJvcmRlciBhbHRvZ2V0aGVyLlxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX0sXG4gICAgPiB0aC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX0gPiB0ZCxcbiAgICAmLiN7JHN0YXRlfSA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9OmhvdmVyLFxuICAgID4gdGguI3skc3RhdGV9OmhvdmVyLFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGQsXG4gICAgJjpob3ZlciA+IC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBOb3JtYWxpemUgbm9uLWNvbnRyb2xzXG4vL1xuLy8gUmVzdHlsZSBhbmQgYmFzZWxpbmUgbm9uLWNvbnRyb2wgZm9ybSBlbGVtZW50cy5cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgLy8gQ2hyb21lIGFuZCBGaXJlZm94IHNldCBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyBzbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBpdCBiZWhhdmVzIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5LlxuICBtaW4td2lkdGg6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICRsZWdlbmQtY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsZWdlbmQtYm9yZGVyLWNvbG9yO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBGb3JjZSBJRTggdG8gd3JhcCBsb25nIGNvbnRlbnQgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEzMTQxKVxuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi8vIE5vcm1hbGl6ZSBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gV2hpbGUgbW9zdCBvZiBvdXIgZm9ybSBzdHlsZXMgcmVxdWlyZSBleHRyYSBjbGFzc2VzLCBzb21lIGJhc2ljIG5vcm1hbGl6YXRpb25cbi8vIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBvcHRpbXVtIGRpc3BsYXkgd2l0aCBvciB3aXRob3V0IHRob3NlIGNsYXNzZXMgdG8gYmV0dGVyXG4vLyBhZGRyZXNzIGJyb3dzZXIgaW5jb25zaXN0ZW5jaWVzLlxuXG4vLyBPdmVycmlkZSBjb250ZW50LWJveCBpbiBOb3JtYWxpemUgKCogaXNuJ3Qgc3BlY2lmaWMgZW5vdWdoKVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cbi8vIFBvc2l0aW9uIHJhZGlvcyBhbmQgY2hlY2tib3hlcyBiZXR0ZXJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbjogNHB4IDAgMDtcbiAgbWFyZ2luLXRvcDogMXB4IFxcOTsgLy8gSUU4LTlcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gTWFrZSByYW5nZSBpbnB1dHMgYmVoYXZlIGxpa2UgdGV4dHVhbCBmb3JtIGNvbnRyb2xzXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIE1ha2UgbXVsdGlwbGUgc2VsZWN0IGVsZW1lbnRzIGhlaWdodCBub3QgZml4ZWRcbnNlbGVjdFttdWx0aXBsZV0sXG5zZWxlY3Rbc2l6ZV0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvY3VzIGZvciBmaWxlLCByYWRpbywgYW5kIGNoZWNrYm94XG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gIEBpbmNsdWRlIHRhYi1mb2N1cztcbn1cblxuLy8gQWRqdXN0IG91dHB1dCBlbGVtZW50XG5vdXRwdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG59XG5cblxuLy8gQ29tbW9uIGZvcm0gY29udHJvbHNcbi8vXG4vLyBTaGFyZWQgc2l6ZSBhbmQgdHlwZSByZXNldHMgZm9yIGZvcm0gY29udHJvbHMuIEFwcGx5IGAuZm9ybS1jb250cm9sYCB0byBhbnlcbi8vIG9mIHRoZSBmb2xsb3dpbmcgZm9ybSBjb250cm9sczpcbi8vXG4vLyBzZWxlY3Rcbi8vIHRleHRhcmVhXG4vLyBpbnB1dFt0eXBlPVwidGV4dFwiXVxuLy8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGVcIl1cbi8vIGlucHV0W3R5cGU9XCJtb250aFwiXVxuLy8gaW5wdXRbdHlwZT1cInRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJ3ZWVrXCJdXG4vLyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdXG4vLyBpbnB1dFt0eXBlPVwiZW1haWxcIl1cbi8vIGlucHV0W3R5cGU9XCJ1cmxcIl1cbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1cbi8vIGlucHV0W3R5cGU9XCJ0ZWxcIl1cbi8vIGlucHV0W3R5cGU9XCJjb2xvclwiXVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTsgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzOyAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiA8c2VsZWN0PnMgaW4gQ1NTLlxuICAvL0BpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMpO1xuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyO1xuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6IDE7IC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTVcbiAgfVxuXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRleHRhcmVhJiB0byB0ZXh0YXJlYS5mb3JtLWNvbnRyb2xcbn1cblxuLy8gUmVzZXQgaGVpZ2h0IGZvciBgdGV4dGFyZWFgc1xudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFNlYXJjaCBpbnB1dHMgaW4gaU9TXG4vL1xuLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8vIFNwZWNpYWwgc3R5bGVzIGZvciBpT1MgdGVtcG9yYWwgaW5wdXRzXG4vL1xuLy8gSW4gTW9iaWxlIFNhZmFyaSwgc2V0dGluZyBgZGlzcGxheTogYmxvY2tgIG9uIHRlbXBvcmFsIGlucHV0cyBjYXVzZXMgdGhlXG4vLyB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgdG8gYmVjb21lIHZlcnRpY2FsbHkgbWlzYWxpZ25lZC4gQXMgYSB3b3JrYXJvdW5kLCB3ZVxuLy8gc2V0IGEgcGl4ZWwgbGluZS1oZWlnaHQgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBoZWlnaHQgb2YgdGhlIGlucHV0LCBidXQgb25seVxuLy8gZm9yIFNhZmFyaS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcbi8vXG4vLyBOb3RlIHRoYXQgYXMgb2YgOC4zLCBpT1MgZG9lc24ndCBzdXBwb3J0IGBkYXRldGltZWAgb3IgYHdlZWtgLlxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAgICYuZm9ybS1jb250cm9sIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gICAgfVxuXG4gICAgJi5pbnB1dC1zbSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gJiB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICB9XG5cbiAgICAmLmlucHV0LWxnLFxuICAgIC5pbnB1dC1ncm91cC1sZyAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgbGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDsgLy8gRW5zdXJlIHRoZSBpbnB1dCBkb2Vzbid0IGp1bXAgd2hlbiB0aGVyZSBpcyBubyB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tdG9wOiA0cHggXFw5O1xufVxuXG4ucmFkaW8gKyAucmFkaW8sXG4uY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAtNXB4OyAvLyBNb3ZlIHVwIHNpYmxpbmcgcmFkaW9zIG9yIGNoZWNrYm94ZXMgZm9yIHRpZ2h0ZXIgc3BhY2luZ1xufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMTBweDsgLy8gc3BhY2Ugb3V0IGNvbnNlY3V0aXZlIGlubGluZSBjb250cm9sc1xufVxuXG4vLyBBcHBseSBzYW1lIGRpc2FibGVkIGN1cnNvciB0d2VhayBhcyBmb3IgaW5wdXRzXG4vLyBTb21lIHNwZWNpYWwgY2FyZSBpcyBuZWVkZWQgYmVjYXVzZSA8bGFiZWw+cyBkb24ndCBpbmhlcml0IHRoZWlyIHBhcmVudCdzIGBjdXJzb3JgLlxuLy9cbi8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIGRpcmVjdGx5IG9uIDxsYWJlbD5zXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgb24gZWxlbWVudHMgd2l0aCA8bGFiZWw+IGRlc2NlbmRhbnRzXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgbGFiZWwge1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgYHBgIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW5cbi8vIGEgaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIHBhZGRpbmctYm90dG9tOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtYmFzZSk7XG5cbiAgJi5pbnB1dC1sZyxcbiAgJi5pbnB1dC1zbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gVGhlIGAuZm9ybS1ncm91cC0qIGZvcm0tY29udHJvbGAgdmFyaWF0aW9ucyBhcmUgc2FkbHkgZHVwbGljYXRlZCB0byBhdm9pZCB0aGVcbi8vIGlzc3VlIGRvY3VtZW50ZWQgaW4gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNTA3NC5cblxuQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmlucHV0LXNtJywgJGlucHV0LWhlaWdodC1zbWFsbCwgJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGwpO1xuLmZvcm0tZ3JvdXAtc20ge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgcGFkZGluZzogJHBhZGRpbmctc21hbGwtdmVydGljYWwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1zbWFsbDtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgfVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gIH1cbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuICBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtc21hbGwpO1xuICAgIHBhZGRpbmc6ICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gIH1cbn1cblxuQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmlucHV0LWxnJywgJGlucHV0LWhlaWdodC1sYXJnZSwgJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRsaW5lLWhlaWdodC1sYXJnZSwgJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuLmZvcm0tZ3JvdXAtbGcge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sYXJnZTtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgfVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIH1cbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuICBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtbGFyZ2UpO1xuICAgIHBhZGRpbmc6ICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCArIDEpICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZmVlZGJhY2sgc3RhdGVzXG4vL1xuLy8gQXBwbHkgY29udGV4dHVhbCBhbmQgc2VtYW50aWMgc3RhdGVzIHRvIGluZGl2aWR1YWwgZm9ybSBjb250cm9scy5cblxuLmhhcy1mZWVkYmFjayB7XG4gIC8vIEVuYWJsZSBhYnNvbHV0ZSBwb3NpdGlvbmluZ1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gRW5zdXJlIGljb25zIGRvbid0IG92ZXJsYXAgdGV4dFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIH1cbn1cbi8vIEZlZWRiYWNrIGljb24gKHJlcXVpcmVzIC5nbHlwaGljb24gY2xhc3Nlcylcbi5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7IC8vIEVuc3VyZSBpY29uIGlzIGFib3ZlIGlucHV0IGdyb3Vwc1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW5wdXQtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG59XG4uaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG59XG5cbi8vIEZlZWRiYWNrIHN0YXRlc1xuLmhhcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xufVxuLmhhcy13YXJuaW5nIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctYmcpO1xufVxuLmhhcy1lcnJvciB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci10ZXh0LCAkc3RhdGUtZGFuZ2VyLWJnKTtcbn1cblxuLy8gUmVwb3NpdGlvbiBmZWVkYmFjayBpY29uIGlmIGlucHV0IGhhcyB2aXNpYmxlIGxhYmVsIGFib3ZlXG4uaGFzLWZlZWRiYWNrIGxhYmVsIHtcblxuICAmIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgIHRvcDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArIDUpOyAvLyBIZWlnaHQgb2YgdGhlIGBsYWJlbGAgYW5kIGl0cyBtYXJnaW5cbiAgfVxuICAmLnNyLW9ubHkgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgdG9wOiAwO1xuICB9XG59XG5cblxuLy8gSGVscCB0ZXh0XG4vL1xuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgeW91IHdpc2ggdG8gY3JlYXRlIGxpZ2h0IHRleHQgZm9yIHBsYWNlbWVudCBpbW1lZGlhdGVseVxuLy8gYmVsb3cgYSBmb3JtIGNvbnRyb2wuIFVzZSBmb3IgZ2VuZXJhbCBoZWxwLCBmb3JtYXR0aW5nLCBvciBpbnN0cnVjdGlvbmFsIHRleHQuXG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbigkdGV4dC1jb2xvciwgMjUlKTsgLy8gbGlnaHRlbiB0aGUgdGV4dCBzb21lIGZvciBjb250cmFzdFxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byBgLm5hdmJhci1mb3JtYCBpbiBuYXZiYXJzLmxlc3MuXG5cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBmcm9tIGAuZm9ybS1pbmxpbmVgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbkBtaXhpbiBmb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEluIG5hdmJhci1mb3JtLCBhbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5yYWRpbyxcbiAgICAuY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYXMgYEBtaXhpbiBmb3JtLWlubGluZWAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuLmZvcm0taW5saW5lIHtcbiAgQGluY2x1ZGUgZm9ybS1pbmxpbmU7XG59XG5cblxuXG4vLyBIb3Jpem9udGFsIGZvcm1zXG4vL1xuLy8gSG9yaXpvbnRhbCBmb3JtcyBhcmUgYnVpbHQgb24gZ3JpZCBjbGFzc2VzIGFuZCBhbGxvdyB5b3UgdG8gY3JlYXRlIGZvcm1zIHdpdGhcbi8vIGxhYmVscyBvbiB0aGUgbGVmdCBhbmQgaW5wdXRzIG9uIHRoZSByaWdodC5cblxuLmZvcm0taG9yaXpvbnRhbCB7XG5cbiAgLy8gQ29uc2lzdGVudCB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzXG4gIC8vXG4gIC8vIExhYmVscyBhbHNvIGdldCBzb21lIHJlc2V0IHN0eWxlcywgYnV0IHRoYXQgaXMgc2NvcGVkIHRvIGEgbWVkaWEgcXVlcnkgYmVsb3cuXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgcGFkZGluZyB3ZSdyZSBhZGRpbmcgdG8gZW5zdXJlIHRoZSBhbGlnbm1lbnQgYW5kIG9mIGhlbHAgdGV4dFxuICAvLyBhbmQgb3RoZXIgY29udGVudCBiZWxvdyBpdGVtc1xuICAucmFkaW8sXG4gIC5jaGVja2JveCB7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSkpO1xuICB9XG5cbiAgLy8gTWFrZSBmb3JtIGdyb3VwcyBiZWhhdmUgbGlrZSByb3dzXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdztcbiAgfVxuXG4gIC8vIFJlc2V0IHNwYWNpbmcgYW5kIHJpZ2h0IGFsaWduIGxhYmVscywgYnV0IHNjb3BlIHRvIG1lZGlhIHF1ZXJpZXMgc28gdGhhdFxuICAvLyBsYWJlbHMgb24gbmFycm93IHZpZXdwb3J0cyBzdGFjayB0aGUgc2FtZSBhcyBhIGRlZmF1bHQgZm9ybSBleGFtcGxlLlxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIHN0YXRlc1xuICAvL1xuICAvLyBSZXBvc2l0aW9uIHRoZSBpY29uIGJlY2F1c2UgaXQncyBub3cgd2l0aGluIGEgZ3JpZCBjb2x1bW4gYW5kIGNvbHVtbnMgaGF2ZVxuICAvLyBgcG9zaXRpb246IHJlbGF0aXZlO2Agb24gdGhlbS4gQWxzbyBhY2NvdW50cyBmb3IgdGhlIGdyaWQgZ3V0dGVyIHBhZGRpbmcuXG4gIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgcmlnaHQ6IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cblxuICAvLyBGb3JtIGdyb3VwIHNpemVzXG4gIC8vXG4gIC8vIFF1aWNrIHV0aWxpdHkgY2xhc3MgZm9yIGFwcGx5aW5nIGAuaW5wdXQtbGdgIGFuZCBgLmlucHV0LXNtYCBzdHlsZXMgdG8gdGhlXG4gIC8vIGlucHV0cyBhbmQgbGFiZWxzIHdpdGhpbiBhIGAuZm9ybS1ncm91cGAuXG4gIC5mb3JtLWdyb3VwLWxnIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgMSk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tZ3JvdXAtc20ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICsgMSk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbC5ib290c3RyYXAtc2VsZWN0LFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpO1xuICAgICAgJHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbigkYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXMpIHtcbiAgJGNvbG9yLXJnYmE6IHJnYmEocmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKSwgLjYpO1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1mb2N1cztcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggJGNvbG9yLXJnYmEpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy9cbi8vIEJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEZvciBpbnB1dC5idG5cbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWJhc2UsICRsaW5lLWhlaWdodC1iYXNlLCAkYnRuLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gIEBpbmNsdWRlIHVzZXItc2VsZWN0KG5vbmUpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIHRhYi1mb2N1cztcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGJ0bi1kZWZhdWx0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIC8vQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC42NSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiB0byBhLmJ0blxufVxuXG5hLmJ0biB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWRlZmF1bHQge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRlZmF1bHQtY29sb3IsICRidG4tZGVmYXVsdC1iZywgJGJ0bi1kZWZhdWx0LWJvcmRlcik7XG59XG4uYnRuLXByaW1hcnkge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tc3VjY2Vzcy1jb2xvciwgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi8vIEluZm8gYXBwZWFycyBhcyBibHVlLWdyZWVuXG4uYnRuLWluZm8ge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWluZm8tY29sb3IsICRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJvcmRlcik7XG59XG4vLyBXYXJuaW5nIGFwcGVhcnMgYXMgb3JhbmdlXG4uYnRuLXdhcm5pbmcge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctY29sb3IsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItY29sb3IsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1ib3JkZXIpO1xufVxuXG5cbi8vIExpbmsgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCdXR0b24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRidG4tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG4uYnRuLXNtIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBwcm9wZXIgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIHNtYWxsIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4uYnRuLXhzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcteHMtdmVydGljYWwsICRwYWRkaW5nLXhzLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cblxuXG4vLyBCbG9jayBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cbiIsIi8vIE9wYWNpdHlcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XG59XG4iLCIvL1xuLy8gQ29tcG9uZW50IGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhlYWRzIHVwIVxuLy9cbi8vIFdlIGRvbid0IHVzZSB0aGUgYC5vcGFjaXR5KClgIG1peGluIGhlcmUgc2luY2UgaXQgY2F1c2VzIGEgYnVnIHdpdGggdGV4dFxuLy8gZmllbGRzIGluIElFNy04LiBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzM1NTIuXG5cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC4xNXMgbGluZWFyKTtcbiAgJi5pbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuaW4gICAgICB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0ciYuaW4gdG8gdHIuY29sbGFwc2UuaW5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRib2R5Ji5pbiB0byB0Ym9keS5jb2xsYXBzZS5pblxufVxuXG50ci5jb2xsYXBzZS5pbiAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuXG50Ym9keS5jb2xsYXBzZS5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KGhlaWdodCwgdmlzaWJpbGl0eSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oLjM1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UpO1xufVxuIiwiLy9cbi8vIERyb3Bkb3duIG1lbnVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIERyb3Bkb3duIGFycm93L2NhcmV0XG4uY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci10b3A6ICAgJGNhcmV0LXdpZHRoLWJhc2UgZGFzaGVkO1xuICBib3JkZXItdG9wOiAgICRjYXJldC13aWR0aC1iYXNlIHNvbGlkIFxcOTsgLy8gSUU4XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAgJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChkaXYpXG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBQcmV2ZW50IHRoZSBmb2N1cyBvbiB0aGUgZHJvcGRvd24gdG9nZ2xlIHdoZW4gY2xvc2luZyBkcm9wZG93bnNcbi5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudSAodWwpXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAycHggMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjsgLy8gSUU4IGZhbGxiYWNrXG4gIGJvcmRlcjogMXB4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAvLyBBbGlnbnMgdGhlIGRyb3Bkb3duIG1lbnUgdG8gcmlnaHRcbiAgLy9cbiAgLy8gRGVwcmVjYXRlZCBhcyBvZiAzLjEuMCBpbiBmYXZvciBvZiBgLmRyb3Bkb3duLW1lbnUtW2Rpcl1gXG4gICYucHVsbC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiB0aGUgZHJvcGRvd25cbiAgLmRpdmlkZXIge1xuICAgIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgfVxuXG4gIC8vIExpbmtzIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmctdmVydGljYWwgJGRyb3Bkb3duLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIH1cbn1cblxuLy8gSG92ZXIvRm9jdXMgc3RhdGVcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBBY3RpdmUgc3RhdGVcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBzdGF0ZVxuLy9cbi8vIEdyYXkgb3V0IHRleHQgYW5kIGVuc3VyZSB0aGUgaG92ZXIvZm9jdXMgc3RhdGUgcmVtYWlucyBncmF5XG5cbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC8vIE51a2UgaG92ZXIvZm9jdXMgZWZmZWN0c1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIENTUyBncmFkaWVudFxuICAgIEBpbmNsdWRlIHJlc2V0LWZpbHRlcjtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cblxuLy8gT3BlbiBzdGF0ZSBmb3IgdGhlIGRyb3Bkb3duXG4ub3BlbiB7XG4gIC8vIFNob3cgdGhlIG1lbnVcbiAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiA6Zm9jdXMgaXMgdHJpZ2dlcmVkXG4gID4gYSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyBNZW51IHBvc2l0aW9uaW5nXG4vL1xuLy8gQWRkIGV4dHJhIGNsYXNzIHRvIGAuZHJvcGRvd24tbWVudWAgdG8gZmxpcCB0aGUgYWxpZ25tZW50IG9mIHRoZSBkcm9wZG93blxuLy8gbWVudSB3aXRoIHRoZSBwYXJlbnQuXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxuICByaWdodDogMDtcbn1cbi8vIFdpdGggdjMsIHdlIGVuYWJsZWQgYXV0by1mbGlwcGluZyBpZiB5b3UgaGF2ZSBhIGRyb3Bkb3duIHdpdGhpbiBhIHJpZ2h0XG4vLyBhbGlnbmVkIG5hdiBjb21wb25lbnQuIFRvIGVuYWJsZSB0aGUgdW5kb2luZyBvZiB0aGF0LCB3ZSBwcm92aWRlIGFuIG92ZXJyaWRlXG4vLyB0byByZXN0b3JlIHRoZSBkZWZhdWx0IGRyb3Bkb3duIG1lbnUgYWxpZ25tZW50LlxuLy9cbi8vIFRoaXMgaXMgb25seSBmb3IgbGVmdC1hbGlnbmluZyBhIGRyb3Bkb3duIG1lbnUgd2l0aGluIGEgYC5uYXZiYXItcmlnaHRgIG9yXG4vLyBgLnB1bGwtcmlnaHRgIG5hdiBjb21wb25lbnQuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIEJhY2tkcm9wIHRvIGNhdGNoIGJvZHkgY2xpY2tzIG9uIG1vYmlsZSwgZXRjLlxuLmRyb3Bkb3duLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6ICgkemluZGV4LWRyb3Bkb3duIC0gMTApO1xufVxuXG4vLyBSaWdodCBhbGlnbmVkIGRyb3Bkb3duc1xuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQsIGJyby5cbi8vIFRPRE86IGFic3RyYWN0IHRoaXMgc28gdGhhdCB0aGUgbmF2YmFyIGZpeGVkIHN0eWxlcyBhcmUgbm90IHBsYWNlZCBoZXJlP1xuXG4uZHJvcHVwLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIHtcbiAgLy8gUmV2ZXJzZSB0aGUgY2FyZXRcbiAgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aC1iYXNlIGRhc2hlZDtcbiAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCBcXDk7IC8vIElFOFxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgLy8gRGlmZmVyZW50IHBvc2l0aW9uaW5nIGZvciBib3R0b20gdXAgbWVudVxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIH1cbn1cblxuXG4vLyBDb21wb25lbnQgYWxpZ25tZW50XG4vL1xuLy8gUmVpdGVyYXRlIHBlciBuYXZiYXIubGVzcyBhbmQgdGhlIG1vZGlmaWVkIGNvbXBvbmVudCBhbGlnbm1lbnQgdGhlcmUuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItcmlnaHQge1xuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHJpZ2h0OiAwOyBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgICAvLyBOZWNlc3NhcnkgZm9yIG92ZXJyaWRlcyBvZiB0aGUgZGVmYXVsdCByaWdodCBhbGlnbmVkIG1lbnUuXG4gICAgLy8gV2lsbCByZW1vdmUgY29tZSB2NCBpbiBhbGwgbGlrZWxpaG9vZC5cbiAgICAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICAgIGxlZnQ6IDA7IHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cbiIsIi8vXG4vLyBCdXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuLmJ0bi1ncm91cCB7XG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmJ0bi1ncm91cCxcbiAgLmJ0bi1ncm91cCArIC5idG4sXG4gIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTVweDsgLy8gT2Zmc2V0IHRoZSBmaXJzdCBjaGlsZCdzIG1hcmdpblxuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAuYnRuLFxuICAuYnRuLWdyb3VwLFxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFNldCBjb3JuZXJzIGluZGl2aWR1YWwgYmVjYXVzZSBzb21ldGltZXMgYSBzaW5nbGUgYnV0dG9uIGNhbiBiZSBpbiBhIC5idG4tZ3JvdXAgYW5kIHdlIG5lZWQgOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1jaGlsZCB0byBib3RoIG1hdGNoXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSBnaXZlbiBhIC5kcm9wZG93bi1tZW51IGltbWVkaWF0ZWx5IGFmdGVyIGl0XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAteHMgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXhzOyB9XG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIGxpbmUgYmV0d2VlbiBidXR0b25zIHNvbWUgZGVwdGhcbi5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBSZXBvc2l0aW9uIHRoZSBjYXJldFxuLmJ0biAuY2FyZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi8vIENhcmV0cyBpbiBvdGhlciBidXR0b24gc2l6ZXNcbi5idG4tbGcgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAkY2FyZXQtd2lkdGgtbGFyZ2UgJGNhcmV0LXdpZHRoLWxhcmdlIDA7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG59XG4vLyBVcHNpZGUgZG93biBjYXJldHMgZm9yIC5kcm9wdXBcbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IDAgJGNhcmV0LXdpZHRoLWxhcmdlICRjYXJldC13aWR0aC1sYXJnZTtcbn1cblxuXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXIgZmxvYXRzIHNvIGRyb3Bkb3duIG1lbnVzIGNhbiBiZSBwcm9wZXJseSBwbGFjZWRcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICA+IC5idG4ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgPiAuYnRuICsgLmJ0bixcbiAgPiAuYnRuICsgLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG5cblxuLy8gSnVzdGlmaWVkIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxJTtcbiAgfVxuICA+IC5idG4tZ3JvdXAgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbiIsIi8vXG4vLyBJbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBkcm9wZG93bnNcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IC8vIHByZXZlbnQgaW5wdXQgZ3JvdXBzIGZyb20gaW5oZXJpdGluZyBib3JkZXIgc3R5bGVzIGZyb20gdGFibGUgY2VsbHMgd2hlbiBwbGFjZWQgd2l0aGluIGEgdGFibGVcblxuICAvLyBVbmRvIHBhZGRpbmcgYW5kIGZsb2F0IG9mIGdyaWQgY2xhc3Nlc1xuICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIGlucHV0IGlzIGFsd2F5cyBhYm92ZSB0aGUgKmFwcGVuZGVkKiBhZGRvbiBidXR0b24gZm9yXG4gICAgLy8gcHJvcGVyIGJvcmRlciBjb2xvcnMuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBJRTkgZnViYXJzIHRoZSBwbGFjZWhvbGRlciBhdHRyaWJ1dGUgaW4gdGV4dCBpbnB1dHMgYW5kIHRoZSBhcnJvd3Mgb25cbiAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTYxI2lzc3VlY29tbWVudC0yODkzNjg1NVxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBTaXppbmcgb3B0aW9uc1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuaW5wdXQtbGc7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5pbnB1dC1zbTtcbn1cblxuXG4vLyBEaXNwbGF5IGFzIHRhYmxlLWNlbGxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4vLyBBZGRvbiBhbmQgYWRkb24gd3JhcHBlciBmb3IgYnV0dG9uc1xuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHdpZHRoOiAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gU2l6aW5nXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtYWxsO1xuICB9XG4gICYuaW5wdXQtbGcge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xuICB9XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4vLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi8vIEJ1dHRvbiBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEphbmtpbHkgcHJldmVudCBpbnB1dCBidXR0b24gZ3JvdXBzIGZyb20gd3JhcHBpbmcgd2l0aCBgd2hpdGUtc3BhY2VgIGFuZFxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIHNwYWNpbmcsIHBvc2l0aW9uIGZvciBicmluZ2luZyBob3ZlcmVkL2ZvY3VzZWQvYWN0aXZlZFxuICAvLyBlbGVtZW50IGFib3ZlIHRoZSBzaWJsaW5ncy5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIDFweCBib3JkZXIgYmV0d2VlbiB0aGUgdHdvXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIE5hdnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCB1bC9vbFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZztcbiAgICAgIC8vJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZSBzZXRzIHRleHQgdG8gZ3JheSBhbmQgbnVrZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkID4gYSB7XG4gICAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuXG4gICAgICAvLyY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE9wZW4gZHJvcGRvd25zXG4gIC5vcGVuID4gYSB7XG4gICAgJixcbiAgICAvLyY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5hdiBkaXZpZGVycyAoZGVwcmVjYXRlZCB3aXRoIHYzLjAuMSlcbiAgLy9cbiAgLy8gVGhpcyBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjMgd2l0aCB0aGUgZHJvcHBpbmcgb2YgYC5uYXYtbGlzdGAsIGJ1dFxuICAvLyB3ZSBtaXNzZWQgaXQuIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgYW55d2hlcmUsIGJ1dCBpbiB0aGUgaW50ZXJlc3RcbiAgLy8gb2YgbWFpbnRhaW5pbmcgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpbiBjYXNlIHlvdSB1c2UgaXQsIGl0J3MgZGVwcmVjYXRlZC5cbiAgLm5hdi1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBuYXYtZGl2aWRlcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgSUU4IGZyb20gbWlzcGxhY2luZyBpbWdzXG4gIC8vXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvOTg0I2lzc3VlY29tbWVudC0zOTg1OTg5XG4gID4gbGkgPiBhID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBUYWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIHRhYnMgc29tZXRoaW5nIHRvIHNpdCBvblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIE1ha2UgdGhlIGxpc3QtaXRlbXMgb3ZlcmxheSB0aGUgYm90dG9tIGJvcmRlclxuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAvLyBBY3R1YWwgdGFicyAoYXMgbGlua3MpXG4gICAgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICRib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZSwgYW5kIGl0cyA6aG92ZXIgdG8gb3ZlcnJpZGUgbm9ybWFsIDpob3ZlclxuICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIHB1bGxpbmcgdGhpcyBpbiBtYWlubHkgZm9yIGxlc3Mgc2hvcnRoYW5kXG4gICYubmF2LWp1c3RpZmllZCB7XG4gICAgQGV4dGVuZCAubmF2LWp1c3RpZmllZDtcbiAgICBAZXh0ZW5kIC5uYXYtdGFicy1qdXN0aWZpZWQ7XG4gIH1cbn1cblxuXG4vLyBQaWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdi1waWxscyB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gTGlua3MgcmVuZGVyZWQgYXMgcGlsbHNcbiAgICA+IGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG5hdi1waWxscy1ib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YWNrZWQgcGlsbHNcbi5uYXYtc3RhY2tlZCB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vIG5vIG5lZWQgZm9yIHRoaXMgZ2FwIGJldHdlZW4gbmF2IGl0ZW1zXG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2IHZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEp1c3RpZmllZCBuYXYgbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdi1qdXN0aWZpZWQge1xuICB3aWR0aDogMTAwJTtcblxuICA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICA+IGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgfVxuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgID4gYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vdmUgYm9yZGVycyB0byBhbmNob3JzIGluc3RlYWQgb2YgYm90dG9tIG9mIGxpc3Rcbi8vXG4vLyBNaXhpbiBmb3IgYWRkaW5nIG9uIHRvcCB0aGUgc2hhcmVkIGAubmF2LWp1c3RpZmllZGAgc3R5bGVzIGZvciBvdXIgdGFic1xuLm5hdi10YWJzLWp1c3RpZmllZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgPiBsaSA+IGEge1xuICAgIC8vIE92ZXJyaWRlIG1hcmdpbiBmcm9tIC5uYXYtdGFic1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICB9XG5cbiAgPiAuYWN0aXZlID4gYSxcbiAgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZSAkYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSxcbiAgICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAgID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cblxuLy8gRHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNwZWNpZmljIGRyb3Bkb3duc1xuLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHtcbiAgLy8gbWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIE5hdmJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gV3JhcHBlciBhbmQgYmFzZSBjbGFzc1xuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHQ7IC8vIEVuc3VyZSBhIG5hdmJhciBhbHdheXMgc2hvd3MgKGUuZy4sIHdpdGhvdXQgYSAubmF2YmFyLWJyYW5kIGluIGNvbGxhcHNlZCBtb2RlKVxuICBtYXJnaW4tYm90dG9tOiAkbmF2YmFyLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIC8vIFByZXZlbnQgZmxvYXRzIGZyb20gYnJlYWtpbmcgdGhlIG5hdmJhclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBoZWFkaW5nXG4vL1xuLy8gR3JvdXBzIGAubmF2YmFyLWJyYW5kYCBhbmQgYC5uYXZiYXItdG9nZ2xlYCBpbnRvIGEgc2luZ2xlIGNvbXBvbmVudCBmb3IgZWFzeVxuLy8gc3R5bGluZyBvZiByZXNwb25zaXZlIGFzcGVjdHMuXG5cbi5uYXZiYXItaGVhZGVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBjb2xsYXBzZSAoYm9keSlcbi8vXG4vLyBHcm91cCB5b3VyIG5hdmJhciBjb250ZW50IGludG8gdGhpcyBmb3IgZWFzeSBjb2xsYXBzaW5nIGFuZCBleHBhbmRpbmcgYWNyb3NzXG4vLyB2YXJpb3VzIGRldmljZSBzaXplcy4gQnkgZGVmYXVsdCwgdGhpcyBjb250ZW50IGlzIGNvbGxhcHNlZCB3aGVuIDw3NjhweCwgYnV0XG4vLyB3aWxsIGV4cGFuZCBwYXN0IHRoYXQgZm9yIGEgaG9yaXpvbnRhbCBkaXNwbGF5LlxuLy9cbi8vIFRvIHN0YXJ0IChvbiBtb2JpbGUgZGV2aWNlcykgdGhlIG5hdmJhciBsaW5rcywgZm9ybXMsIGFuZCBidXR0b25zIGFyZSBzdGFja2VkXG4vLyB2ZXJ0aWNhbGx5IGFuZCBpbmNsdWRlIGEgYG1heC1oZWlnaHRgIHRvIG92ZXJmbG93IGluIGNhc2UgeW91IGhhdmUgdG9vIG11Y2hcbi8vIGNvbnRlbnQgZm9yIHRoZSB1c2VyJ3Mgdmlld3BvcnQuXG5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZy1sZWZ0OiAgJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAmLmluIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHNldHRpbmdcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5pbiB7XG4gICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8vIFVuZG8gdGhlIGNvbGxhcHNlIHNpZGUgcGFkZGluZyBmb3IgbmF2YmFycyB3aXRoIGNvbnRhaW5lcnMgdG8gZW5zdXJlXG4gICAgLy8gYWxpZ25tZW50IG9mIHJpZ2h0LWFsaWduZWQgY29udGVudHMuXG4gICAgLm5hdmJhci1maXhlZC10b3AgJixcbiAgICAubmF2YmFyLXN0YXRpYy10b3AgJixcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXgtaGVpZ2h0OiAkbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ7XG5cbiAgICBAbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6ICRzY3JlZW4teHMtbWluKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvdGggbmF2YmFyIGhlYWRlciBhbmQgY29sbGFwc2Vcbi8vXG4vLyBXaGVuIGEgY29udGFpbmVyIGlzIHByZXNlbnQsIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGhlYWRlciBhbmQgY29sbGFwc2UuXG5cbi5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgPiAubmF2YmFyLWhlYWRlcixcbiAgPiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tbGVmdDogIC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogIDA7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIE5hdmJhciBhbGlnbm1lbnQgb3B0aW9uc1xuLy9cbi8vIERpc3BsYXkgdGhlIG5hdmJhciBhY3Jvc3MgdGhlIGVudGlyZXR5IG9mIHRoZSBwYWdlIG9yIGZpeGVkIGl0IHRvIHRoZSB0b3Agb3Jcbi8vIGJvdHRvbSBvZiB0aGUgcGFnZS5cblxuLy8gU3RhdGljIHRvcCAodW5maXhlZCwgYnV0IDEwMCUgd2lkZSkgbmF2YmFyXG4ubmF2YmFyLXN0YXRpYy10b3Age1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhcjtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4vLyBGaXggdGhlIHRvcC9ib3R0b20gbmF2YmFycyB3aGVuIHNjcmVlbiByZWFsIGVzdGF0ZSBzdXBwb3J0cyBpdFxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gIC8vIFVuZG8gdGhlIHJvdW5kZWQgY29ybmVyc1xuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbi5uYXZiYXItZml4ZWQtdG9wIHtcbiAgdG9wOiAwO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG59XG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gb3ZlcnJpZGUgLm5hdmJhciBkZWZhdWx0c1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG59XG5cblxuLy8gQnJhbmQvcHJvamVjdCBuYW1lXG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGhlaWdodDogJG5hdmJhci1oZWlnaHQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lciAmLFxuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdG9nZ2xlXG4vL1xuLy8gQ3VzdG9tIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIGAubmF2YmFyLWNvbGxhcHNlYCwgcG93ZXJlZCBieSB0aGUgY29sbGFwc2Vcbi8vIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiA5cHggMTBweDtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRuYXZiYXItaGVpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gV2UgcmVtb3ZlIHRoZSBgb3V0bGluZWAgaGVyZSwgYnV0IGxhdGVyIGNvbXBlbnNhdGUgYnkgYXR0YWNoaW5nIGA6aG92ZXJgXG4gIC8vIHN0eWxlcyB0byBgOmZvY3VzYC5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIEJhcnNcbiAgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cbiAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2IGxpbmtzXG4vL1xuLy8gQnVpbGRzIG9uIHRvcCBvZiB0aGUgYC5uYXZgIGNvbXBvbmVudHMgd2l0aCBpdHMgb3duIG1vZGlmaWVyIGNsYXNzIHRvIG1ha2Vcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogKCRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpICgtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWwpO1xuXG4gID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogICAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgID4gbGkgPiBhLFxuICAgICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICAgICAgfVxuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVW5jb2xsYXBzZSB0aGUgbmF2XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAgICAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGZvcm1cbi8vXG4vLyBFeHRlbnNpb24gb2YgdGhlIGAuZm9ybS1pbmxpbmVgIHdpdGggc29tZSBleHRyYSBmbGF2b3IgZm9yIG9wdGltdW0gZGlzcGxheSBpblxuLy8gb3VyIG5hdmJhcnMuXG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1yaWdodDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiAxMHB4ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgJHNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcblxuICAvLyBNaXhpbiBiZWhhdmlvciBmb3Igb3B0aW11bSBkaXNwbGF5XG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBpbiBleHBhbmRlZCwgaG9yaXpvbnRhbCBuYXZiYXJcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93biBtZW51c1xuXG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0c1xuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0IHN1cHBvcnQgZm9yIGRyb3B1cHMgdmlhIGV4dHJhIGRyb3B1cCBjbGFzc1xuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG59XG5cblxuLy8gQnV0dG9ucyBpbiBuYXZiYXJzXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgYSBidXR0b24gd2l0aGluIGEgbmF2YmFyICh3aGVuICpub3QqIGluIGEgZm9ybSkuXG5cbi5uYXZiYXItYnRuIHtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgJi5idG4tc20ge1xuICAgIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LXNtYWxsKTtcbiAgfVxuICAmLmJ0bi14cyB7XG4gICAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKDIyKTtcbiAgfVxufVxuXG5cbi8vIFRleHQgaW4gbmF2YmFyc1xuLy9cbi8vIEFkZCBhIGNsYXNzIHRvIG1ha2UgYW55IGVsZW1lbnQgcHJvcGVybHkgYWxpZ24gaXRzZWxmIHZlcnRpY2FsbHkgd2l0aGluIHRoZSBuYXZiYXJzLlxuXG4ubmF2YmFyLXRleHQge1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlcHVycG9zZSB0aGUgcHVsbCB1dGlsaXRpZXMgYXMgdGhlaXIgb3duIG5hdmJhciB1dGlsaXRpZXMgdG8gYXZvaWQgc3BlY2lmaWNpdHlcbi8vIGlzc3VlcyB3aXRoIHBhcmVudHMgYW5kIGNoYWluaW5nLiBPbmx5IGRvIHRoaXMgd2hlbiB0aGUgbmF2YmFyIGlzIHVuY29sbGFwc2VkXG4vLyB0aG91Z2ggc28gdGhhdCBuYXZiYXIgY29udGVudHMgcHJvcGVybHkgc3RhY2sgYW5kIGFsaWduIGluIG1vYmlsZS5cbi8vXG4vLyBEZWNsYXJlZCBhZnRlciB0aGUgbmF2YmFyIGNvbXBvbmVudHMgdG8gZW5zdXJlIG1vcmUgc3BlY2lmaWNpdHkgb24gdGhlIG1hcmdpbnMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICB+IC5uYXZiYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBuYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBEZWZhdWx0IG5hdmJhclxuLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xuICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG4gIH1cblxuICAvLyBEcm9wZG93biBtZW51IGl0ZW1zXG4gIC5uYXZiYXItbmF2IHtcbiAgICAvLyBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBmcm9tIG9wZW4gZHJvcGRvd25cbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gTGlua3MgaW4gbmF2YmFyc1xuICAvL1xuICAvLyBBZGQgYSBjbGFzcyB0byBlbnN1cmUgbGlua3Mgb3V0c2lkZSB0aGUgbmF2YmFyIG5hdiBhcmUgY29sb3JlZCBjb3JyZWN0bHkuXG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEludmVyc2UgbmF2YmFyXG5cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1iZztcbiAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGFya2VuIHRoZSByZXNwb25zaXZlIG5hdiB0b2dnbGVcbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCA3JSk7XG4gIH1cblxuICAvLyBEcm9wZG93bnNcbiAgLm5hdmJhci1uYXYge1xuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXlcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuXG5AbWl4aW4gbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuIiwiLy9cbi8vIFBhZ2luYXRpb24gKG11bHRpcGxlIHBhZ2VzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lOyAvLyBSZW1vdmUgbGlzdC1zdHlsZSBhbmQgYmxvY2stbGV2ZWwgZGVmYXVsdHNcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICAgICAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gbGkgPiBhLFxuICA+IGxpID4gc3BhbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSA+IGEsXG4gID4gLmFjdGl2ZSA+IHNwYW4ge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuXG4gID4gLmRpc2FibGVkIHtcbiAgICA+IHNwYW4sXG4gICAgPiBzcGFuOmhvdmVyLFxuICAgID4gc3Bhbjpmb2N1cyxcbiAgICA+IGEsXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIExhcmdlXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG5cbi8vIFNtYWxsXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgPiBsaSB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gTGFiZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtO1xuICBmb250LXNpemU6IDc1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmIHRvIGEubGFiZWxcblxuICAvLyBFbXB0eSBsYWJlbHMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGxhYmVscyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4vLyBBZGQgaG92ZXIgZWZmZWN0cywgYnV0IG9ubHkgZm9yIGxpbmtzXG5hLmxhYmVsIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsYWJlbC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gQ29sb3JzXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBsYWJlbHMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpXG5cbi5sYWJlbC1kZWZhdWx0IHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtZGVmYXVsdC1iZyk7XG59XG5cbi5sYWJlbC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtcHJpbWFyeS1iZyk7XG59XG5cbi5sYWJlbC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtc3VjY2Vzcy1iZyk7XG59XG5cbi5sYWJlbC1pbmZvIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtaW5mby1iZyk7XG59XG5cbi5sYWJlbC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtd2FybmluZy1iZyk7XG59XG5cbi5sYWJlbC1kYW5nZXIge1xuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1kYW5nZXItYmcpO1xufVxuIiwiLy8gTGFiZWxzXG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFkZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxMHB4O1xuICBwYWRkaW5nOiAzcHggN3B4O1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG4gIGxpbmUtaGVpZ2h0OiAkYmFkZ2UtbGluZS1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLWJnO1xuICBib3JkZXItcmFkaXVzOiAkYmFkZ2UtYm9yZGVyLXJhZGl1cztcblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxuXG4gIC5idG4teHMgJixcbiAgLmJ0bi1ncm91cC14cyA+IC5idG4gJiB7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gIH1cblxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYgdG8gYS5iYWRnZVxuXG4gIC8vIEFjY291bnQgZm9yIGJhZGdlcyBpbiBuYXZzXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlID4gJixcbiAgLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gJiB7XG4gICAgY29sb3I6ICRiYWRnZS1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLWFjdGl2ZS1iZztcbiAgfVxuXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAmIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtID4gJiArICYge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG5cbiAgLm5hdi1waWxscyA+IGxpID4gYSA+ICYge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cbn1cblxuLy8gSG92ZXIgc3RhdGUsIGJ1dCBvbmx5IGZvciBsaW5rc1xuYS5iYWRnZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkYmFkZ2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCIvL1xuLy8gVGh1bWJuYWlsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBNaXhpbiBhbmQgYWRqdXN0IHRoZSByZWd1bGFyIGltYWdlIGNsYXNzXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgPiBpbWcsXG4gIGEgPiBpbWcge1xuICAgIEBpbmNsdWRlIGltZy1yZXNwb25zaXZlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJjpob3ZlciwgYSY6Zm9jdXMsIGEmLmFjdGl2ZSB0byBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMsIGEudGh1bWJuYWlsLmFjdGl2ZVxuXG4gIC8vIEltYWdlIGNhcHRpb25zXG4gIC5jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZztcbiAgICBjb2xvcjogJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yO1xuICB9XG59XG5cbi8vIEFkZCBhIGhvdmVyIHN0YXRlIGZvciBsaW5rZWQgdmVyc2lvbnMgb25seVxuYS50aHVtYm5haWw6aG92ZXIsXG5hLnRodW1ibmFpbDpmb2N1cyxcbmEudGh1bWJuYWlsLmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogJGxpbmstY29sb3I7XG59XG4iLCIvL1xuLy8gQWxlcnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hbGVydCB7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYWxlcnQtYm9yZGVyLXJhZGl1cztcblxuICAvLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuICBoNCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAvLyBTcGVjaWZpZWQgZm9yIHRoZSBoNCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4gIC5hbGVydC1saW5rIHtcbiAgICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG4gIH1cblxuICAvLyBJbXByb3ZlIGFsaWdubWVudCBhbmQgc3BhY2luZyBvZiBpbm5lciBjb250ZW50XG4gID4gcCxcbiAgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gID4gcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NhYmxlLCAvLyBUaGUgbWlzc3BlbGxlZCAuYWxlcnQtZGlzbWlzc2FibGUgd2FzIGRlcHJlY2F0ZWQgaW4gMy4yLjAuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAoJGFsZXJ0LXBhZGRpbmcgKyAyMCk7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAtMjFweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWluZm8tYmcsICRhbGVydC1pbmZvLWJvcmRlciwgJGFsZXJ0LWluZm8tdGV4dCk7XG59XG5cbi5hbGVydC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtd2FybmluZy1iZywgJGFsZXJ0LXdhcm5pbmctYm9yZGVyLCAkYWxlcnQtd2FybmluZy10ZXh0KTtcbn1cblxuLmFsZXJ0LWRhbmdlciB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWRhbmdlci1iZywgJGFsZXJ0LWRhbmdlci1ib3JkZXIsICRhbGVydC1kYW5nZXItdGV4dCk7XG59XG4iLCIvLyBBbGVydHNcblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICR0ZXh0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkdGV4dC1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy9cbi8vIFByb2dyZXNzIGJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFyIGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gV2ViS2l0XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG4vLyBTcGVjIGFuZCBJRTEwK1xuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cblxuLy8gQmFyIGl0c2VsZlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBPdXRlciBjb250YWluZXJcbi5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpKTtcbn1cblxuLy8gQmFyIG9mIHByb2dyZXNzXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtc2hhZG93OiAtMXB4IDAgJHByb2dyZXNzLWJhci1iZywgMCAxcHggJHByb2dyZXNzLWJhci1iZywgMXB4IDAgJHByb2dyZXNzLWJhci1iZywgMCAtMXB4ICRwcm9ncmVzcy1iYXItYmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAuNnMgZWFzZSk7XG59XG5cbi8vIFN0cmlwZWQgYmFyc1xuLy9cbi8vIGAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcbi8vIGAucHJvZ3Jlc3MtYmFyLXN0cmlwZWRgIGNsYXNzLCB3aGljaCB5b3UganVzdCBhZGQgdG8gYW4gZXhpc3Rpbmdcbi8vIGAucHJvZ3Jlc3MtYmFyYC5cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbn1cblxuLy8gQ2FsbCBhbmltYXRpb24gZm9yIHRoZSBhY3RpdmUgb25lXG4vL1xuLy8gYC5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcmAgaXMgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgaW4gZmF2b3Igb2YgdGhlXG4vLyBgLnByb2dyZXNzLWJhci5hY3RpdmVgIGFwcHJvYWNoLlxuLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzLWJhci5hY3RpdmUge1xuICBAaW5jbHVkZSBhbmltYXRpb24ocHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlKTtcbn1cblxuXG4vLyBWYXJpYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wcm9ncmVzcy1iYXItc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5mbyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItaW5mby1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItd2FybmluZyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItd2FybmluZy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJHByb2dyZXNzLWJhci1kYW5nZXItYmcpO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cblxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIFByb2dyZXNzIGJhcnNcblxuQG1peGluIHByb2dyZXNzLWJhci12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgLy8gRGVwcmVjYXRlZCBwYXJlbnQgY2xhc3MgcmVxdWlyZW1lbnQgYXMgb2YgdjMuMi4wXG4gIC5wcm9ncmVzcy1zdHJpcGVkICYge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQ7XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIC8vIFByb3BlciBzcGFjaW5nIGJldHdlZW4gaW5zdGFuY2VzIG9mIC5tZWRpYVxuICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLm1lZGlhLFxuLm1lZGlhLWJvZHkge1xuICB6b29tOiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIHdpZHRoOiAxMDAwMHB4O1xufVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gRml4IGNvbGxhcHNlIGluIHdlYmtpdCBmcm9tIG1heC13aWR0aDogMTAwJSBhbmQgZGlzcGxheTogdGFibGUtY2VsbC5cbiAgJi5pbWctdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLm1lZGlhLXJpZ2h0LFxuLm1lZGlhID4gLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5tZWRpYS1sZWZ0LFxuLm1lZGlhID4gLnB1bGwtbGVmdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi5tZWRpYS1sZWZ0LFxuLm1lZGlhLXJpZ2h0LFxuLm1lZGlhLWJvZHkge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4ubWVkaWEtbWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1lZGlhLWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gaGVhZGluZ3MgZm9yIHRpZ2h0ZXIgZGVmYXVsdCBzcGFjaW5nXG4ubWVkaWEtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLy8gTWVkaWEgbGlzdCB2YXJpYXRpb25cbi8vXG4vLyBVbmRvIGRlZmF1bHQgdWwvb2wgc3R5bGVzXG4ubWVkaWEtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBMaXN0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyO1xuXG4gIC8vIFJvdW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBpdGVtc1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlIGl0ZW1zLlxuLy8gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzaG93aW5nIHNlbGVjdGVkIGl0ZW1zLlxuXG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJi5kaXNhYmxlZCxcbiAgJi5kaXNhYmxlZDpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlIGNsYXNzIG9uIGl0ZW0gaXRzZWxmLCBub3QgcGFyZW50XG4gICYuYWN0aXZlLFxuICAmLmFjdGl2ZTpob3ZlcixcbiAgJi5hY3RpdmU6Zm9jdXMge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoc3VjY2VzcywgJHN0YXRlLXN1Y2Nlc3MtYmcsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoaW5mbywgJHN0YXRlLWluZm8tYmcsICRzdGF0ZS1pbmZvLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoZGFuZ2VyLCAkc3RhdGUtZGFuZ2VyLWJnLCAkc3RhdGUtZGFuZ2VyLXRleHQpO1xuXG5cbi8vIEN1c3RvbSBjb250ZW50IG9wdGlvbnNcbi8vXG4vLyBFeHRyYSBjbGFzc2VzIGZvciBjcmVhdGluZyB3ZWxsLWZvcm1hdHRlZCBjb250ZW50IHdpdGhpbiBgLmxpc3QtZ3JvdXAtaXRlbWBzLlxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiwgYnV0dG9uJiB0byBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gUGFuZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5wYW5lbCB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJHBhbmVsLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG59XG5cbi8vIFBhbmVsIGNvbnRlbnRzXG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6ICRwYW5lbC1ib2R5LXBhZGRpbmc7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBPcHRpb25hbCBoZWFkaW5nXG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6ICRwYW5lbC1oZWFkaW5nLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFdpdGhpbiBoZWFkaW5nLCBzdHJpcCBhbnkgYGgqYCB0YWcgb2YgaXRzIGRlZmF1bHQgbWFyZ2lucyBmb3Igc3BhY2luZy5cbi5wYW5lbC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4xMjUpKTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgPiBhLFxuICA+IHNtYWxsLFxuICA+IC5zbWFsbCxcbiAgPiBzbWFsbCA+IGEsXG4gID4gLnNtYWxsID4gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgZm9vdGVyIChzdGF5cyBncmF5IGluIGV2ZXJ5IG1vZGlmaWVyIGNsYXNzKVxuLnBhbmVsLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRwYW5lbC1mb290ZXItcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWZvb3Rlci1iZztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRwYW5lbC1pbm5lci1ib3JkZXI7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbn1cblxuXG4vLyBMaXN0IGdyb3VwcyBpbiBwYW5lbHNcbi8vXG4vLyBCeSBkZWZhdWx0LCBzcGFjZSBvdXQgbGlzdCBncm91cCBjb250ZW50IGZyb20gcGFuZWwgaGVhZGluZ3MgdG8gYWNjb3VudCBmb3Jcbi8vIGFueSBraW5kIG9mIGN1c3RvbSBjb250ZW50IGJldHdlZW4gdGhlIHR3by5cblxuLnBhbmVsIHtcbiAgPiAubGlzdC1ncm91cCxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cbi8vIENvbGxhcHNlIHNwYWNlIGJldHdlZW4gd2hlbiB0aGVyZSdzIG5vIGFkZGl0aW9uYWwgY29udGVudC5cbi5wYW5lbC1oZWFkaW5nICsgLmxpc3QtZ3JvdXAge1xuICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG59XG4ubGlzdC1ncm91cCArIC5wYW5lbC1mb290ZXIge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuXG4vLyBUYWJsZXMgaW4gcGFuZWxzXG4vL1xuLy8gUGxhY2UgYSBub24tYm9yZGVyZWQgYC50YWJsZWAgd2l0aGluIGEgcGFuZWwgKG5vdCB3aXRoaW4gYSBgLnBhbmVsLWJvZHlgKSBhbmRcbi8vIHdhdGNoIGl0IGdvIGZ1bGwgd2lkdGguXG5cbi5wYW5lbCB7XG4gID4gLnRhYmxlLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLFxuICA+IC5wYW5lbC1jb2xsYXBzZSA+IC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGNhcHRpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkcGFuZWwtYm9keS1wYWRkaW5nO1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhbmVsLWJvZHktcGFkZGluZztcbiAgICB9XG4gIH1cbiAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgPiAudGFibGU6Zmlyc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICAgID4gdGhlYWQ6Zmlyc3QtY2hpbGQsXG4gICAgPiB0Ym9keTpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gID4gLnRhYmxlOmxhc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgICA+IHRib2R5Omxhc3QtY2hpbGQsXG4gICAgPiB0Zm9vdDpsYXN0LWNoaWxkIHtcbiAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgICB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAucGFuZWwtYm9keSArIC50YWJsZSxcbiAgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLFxuICA+IC50YWJsZSArIC5wYW5lbC1ib2R5LFxuICA+IC50YWJsZS1yZXNwb25zaXZlICsgLnBhbmVsLWJvZHkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gID4gLnRhYmxlLWJvcmRlcmVkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0ciB7XG4gICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5IHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cblxuLy8gQ29sbGFwc2FibGUgcGFuZWxzIChha2EsIGFjY29yZGlvbilcbi8vXG4vLyBXcmFwIGEgc2VyaWVzIG9mIHBhbmVscyBpbiBgLnBhbmVsLWdyb3VwYCB0byB0dXJuIHRoZW0gaW50byBhbiBhY2NvcmRpb24gd2l0aFxuLy8gdGhlIGhlbHAgb2Ygb3VyIGNvbGxhcHNlIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ucGFuZWwtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG5cbiAgLy8gVGlnaHRlbiB1cCBtYXJnaW4gc28gaXQncyBvbmx5IGJldHdlZW4gcGFuZWxzXG4gIC5wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkcGFuZWwtYm9yZGVyLXJhZGl1cztcblxuICAgICsgLnBhbmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtaGVhZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHksXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFuZWwtaW5uZXItYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9uc1xuLnBhbmVsLWRlZmF1bHQge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1kZWZhdWx0LWJvcmRlciwgJHBhbmVsLWRlZmF1bHQtdGV4dCwgJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZywgJHBhbmVsLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5wYW5lbC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtcHJpbWFyeS1ib3JkZXIsICRwYW5lbC1wcmltYXJ5LXRleHQsICRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmcsICRwYW5lbC1wcmltYXJ5LWJvcmRlcik7XG59XG4ucGFuZWwtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyLCAkcGFuZWwtc3VjY2Vzcy10ZXh0LCAkcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnLCAkcGFuZWwtc3VjY2Vzcy1ib3JkZXIpO1xufVxuLnBhbmVsLWluZm8ge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1pbmZvLWJvcmRlciwgJHBhbmVsLWluZm8tdGV4dCwgJHBhbmVsLWluZm8taGVhZGluZy1iZywgJHBhbmVsLWluZm8tYm9yZGVyKTtcbn1cbi5wYW5lbC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtd2FybmluZy1ib3JkZXIsICRwYW5lbC13YXJuaW5nLXRleHQsICRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmcsICRwYW5lbC13YXJuaW5nLWJvcmRlcik7XG59XG4ucGFuZWwtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtZGFuZ2VyLWJvcmRlciwgJHBhbmVsLWRhbmdlci10ZXh0LCAkcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmcsICRwYW5lbC1kYW5nZXItYm9yZGVyKTtcbn1cbiIsIi8vIFBhbmVsc1xuXG5AbWl4aW4gcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEVtYmVkcyByZXNwb25zaXZlXG4vL1xuLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBNb2RpZmllciBjbGFzcyBmb3IgMTY6OSBhc3BlY3QgcmF0aW9cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDQ6MyBhc3BlY3QgcmF0aW9cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuIiwiLy9cbi8vIENsb3NlIGljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIEBpbmNsdWRlIG9wYWNpdHkoLjIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC41KTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBidXR0b24mIHRvIGJ1dHRvbi5jbG9zZVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBNb2RhbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzaGl0XG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRyYW5zZm9ybSgwLjNzIGVhc2Utb3V0KTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgMCkgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I7IC8vb2xkIGJyb3dzZXJzIGZhbGxiYWNrIChpZTggZXRjKVxuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgM3B4IDlweCByZ2JhKDAsMCwwLC41KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuICAmLmluIHsgQGluY2x1ZGUgb3BhY2l0eSgkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAkbW9kYWwtdGl0bGUtcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBtaW4taGVpZ2h0OiAoJG1vZGFsLXRpdGxlLXBhZGRpbmcgKyAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuLy8gQ2xvc2UgaWNvblxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiByaWdodDsgLy8gcmlnaHQgYWxpZ24gYnV0dG9uc1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGNsZWFyZml4OyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xuXG4gIC8vIFByb3Blcmx5IHNwYWNlIG91dCBidXR0b25zXG4gIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIGFjY291bnQgZm9yIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gd2hpY2ggZ2V0cyB0aGUgYm90dG9tIG1hcmdpbiBsaWtlIGFsbCBvdGhlciBpbnB1dHNcbiAgfVxuICAvLyBidXQgb3ZlcnJpZGUgdGhhdCBmb3IgYnV0dG9uIGdyb3Vwc1xuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxuICAvLyBhbmQgb3ZlcnJpZGUgaXQgZm9yIGJsb2NrIGJ1dHRvbnMgYXMgd2VsbFxuICAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICB9XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNXB4IDE1cHggcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gTW9kYWwgc2l6ZXNcbiAgLm1vZGFsLXNtIHsgd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgLm1vZGFsLWxnIHsgd2lkdGg6ICRtb2RhbC1sZzsgfVxufVxuIiwiLy9cbi8vIFRvb2x0aXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQ7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcblxuICBAaW5jbHVkZSBvcGFjaXR5KDApO1xuXG4gICYuaW4gICAgIHsgQGluY2x1ZGUgb3BhY2l0eSgkdG9vbHRpcC1vcGFjaXR5KTsgfVxuICAmLnRvcCAgICB7IG1hcmdpbi10b3A6ICAtM3B4OyBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYucmlnaHQgIHsgbWFyZ2luLWxlZnQ6ICAzcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20geyBtYXJnaW4tdG9wOiAgIDNweDsgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLmxlZnQgICB7IG1hcmdpbi1sZWZ0OiAtM3B4OyBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoOyB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnRvcC1sZWZ0LCAudG9wLXJpZ2h0LCAuYm90dG9tLWxlZnQsIGFuZCAuYm90dG9tLXJpZ2h0IGFzIG9mIHYzLjMuMVxuLnRvb2x0aXAge1xuICAmLnRvcCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvL1xuLy8gVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEZsb2F0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbi5jZW50ZXItYmxvY2sge1xuICBAaW5jbHVkZSBjZW50ZXItYmxvY2s7XG59XG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuLnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gVG9nZ2xpbmcgY29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOb3RlOiBEZXByZWNhdGVkIC5oaWRlIGluIGZhdm9yIG9mIC5oaWRkZW4gb3IgLnNyLW9ubHkgKGFzIGFwcHJvcHJpYXRlKSBpbiB2My4wLjFcbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG59XG5cblxuLy8gSGlkZSBmcm9tIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEZvciBBZmZpeCBwbHVnaW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFmZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAod2lsbCBiZSByZW1vdmVkIGluIHY0KVxuQG1peGluIGhpZGUtdGV4dCgpIHtcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIE5ldyBtaXhpbiB0byB1c2UgYXMgb2YgdjMuMC4xXG5AbWl4aW4gdGV4dC1oaWRlKCkge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZTogVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElFMTAgaW4gV2luZG93cyAoUGhvbmUpIDhcbi8vXG4vLyBTdXBwb3J0IGZvciByZXNwb25zaXZlIHZpZXdzIHZpYSBtZWRpYSBxdWVyaWVzIGlzIGtpbmQgb2YgYm9ya2VkIGluIElFMTAsIGZvclxuLy8gU3VyZmFjZS9kZXNrdG9wIGluIHNwbGl0IHZpZXcgYW5kIGZvciBXaW5kb3dzIFBob25lIDguIFRoaXMgcGFydGljdWxhciBmaXhcbi8vIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnQgYW5kXG4vLyBhcHBseSBzb21lIGNvbmRpdGlvbmFsIENTUyB0byAqb25seSogdGhlIFN1cmZhY2UvZGVza3RvcCBXaW5kb3dzIDguIExvb2sgYXRcbi8vIG91ciBHZXR0aW5nIFN0YXJ0ZWQgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGJ1Zy5cbi8vXG4vLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBmb2xsb3dpbmc6XG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTA0OTdcbi8vIERvY3M6IGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduL1xuXG5AYXQtcm9vdCB7XG4gIEAtbXMtdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIH1cbn1cblxuXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS14cywgLnZpc2libGUtc20sIC52aXNpYmxlLW1kLCBhbmQgLnZpc2libGUtbGcgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXNtJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1sZycpO1xuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUteHMnKTtcbn1cbi52aXNpYmxlLXhzLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbn1cbi52aXNpYmxlLXNtLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbn1cbi52aXNpYmxlLW1kLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG59XG4udmlzaWJsZS1sZy1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4teHMnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tc20nKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbWQnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLWxnJyk7XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG4vL1xuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnZpc2libGUtcHJpbnQgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1wcmludCcpO1xuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG59XG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1wcmludCcpO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcblxuLy9cbi8vIE1vcmUgZWFzaWx5IGluY2x1ZGUgYWxsIHRoZSBzdGF0ZXMgZm9yIHJlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlI3skcGFyZW50fSAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCN7JHBhcmVudH0sXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qISBqUXVlcnkgVUkgLSB2MS4xMi4xIC0gMjAxNy0wNi0xMlxuKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4qIEluY2x1ZGVzOiBjb3JlLmNzcywgcmVzaXphYmxlLmNzcywgc29ydGFibGUuY3NzLCB0aGVtZS5jc3NcbiogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvP3Njb3BlPSZmb2xkZXJOYW1lPWJhc2UmY29ybmVyUmFkaXVzU2hhZG93PThweCZvZmZzZXRMZWZ0U2hhZG93PTBweCZvZmZzZXRUb3BTaGFkb3c9MHB4JnRoaWNrbmVzc1NoYWRvdz01cHgmb3BhY2l0eVNoYWRvdz0zMCZiZ0ltZ09wYWNpdHlTaGFkb3c9MCZiZ1RleHR1cmVTaGFkb3c9ZmxhdCZiZ0NvbG9yU2hhZG93PTY2NjY2NiZvcGFjaXR5T3ZlcmxheT0zMCZiZ0ltZ09wYWNpdHlPdmVybGF5PTAmYmdUZXh0dXJlT3ZlcmxheT1mbGF0JmJnQ29sb3JPdmVybGF5PWFhYWFhYSZpY29uQ29sb3JFcnJvcj1jYzAwMDAmZmNFcnJvcj01ZjNmM2YmYm9yZGVyQ29sb3JFcnJvcj1mMWE4OTkmYmdUZXh0dXJlRXJyb3I9ZmxhdCZiZ0NvbG9yRXJyb3I9ZmRkZmRmJmljb25Db2xvckhpZ2hsaWdodD03Nzc2MjAmZmNIaWdobGlnaHQ9Nzc3NjIwJmJvcmRlckNvbG9ySGlnaGxpZ2h0PWRhZDU1ZSZiZ1RleHR1cmVIaWdobGlnaHQ9ZmxhdCZiZ0NvbG9ySGlnaGxpZ2h0PWZmZmE5MCZpY29uQ29sb3JBY3RpdmU9ZmZmZmZmJmZjQWN0aXZlPWZmZmZmZiZib3JkZXJDb2xvckFjdGl2ZT0wMDNlZmYmYmdUZXh0dXJlQWN0aXZlPWZsYXQmYmdDb2xvckFjdGl2ZT0wMDdmZmYmaWNvbkNvbG9ySG92ZXI9NTU1NTU1JmZjSG92ZXI9MmIyYjJiJmJvcmRlckNvbG9ySG92ZXI9Y2NjY2NjJmJnVGV4dHVyZUhvdmVyPWZsYXQmYmdDb2xvckhvdmVyPWVkZWRlZCZpY29uQ29sb3JEZWZhdWx0PTc3Nzc3NyZmY0RlZmF1bHQ9NDU0NTQ1JmJvcmRlckNvbG9yRGVmYXVsdD1jNWM1YzUmYmdUZXh0dXJlRGVmYXVsdD1mbGF0JmJnQ29sb3JEZWZhdWx0PWY2ZjZmNiZpY29uQ29sb3JDb250ZW50PTQ0NDQ0NCZmY0NvbnRlbnQ9MzMzMzMzJmJvcmRlckNvbG9yQ29udGVudD1kZGRkZGQmYmdUZXh0dXJlQ29udGVudD1mbGF0JmJnQ29sb3JDb250ZW50PWZmZmZmZiZpY29uQ29sb3JIZWFkZXI9NDQ0NDQ0JmZjSGVhZGVyPTMzMzMzMyZib3JkZXJDb2xvckhlYWRlcj1kZGRkZGQmYmdUZXh0dXJlSGVhZGVyPWZsYXQmYmdDb2xvckhlYWRlcj1lOWU5ZTkmY29ybmVyUmFkaXVzPTNweCZmd0RlZmF1bHQ9bm9ybWFsJmZzRGVmYXVsdD0xZW0mZmZEZWZhdWx0PUFyaWFsJTJDSGVsdmV0aWNhJTJDc2Fucy1zZXJpZlxuKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovXG5cbi8qIExheW91dCBoZWxwZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1oZWxwZXItaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcbn1cbi51aS1oZWxwZXItcmVzZXQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0b3V0bGluZTogMDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcbn1cbi51aS1oZWxwZXItemZpeCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvcGFjaXR5OiAwO1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG5cbi51aS1mcm9udCB7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0bWFyZ2luLXRvcDogLS4yNWVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVpLXdpZGdldC1pY29uLWJsb2NrIHtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS1yZXNpemFibGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWktcmVzaXphYmxlLWhhbmRsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Zm9udC1zaXplOiAwLjFweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi51aS1yZXNpemFibGUtZGlzYWJsZWQgLnVpLXJlc2l6YWJsZS1oYW5kbGUsXG4udWktcmVzaXphYmxlLWF1dG9oaWRlIC51aS1yZXNpemFibGUtaGFuZGxlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1yZXNpemFibGUtbiB7XG5cdGN1cnNvcjogbi1yZXNpemU7XG5cdGhlaWdodDogN3B4O1xuXHR3aWR0aDogMTAwJTtcblx0dG9wOiAtNXB4O1xuXHRsZWZ0OiAwO1xufVxuLnVpLXJlc2l6YWJsZS1zIHtcblx0Y3Vyc29yOiBzLXJlc2l6ZTtcblx0aGVpZ2h0OiA3cHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3R0b206IC01cHg7XG5cdGxlZnQ6IDA7XG59XG4udWktcmVzaXphYmxlLWUge1xuXHRjdXJzb3I6IGUtcmVzaXplO1xuXHR3aWR0aDogN3B4O1xuXHRyaWdodDogLTVweDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4udWktcmVzaXphYmxlLXcge1xuXHRjdXJzb3I6IHctcmVzaXplO1xuXHR3aWR0aDogN3B4O1xuXHRsZWZ0OiAtNXB4O1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS1yZXNpemFibGUtc2Uge1xuXHRjdXJzb3I6IHNlLXJlc2l6ZTtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0cmlnaHQ6IDFweDtcblx0Ym90dG9tOiAxcHg7XG59XG4udWktcmVzaXphYmxlLXN3IHtcblx0Y3Vyc29yOiBzdy1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRsZWZ0OiAtNXB4O1xuXHRib3R0b206IC01cHg7XG59XG4udWktcmVzaXphYmxlLW53IHtcblx0Y3Vyc29yOiBudy1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRsZWZ0OiAtNXB4O1xuXHR0b3A6IC01cHg7XG59XG4udWktcmVzaXphYmxlLW5lIHtcblx0Y3Vyc29yOiBuZS1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRyaWdodDogLTVweDtcblx0dG9wOiAtNXB4O1xufVxuLnVpLXNvcnRhYmxlLWhhbmRsZSB7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCB7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAxZW07XG59XG4udWktd2lkZ2V0IC51aS13aWRnZXQge1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi51aS13aWRnZXQgaW5wdXQsXG4udWktd2lkZ2V0IHNlbGVjdCxcbi51aS13aWRnZXQgdGV4dGFyZWEsXG4udWktd2lkZ2V0IGJ1dHRvbiB7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAxZW07XG59XG4udWktd2lkZ2V0LnVpLXdpZGdldC1jb250ZW50IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2M1YzVjNTtcbn1cbi51aS13aWRnZXQtY29udGVudCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG5cdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuLnVpLXdpZGdldC1jb250ZW50IGEge1xuXHRjb2xvcjogIzMzMzMzMztcbn1cbi51aS13aWRnZXQtaGVhZGVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcblx0YmFja2dyb3VuZDogI2U5ZTllOTtcblx0Y29sb3I6ICMzMzMzMzM7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLXdpZGdldC1oZWFkZXIgYSB7XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuXG4vKiBJbnRlcmFjdGlvbiBzdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCxcbi51aS1idXR0b24sXG5cbi8qIFdlIHVzZSBodG1sIGhlcmUgYmVjYXVzZSB3ZSBuZWVkIGEgZ3JlYXRlciBzcGVjaWZpY2l0eSB0byBtYWtlIHN1cmUgZGlzYWJsZWRcbndvcmtzIHByb3Blcmx5IHdoZW4gY2xpY2tlZCBvciBob3ZlcmVkICovXG5odG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6aG92ZXIsXG5odG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6YWN0aXZlIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2M1YzVjNTtcblx0YmFja2dyb3VuZDogI2Y2ZjZmNjtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6ICM0NTQ1NDU7XG59XG4udWktc3RhdGUtZGVmYXVsdCBhLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkLFxuYS51aS1idXR0b24sXG5hOmxpbmsudWktYnV0dG9uLFxuYTp2aXNpdGVkLnVpLWJ1dHRvbixcbi51aS1idXR0b24ge1xuXHRjb2xvcjogIzQ1NDU0NTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMsXG4udWktYnV0dG9uOmhvdmVyLFxuLnVpLWJ1dHRvbjpmb2N1cyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG5cdGJhY2tncm91bmQ6ICNlZGVkZWQ7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGNvbG9yOiAjMmIyYjJiO1xufVxuLnVpLXN0YXRlLWhvdmVyIGEsXG4udWktc3RhdGUtaG92ZXIgYTpob3Zlcixcbi51aS1zdGF0ZS1ob3ZlciBhOmxpbmssXG4udWktc3RhdGUtaG92ZXIgYTp2aXNpdGVkLFxuLnVpLXN0YXRlLWZvY3VzIGEsXG4udWktc3RhdGUtZm9jdXMgYTpob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyBhOmxpbmssXG4udWktc3RhdGUtZm9jdXMgYTp2aXNpdGVkLFxuYS51aS1idXR0b246aG92ZXIsXG5hLnVpLWJ1dHRvbjpmb2N1cyB7XG5cdGNvbG9yOiAjMmIyYjJiO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi51aS12aXN1YWwtZm9jdXMge1xuXHRib3gtc2hhZG93OiAwIDAgM3B4IDFweCByZ2IoOTQsIDE1OCwgMjE0KTtcbn1cbi51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUsXG5hLnVpLWJ1dHRvbjphY3RpdmUsXG4udWktYnV0dG9uOmFjdGl2ZSxcbi51aS1idXR0b24udWktc3RhdGUtYWN0aXZlOmhvdmVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgIzAwM2VmZjtcblx0YmFja2dyb3VuZDogIzAwN2ZmZjtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6ICNmZmZmZmY7XG59XG4udWktaWNvbi1iYWNrZ3JvdW5kLFxuLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbi1iYWNrZ3JvdW5kIHtcblx0Ym9yZGVyOiAjMDAzZWZmO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSBhLFxuLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssXG4udWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAjZmZmZmZmO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIEludGVyYWN0aW9uIEN1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWhpZ2hsaWdodCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkYWQ1NWU7XG5cdGJhY2tncm91bmQ6ICNmZmZhOTA7XG5cdGNvbG9yOiAjNzc3NjIwO1xufVxuLnVpLXN0YXRlLWNoZWNrZWQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZGFkNTVlO1xuXHRiYWNrZ3JvdW5kOiAjZmZmYTkwO1xufVxuLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQgYSB7XG5cdGNvbG9yOiAjNzc3NjIwO1xufVxuLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNmMWE4OTk7XG5cdGJhY2tncm91bmQ6ICNmZGRmZGY7XG5cdGNvbG9yOiAjNWYzZjNmO1xufVxuLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYSB7XG5cdGNvbG9yOiAjNWYzZjNmO1xufVxuLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7XG5cdGNvbG9yOiAjNWYzZjNmO1xufVxuLnVpLXByaW9yaXR5LXByaW1hcnksXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXByaW1hcnksXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJpbWFyeSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcbi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktc2Vjb25kYXJ5LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeSB7XG5cdG9wYWNpdHk6IC43O1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT03MCk7IC8qIHN1cHBvcnQ6IElFOCAqL1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnVpLXN0YXRlLWRpc2FibGVkLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdG9wYWNpdHk6IC4zNTtcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyAvKiBzdXBwb3J0OiBJRTggKi9cblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS1zdGF0ZS1kaXNhYmxlZCAudWktaWNvbiB7XG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4IC0gU2VlICM2MDU5ICovXG59XG5cbi8qIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cbi51aS1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cbi51aS1pY29uLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS13aWRnZXQtaGVhZGVyIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS1zdGF0ZS1ob3ZlciAudWktaWNvbixcbi51aS1zdGF0ZS1mb2N1cyAudWktaWNvbixcbi51aS1idXR0b246aG92ZXIgLnVpLWljb24sXG4udWktYnV0dG9uOmZvY3VzIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzU1NTU1NV8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS1zdGF0ZS1hY3RpdmUgLnVpLWljb24sXG4udWktYnV0dG9uOmFjdGl2ZSAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc19mZmZmZmZfMjU2eDI0MC5wbmdcIik7XG59XG4udWktc3RhdGUtaGlnaGxpZ2h0IC51aS1pY29uLFxuLnVpLWJ1dHRvbiAudWktc3RhdGUtaGlnaGxpZ2h0LnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNzc3NjIwXzI1NngyNDAucG5nXCIpO1xufVxuLnVpLXN0YXRlLWVycm9yIC51aS1pY29uLFxuLnVpLXN0YXRlLWVycm9yLXRleHQgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfY2MwMDAwXzI1NngyNDAucG5nXCIpO1xufVxuLnVpLWJ1dHRvbiAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc183Nzc3NzdfMjU2eDI0MC5wbmdcIik7XG59XG5cbi8qIHBvc2l0aW9uaW5nICovXG4udWktaWNvbi1ibGFuayB7IGJhY2tncm91bmQtcG9zaXRpb246IDE2cHggMTZweDsgfVxuLnVpLWljb24tY2FyZXQtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4udWktaWNvbi1jYXJldC0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IDA7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTZweDsgfVxuLnVpLWljb24tYXJyb3ctMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjVweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDFweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybi0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3ctNCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH1cbi51aS1pY29uLWFycm93LTQtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9XG4udWktaWNvbi1leHRsaW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTgwcHg7IH1cbi51aS1pY29uLW5ld3dpbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9XG4udWktaWNvbi1yZWZyZXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH1cbi51aS1pY29uLXNodWZmbGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtODBweDsgfVxuLnVpLWljb24tdHJhbnNmZXItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH1cbi51aS1pY29uLXRyYW5zZmVydGhpY2stZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9XG4udWktaWNvbi1mb2xkZXItY29sbGFwc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuLnVpLWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfVxuLnVpLWljb24tZG9jdW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTZweDsgfVxuLnVpLWljb24tZG9jdW1lbnQtYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9XG4udWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH1cbi51aS1pY29uLW1haWwtY2xvc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTk2cHg7IH1cbi51aS1pY29uLW1haWwtb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9XG4udWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsgfVxuLnVpLWljb24tY29tbWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtOTZweDsgfVxuLnVpLWljb24tcGVyc29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9XG4udWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfVxuLnVpLWljb24tdHJhc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk2cHg7IH1cbi51aS1pY29uLWxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfVxuLnVpLWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH1cbi51aS1pY29uLWJvb2ttYXJrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC05NnB4OyB9XG4udWktaWNvbi10YWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH1cbi51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfVxuLnVpLWljb24tZmxhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMTJweDsgfVxuLnVpLWljb24tY2FsZW5kYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEycHg7IH1cbi51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH1cbi51aS1pY29uLXBlbmNpbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMTJweDsgfVxuLnVpLWljb24tY2xvY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH1cbi51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH1cbi51aS1pY29uLWNhbGN1bGF0b3IgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExMnB4OyB9XG4udWktaWNvbi16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMnB4OyB9XG4udWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfVxuLnVpLWljb24tc2VhcmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMTJweDsgfVxuLnVpLWljb24td3JlbmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMTJweDsgfVxuLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH1cbi51aS1pY29uLWhlYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMTJweDsgfVxuLnVpLWljb24tc3RhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTEycHg7IH1cbi51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9XG4udWktaWNvbi1jYW5jZWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuLnVpLWljb24tcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMjhweDsgfVxuLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEyOHB4OyB9XG4udWktaWNvbi1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMjhweDsgfVxuLnVpLWljb24tbWludXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH1cbi51aS1pY29uLWNsb3NldGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH1cbi51aS1pY29uLWtleSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTI4cHg7IH1cbi51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH1cbi51aS1pY29uLXNjaXNzb3JzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xpcGJvYXJkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjhweDsgfVxuLnVpLWljb24tY29weSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH1cbi51aS1pY29uLWNvbnRhY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9XG4udWktaWNvbi1pbWFnZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTI4cHg7IH1cbi51aS1pY29uLXZpZGVvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfVxuLnVpLWljb24tc2NyaXB0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfVxuLnVpLWljb24tYWxlcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxuLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNDRweDsgfVxuLnVpLWljb24tbm90aWNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE0NHB4OyB9XG4udWktaWNvbi1oZWxwIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE0NHB4OyB9XG4udWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNDRweDsgfVxuLnVpLWljb24tYnVsbGV0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE0NHB4OyB9XG4udWktaWNvbi1yYWRpby1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfVxuLnVpLWljb24tcmFkaW8tb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDRweDsgfVxuLnVpLWljb24tcGluLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE0NHB4OyB9XG4udWktaWNvbi1waW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH1cbi51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfVxuLnVpLWljb24tcGF1c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTYwcHg7IH1cbi51aS1pY29uLXNlZWstbmV4dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9XG4udWktaWNvbi1zZWVrLWVuZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1zdGFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxuLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqL1xuLnVpLWljb24tc2Vlay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxuLnVpLWljb24tc3RvcCB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNjBweDsgfVxuLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9XG4udWktaWNvbi12b2x1bWUtb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNjBweDsgfVxuLnVpLWljb24tdm9sdW1lLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNjBweDsgfVxuLnVpLWljb24tcG93ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfVxuLnVpLWljb24tc2lnbmFsLWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTc2cHg7IH1cbi51aS1pY29uLXNpZ25hbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9XG4udWktaWNvbi1iYXR0ZXJ5LTEgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTc2cHg7IH1cbi51aS1pY29uLWJhdHRlcnktMiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9XG4udWktaWNvbi1jaXJjbGUtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtYXJyb3ctdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9XG4udWktaWNvbi1jaXJjbGVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMDhweDsgfVxuLnVpLWljb24tY2lyY2xlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIwOHB4OyB9XG4udWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMDhweDsgfVxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjI0cHg7IH1cbi51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH1cblxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBDb3JuZXIgcmFkaXVzICovXG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItdG9wLFxuLnVpLWNvcm5lci1sZWZ0LFxuLnVpLWNvcm5lci10bCB7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci10b3AsXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci10ciB7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG59XG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItYm90dG9tLFxuLnVpLWNvcm5lci1sZWZ0LFxuLnVpLWNvcm5lci1ibCB7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci1ib3R0b20sXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci1iciB7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG59XG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRiYWNrZ3JvdW5kOiAjYWFhYWFhO1xuXHRvcGFjaXR5OiAuMztcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTMwKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG4udWktd2lkZ2V0LXNoYWRvdyB7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA1cHggIzY2NjY2Njtcblx0Ym94LXNoYWRvdzogMHB4IDBweCA1cHggIzY2NjY2Njtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICYuaW5maW5pdGUge1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICB9XG4gICYuaGluZ2Uge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIH1cbiAgJi5mbGlwT3V0WCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xuICB9XG4gICYuZmxpcE91dFkge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgfVxuICAmLmJvdW5jZUluIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG4gIH1cbiAgJi5ib3VuY2VPdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgfVxuICAmLmZsaXAge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcDtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG4gIDIwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cbiAgNTMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICA4MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICA0MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG4gIDQzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cbiAgNzAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICAyMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG4gIDUzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cbiAgODAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cbiAgNDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuICA0MyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG4gIDcwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cbi5ib3VuY2Uge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAyNSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMjUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmZsYXNoIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICA1MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLnB1bHNlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuICA2NSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgfVxuICA3NSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG4gIDMwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cbiAgNDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuICA1MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG4gIDY1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICB9XG4gIDc1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLnJ1YmJlckJhbmQge1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgMTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgMzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgNzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICAxMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICA1MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICA3MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbiAgNDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAwLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuICAxLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG4gIDIuNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG4gIDMuNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDUwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMC41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cbiAgMS41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuICAyLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgfVxuICAzLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG59XG4uaGVhZFNoYWtlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuICA0MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG4uc3dpbmcge1xuICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDIwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDUwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cbiAgNzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDIwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDUwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cbiAgNzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLnRhZGEge1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAxNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQ1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cbiAgNzUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAxNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQ1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cbiAgNzUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLndvYmJsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMC4xJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMS4yJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cbiAgMi4zJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuICAzLjQlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cbiAgNC41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG4gIDUuNiUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG4gIDYuNyUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG4gIDcuOCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMC4xJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMS4yJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cbiAgMi4zJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuICAzLjQlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cbiAgNC41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG4gIDUuNiUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG4gIDYuNyUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG4gIDcuOCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cbi5qZWxsbyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDIwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuICA0MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cbiAgODAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDIwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuICA0MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cbiAgODAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cbi5ib3VuY2VJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDYwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDYwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxufVxuLmJvdW5jZUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuICA2MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuICA2MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5ib3VuY2VJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uYm91bmNlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuICA2MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmJvdW5jZUluVXAge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG4uYm91bmNlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuLmJvdW5jZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmJvdW5jZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYm91bmNlT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuLmJvdW5jZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmZhZGVJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLmZhZGVJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5Eb3duQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLmZhZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uZmFkZUluUmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uZmFkZUluVXBCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5mYWRlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbi5mYWRlT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG4uZmFkZU91dERvd25CaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG4uZmFkZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5mYWRlT3V0TGVmdEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG4uZmFkZU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5mYWRlT3V0UmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG4uZmFkZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG4uZmFkZU91dFVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbiAgNjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbi5mbGlwSW5YIHtcbiAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSlcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA0MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG4uZmxpcEluWSB7XG4gIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbiAgMzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbiAgMzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5mbGlwT3V0WCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSlcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG4gIDMwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG4gIDMwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uZmxpcE91dFkge1xuICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KVxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmxpZ2h0U3BlZWRJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5saWdodFNwZWVkT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluRG93bkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluRG93blJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5yb3RhdGVJblVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5yb3RhdGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5yb3RhdGVPdXREb3duTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLnJvdGF0ZU91dERvd25SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLnJvdGF0ZU91dFVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cbiAgNjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICA0MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5oaW5nZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLnJvbGxJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cbi5yb2xsT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi56b29tSW4ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cbi56b29tSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuLnpvb21JbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cbi56b29tSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cbi56b29tSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uem9vbU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG4uem9vbU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB9XG59XG4uem9vbU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuLnpvb21PdXRSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuLnpvb21PdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uc2xpZGVJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uc2xpZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbi5zbGlkZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlT3V0TGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuLnNsaWRlT3V0VXAge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn0iLCIvKiFcbiAqICBGb250IEF3ZXNvbWUgNC40LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZVxuICogIExpY2Vuc2UgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8vbGljZW5zZSAoRm9udDogU0lMIE9GTCAxLjEsIENTUzogTUlUIExpY2Vuc2UpXG4gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInBhdGhcIjtcbkBpbXBvcnQgXCJjb3JlXCI7XG5AaW1wb3J0IFwibGFyZ2VyXCI7XG5AaW1wb3J0IFwiZml4ZWQtd2lkdGhcIjtcbkBpbXBvcnQgXCJsaXN0XCI7XG5AaW1wb3J0IFwiYm9yZGVyZWQtcHVsbGVkXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZWRcIjtcbkBpbXBvcnQgXCJyb3RhdGVkLWZsaXBwZWRcIjtcbkBpbXBvcnQgXCJzdGFja2VkXCI7XG5AaW1wb3J0IFwiaWNvbnNcIjtcbiIsIi8qIEZPTlQgUEFUSFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LmVvdD92PSN7JGZhLXZlcnNpb259Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90PyNpZWZpeCZ2PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9I3skZmEtdmVyc2lvbn0jZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbi8vICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9Gb250QXdlc29tZS5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7IC8vIHVzZWQgd2hlbiBkZXZlbG9waW5nIGZvbnRzXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsICN7JGZhLWZvbnQtc2l6ZS1iYXNlfS8jeyRmYS1saW5lLWhlaWdodC1iYXNlfSBGb250QXdlc29tZTsgLy8gc2hvcnRlbmluZyBmb250IGRlY2xhcmF0aW9uXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gY2FuJ3QgaGF2ZSBmb250LXNpemUgaW5oZXJpdCBvbiBsaW5lIGFib3ZlLCBzbyBuZWVkIHRvIG92ZXJyaWRlXG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvOyAvLyBvcHRpbWl6ZWxlZ2liaWxpdHkgdGhyb3dzIHRoaW5ncyBvZmYgIzEwOTRcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuIiwiLy8gSWNvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xuLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgZm9udC1zaXplOiAoNGVtIC8gMyk7XG4gIGxpbmUtaGVpZ2h0OiAoM2VtIC8gNCk7XG4gIHZlcnRpY2FsLWFsaWduOiAtMTUlO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LTJ4IHsgZm9udC1zaXplOiAyZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS0zeCB7IGZvbnQtc2l6ZTogM2VtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNHggeyBmb250LXNpemU6IDRlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTV4IHsgZm9udC1zaXplOiA1ZW07IH1cbiIsIi8vIEZpeGVkIFdpZHRoIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uI3skZmEtY3NzLXByZWZpeH0tZncge1xuICB3aWR0aDogKDE4ZW0gLyAxNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vIExpc3QgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogJGZhLWxpLXdpZHRoO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gID4gbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLSRmYS1saS13aWR0aDtcbiAgd2lkdGg6ICRmYS1saS13aWR0aDtcbiAgdG9wOiAoMmVtIC8gMTQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tbGcge1xuICAgIGxlZnQ6IC0kZmEtbGktd2lkdGggKyAoNGVtIC8gMTQpO1xuICB9XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmYS1mb250LXBhdGg6ICAgICAgICBcIi4uL2ZvbnRzXCIgIWRlZmF1bHQ7XG4kZmEtZm9udC1zaXplLWJhc2U6ICAgMTRweCAhZGVmYXVsdDtcbiRmYS1saW5lLWhlaWdodC1iYXNlOiAxICFkZWZhdWx0O1xuLy8kZmEtZm9udC1wYXRoOiAgICAgICAgXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjQuMC9mb250c1wiICFkZWZhdWx0OyAvLyBmb3IgcmVmZXJlbmNpbmcgQm9vdHN0cmFwIENETiBmb250IGZpbGVzIGRpcmVjdGx5XG4kZmEtY3NzLXByZWZpeDogICAgICAgZmEgIWRlZmF1bHQ7XG4kZmEtdmVyc2lvbjogICAgICAgICAgXCI0LjQuMFwiICFkZWZhdWx0O1xuJGZhLWJvcmRlci1jb2xvcjogICAgICNlZWUgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZTogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRmYS1saS13aWR0aDogICAgICAgICAoMzBlbSAvIDE0KSAhZGVmYXVsdDtcblxuJGZhLXZhci01MDBweDogXCJcXGYyNmVcIjtcbiRmYS12YXItYWRqdXN0OiBcIlxcZjA0MlwiO1xuJGZhLXZhci1hZG46IFwiXFxmMTcwXCI7XG4kZmEtdmFyLWFsaWduLWNlbnRlcjogXCJcXGYwMzdcIjtcbiRmYS12YXItYWxpZ24tanVzdGlmeTogXCJcXGYwMzlcIjtcbiRmYS12YXItYWxpZ24tbGVmdDogXCJcXGYwMzZcIjtcbiRmYS12YXItYWxpZ24tcmlnaHQ6IFwiXFxmMDM4XCI7XG4kZmEtdmFyLWFtYXpvbjogXCJcXGYyNzBcIjtcbiRmYS12YXItYW1idWxhbmNlOiBcIlxcZjBmOVwiO1xuJGZhLXZhci1hbmNob3I6IFwiXFxmMTNkXCI7XG4kZmEtdmFyLWFuZHJvaWQ6IFwiXFxmMTdiXCI7XG4kZmEtdmFyLWFuZ2VsbGlzdDogXCJcXGYyMDlcIjtcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFwiXFxmMTAzXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OiBcIlxcZjEwMFwiO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFwiXFxmMTAxXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXCJcXGYxMDJcIjtcbiRmYS12YXItYW5nbGUtZG93bjogXCJcXGYxMDdcIjtcbiRmYS12YXItYW5nbGUtbGVmdDogXCJcXGYxMDRcIjtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFwiXFxmMTA1XCI7XG4kZmEtdmFyLWFuZ2xlLXVwOiBcIlxcZjEwNlwiO1xuJGZhLXZhci1hcHBsZTogXCJcXGYxNzlcIjtcbiRmYS12YXItYXJjaGl2ZTogXCJcXGYxODdcIjtcbiRmYS12YXItYXJlYS1jaGFydDogXCJcXGYxZmVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFwiXFxmMGFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OiBcIlxcZjBhOFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1kb3duOiBcIlxcZjAxYVwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1sZWZ0OiBcIlxcZjE5MFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1yaWdodDogXCJcXGYxOGVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tdXA6IFwiXFxmMDFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDogXCJcXGYwYTlcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXVwOiBcIlxcZjBhYVwiO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcIlxcZjA2M1wiO1xuJGZhLXZhci1hcnJvdy1sZWZ0OiBcIlxcZjA2MFwiO1xuJGZhLXZhci1hcnJvdy1yaWdodDogXCJcXGYwNjFcIjtcbiRmYS12YXItYXJyb3ctdXA6IFwiXFxmMDYyXCI7XG4kZmEtdmFyLWFycm93czogXCJcXGYwNDdcIjtcbiRmYS12YXItYXJyb3dzLWFsdDogXCJcXGYwYjJcIjtcbiRmYS12YXItYXJyb3dzLWg6IFwiXFxmMDdlXCI7XG4kZmEtdmFyLWFycm93cy12OiBcIlxcZjA3ZFwiO1xuJGZhLXZhci1hc3RlcmlzazogXCJcXGYwNjlcIjtcbiRmYS12YXItYXQ6IFwiXFxmMWZhXCI7XG4kZmEtdmFyLWF1dG9tb2JpbGU6IFwiXFxmMWI5XCI7XG4kZmEtdmFyLWJhY2t3YXJkOiBcIlxcZjA0YVwiO1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlOiBcIlxcZjI0ZVwiO1xuJGZhLXZhci1iYW46IFwiXFxmMDVlXCI7XG4kZmEtdmFyLWJhbms6IFwiXFxmMTljXCI7XG4kZmEtdmFyLWJhci1jaGFydDogXCJcXGYwODBcIjtcbiRmYS12YXItYmFyLWNoYXJ0LW86IFwiXFxmMDgwXCI7XG4kZmEtdmFyLWJhcmNvZGU6IFwiXFxmMDJhXCI7XG4kZmEtdmFyLWJhcnM6IFwiXFxmMGM5XCI7XG4kZmEtdmFyLWJhdHRlcnktMDogXCJcXGYyNDRcIjtcbiRmYS12YXItYmF0dGVyeS0xOiBcIlxcZjI0M1wiO1xuJGZhLXZhci1iYXR0ZXJ5LTI6IFwiXFxmMjQyXCI7XG4kZmEtdmFyLWJhdHRlcnktMzogXCJcXGYyNDFcIjtcbiRmYS12YXItYmF0dGVyeS00OiBcIlxcZjI0MFwiO1xuJGZhLXZhci1iYXR0ZXJ5LWVtcHR5OiBcIlxcZjI0NFwiO1xuJGZhLXZhci1iYXR0ZXJ5LWZ1bGw6IFwiXFxmMjQwXCI7XG4kZmEtdmFyLWJhdHRlcnktaGFsZjogXCJcXGYyNDJcIjtcbiRmYS12YXItYmF0dGVyeS1xdWFydGVyOiBcIlxcZjI0M1wiO1xuJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOiBcIlxcZjI0MVwiO1xuJGZhLXZhci1iZWQ6IFwiXFxmMjM2XCI7XG4kZmEtdmFyLWJlZXI6IFwiXFxmMGZjXCI7XG4kZmEtdmFyLWJlaGFuY2U6IFwiXFxmMWI0XCI7XG4kZmEtdmFyLWJlaGFuY2Utc3F1YXJlOiBcIlxcZjFiNVwiO1xuJGZhLXZhci1iZWxsOiBcIlxcZjBmM1wiO1xuJGZhLXZhci1iZWxsLW86IFwiXFxmMGEyXCI7XG4kZmEtdmFyLWJlbGwtc2xhc2g6IFwiXFxmMWY2XCI7XG4kZmEtdmFyLWJlbGwtc2xhc2gtbzogXCJcXGYxZjdcIjtcbiRmYS12YXItYmljeWNsZTogXCJcXGYyMDZcIjtcbiRmYS12YXItYmlub2N1bGFyczogXCJcXGYxZTVcIjtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXCJcXGYxZmRcIjtcbiRmYS12YXItYml0YnVja2V0OiBcIlxcZjE3MVwiO1xuJGZhLXZhci1iaXRidWNrZXQtc3F1YXJlOiBcIlxcZjE3MlwiO1xuJGZhLXZhci1iaXRjb2luOiBcIlxcZjE1YVwiO1xuJGZhLXZhci1ibGFjay10aWU6IFwiXFxmMjdlXCI7XG4kZmEtdmFyLWJvbGQ6IFwiXFxmMDMyXCI7XG4kZmEtdmFyLWJvbHQ6IFwiXFxmMGU3XCI7XG4kZmEtdmFyLWJvbWI6IFwiXFxmMWUyXCI7XG4kZmEtdmFyLWJvb2s6IFwiXFxmMDJkXCI7XG4kZmEtdmFyLWJvb2ttYXJrOiBcIlxcZjAyZVwiO1xuJGZhLXZhci1ib29rbWFyay1vOiBcIlxcZjA5N1wiO1xuJGZhLXZhci1icmllZmNhc2U6IFwiXFxmMGIxXCI7XG4kZmEtdmFyLWJ0YzogXCJcXGYxNWFcIjtcbiRmYS12YXItYnVnOiBcIlxcZjE4OFwiO1xuJGZhLXZhci1idWlsZGluZzogXCJcXGYxYWRcIjtcbiRmYS12YXItYnVpbGRpbmctbzogXCJcXGYwZjdcIjtcbiRmYS12YXItYnVsbGhvcm46IFwiXFxmMGExXCI7XG4kZmEtdmFyLWJ1bGxzZXllOiBcIlxcZjE0MFwiO1xuJGZhLXZhci1idXM6IFwiXFxmMjA3XCI7XG4kZmEtdmFyLWJ1eXNlbGxhZHM6IFwiXFxmMjBkXCI7XG4kZmEtdmFyLWNhYjogXCJcXGYxYmFcIjtcbiRmYS12YXItY2FsY3VsYXRvcjogXCJcXGYxZWNcIjtcbiRmYS12YXItY2FsZW5kYXI6IFwiXFxmMDczXCI7XG4kZmEtdmFyLWNhbGVuZGFyLWNoZWNrLW86IFwiXFxmMjc0XCI7XG4kZmEtdmFyLWNhbGVuZGFyLW1pbnVzLW86IFwiXFxmMjcyXCI7XG4kZmEtdmFyLWNhbGVuZGFyLW86IFwiXFxmMTMzXCI7XG4kZmEtdmFyLWNhbGVuZGFyLXBsdXMtbzogXCJcXGYyNzFcIjtcbiRmYS12YXItY2FsZW5kYXItdGltZXMtbzogXCJcXGYyNzNcIjtcbiRmYS12YXItY2FtZXJhOiBcIlxcZjAzMFwiO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFwiXFxmMDgzXCI7XG4kZmEtdmFyLWNhcjogXCJcXGYxYjlcIjtcbiRmYS12YXItY2FyZXQtZG93bjogXCJcXGYwZDdcIjtcbiRmYS12YXItY2FyZXQtbGVmdDogXCJcXGYwZDlcIjtcbiRmYS12YXItY2FyZXQtcmlnaHQ6IFwiXFxmMGRhXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWRvd246IFwiXFxmMTUwXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWxlZnQ6IFwiXFxmMTkxXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OiBcIlxcZjE1MlwiO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtby11cDogXCJcXGYxNTFcIjtcbiRmYS12YXItY2FyZXQtdXA6IFwiXFxmMGQ4XCI7XG4kZmEtdmFyLWNhcnQtYXJyb3ctZG93bjogXCJcXGYyMThcIjtcbiRmYS12YXItY2FydC1wbHVzOiBcIlxcZjIxN1wiO1xuJGZhLXZhci1jYzogXCJcXGYyMGFcIjtcbiRmYS12YXItY2MtYW1leDogXCJcXGYxZjNcIjtcbiRmYS12YXItY2MtZGluZXJzLWNsdWI6IFwiXFxmMjRjXCI7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcIlxcZjFmMlwiO1xuJGZhLXZhci1jYy1qY2I6IFwiXFxmMjRiXCI7XG4kZmEtdmFyLWNjLW1hc3RlcmNhcmQ6IFwiXFxmMWYxXCI7XG4kZmEtdmFyLWNjLXBheXBhbDogXCJcXGYxZjRcIjtcbiRmYS12YXItY2Mtc3RyaXBlOiBcIlxcZjFmNVwiO1xuJGZhLXZhci1jYy12aXNhOiBcIlxcZjFmMFwiO1xuJGZhLXZhci1jZXJ0aWZpY2F0ZTogXCJcXGYwYTNcIjtcbiRmYS12YXItY2hhaW46IFwiXFxmMGMxXCI7XG4kZmEtdmFyLWNoYWluLWJyb2tlbjogXCJcXGYxMjdcIjtcbiRmYS12YXItY2hlY2s6IFwiXFxmMDBjXCI7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZTogXCJcXGYwNThcIjtcbiRmYS12YXItY2hlY2stY2lyY2xlLW86IFwiXFxmMDVkXCI7XG4kZmEtdmFyLWNoZWNrLXNxdWFyZTogXCJcXGYxNGFcIjtcbiRmYS12YXItY2hlY2stc3F1YXJlLW86IFwiXFxmMDQ2XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFwiXFxmMTNhXCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQ6IFwiXFxmMTM3XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OiBcIlxcZjEzOFwiO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXCJcXGYxMzlcIjtcbiRmYS12YXItY2hldnJvbi1kb3duOiBcIlxcZjA3OFwiO1xuJGZhLXZhci1jaGV2cm9uLWxlZnQ6IFwiXFxmMDUzXCI7XG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFwiXFxmMDU0XCI7XG4kZmEtdmFyLWNoZXZyb24tdXA6IFwiXFxmMDc3XCI7XG4kZmEtdmFyLWNoaWxkOiBcIlxcZjFhZVwiO1xuJGZhLXZhci1jaHJvbWU6IFwiXFxmMjY4XCI7XG4kZmEtdmFyLWNpcmNsZTogXCJcXGYxMTFcIjtcbiRmYS12YXItY2lyY2xlLW86IFwiXFxmMTBjXCI7XG4kZmEtdmFyLWNpcmNsZS1vLW5vdGNoOiBcIlxcZjFjZVwiO1xuJGZhLXZhci1jaXJjbGUtdGhpbjogXCJcXGYxZGJcIjtcbiRmYS12YXItY2xpcGJvYXJkOiBcIlxcZjBlYVwiO1xuJGZhLXZhci1jbG9jay1vOiBcIlxcZjAxN1wiO1xuJGZhLXZhci1jbG9uZTogXCJcXGYyNGRcIjtcbiRmYS12YXItY2xvc2U6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLWNsb3VkOiBcIlxcZjBjMlwiO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZDogXCJcXGYwZWRcIjtcbiRmYS12YXItY2xvdWQtdXBsb2FkOiBcIlxcZjBlZVwiO1xuJGZhLXZhci1jbnk6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLWNvZGU6IFwiXFxmMTIxXCI7XG4kZmEtdmFyLWNvZGUtZm9yazogXCJcXGYxMjZcIjtcbiRmYS12YXItY29kZXBlbjogXCJcXGYxY2JcIjtcbiRmYS12YXItY29mZmVlOiBcIlxcZjBmNFwiO1xuJGZhLXZhci1jb2c6IFwiXFxmMDEzXCI7XG4kZmEtdmFyLWNvZ3M6IFwiXFxmMDg1XCI7XG4kZmEtdmFyLWNvbHVtbnM6IFwiXFxmMGRiXCI7XG4kZmEtdmFyLWNvbW1lbnQ6IFwiXFxmMDc1XCI7XG4kZmEtdmFyLWNvbW1lbnQtbzogXCJcXGYwZTVcIjtcbiRmYS12YXItY29tbWVudGluZzogXCJcXGYyN2FcIjtcbiRmYS12YXItY29tbWVudGluZy1vOiBcIlxcZjI3YlwiO1xuJGZhLXZhci1jb21tZW50czogXCJcXGYwODZcIjtcbiRmYS12YXItY29tbWVudHMtbzogXCJcXGYwZTZcIjtcbiRmYS12YXItY29tcGFzczogXCJcXGYxNGVcIjtcbiRmYS12YXItY29tcHJlc3M6IFwiXFxmMDY2XCI7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcIlxcZjIwZVwiO1xuJGZhLXZhci1jb250YW86IFwiXFxmMjZkXCI7XG4kZmEtdmFyLWNvcHk6IFwiXFxmMGM1XCI7XG4kZmEtdmFyLWNvcHlyaWdodDogXCJcXGYxZjlcIjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXCJcXGYyNWVcIjtcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFwiXFxmMDlkXCI7XG4kZmEtdmFyLWNyb3A6IFwiXFxmMTI1XCI7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFwiXFxmMDViXCI7XG4kZmEtdmFyLWNzczM6IFwiXFxmMTNjXCI7XG4kZmEtdmFyLWN1YmU6IFwiXFxmMWIyXCI7XG4kZmEtdmFyLWN1YmVzOiBcIlxcZjFiM1wiO1xuJGZhLXZhci1jdXQ6IFwiXFxmMGM0XCI7XG4kZmEtdmFyLWN1dGxlcnk6IFwiXFxmMGY1XCI7XG4kZmEtdmFyLWRhc2hib2FyZDogXCJcXGYwZTRcIjtcbiRmYS12YXItZGFzaGN1YmU6IFwiXFxmMjEwXCI7XG4kZmEtdmFyLWRhdGFiYXNlOiBcIlxcZjFjMFwiO1xuJGZhLXZhci1kZWRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLWRlbGljaW91czogXCJcXGYxYTVcIjtcbiRmYS12YXItZGVza3RvcDogXCJcXGYxMDhcIjtcbiRmYS12YXItZGV2aWFudGFydDogXCJcXGYxYmRcIjtcbiRmYS12YXItZGlhbW9uZDogXCJcXGYyMTlcIjtcbiRmYS12YXItZGlnZzogXCJcXGYxYTZcIjtcbiRmYS12YXItZG9sbGFyOiBcIlxcZjE1NVwiO1xuJGZhLXZhci1kb3QtY2lyY2xlLW86IFwiXFxmMTkyXCI7XG4kZmEtdmFyLWRvd25sb2FkOiBcIlxcZjAxOVwiO1xuJGZhLXZhci1kcmliYmJsZTogXCJcXGYxN2RcIjtcbiRmYS12YXItZHJvcGJveDogXCJcXGYxNmJcIjtcbiRmYS12YXItZHJ1cGFsOiBcIlxcZjFhOVwiO1xuJGZhLXZhci1lZGl0OiBcIlxcZjA0NFwiO1xuJGZhLXZhci1lamVjdDogXCJcXGYwNTJcIjtcbiRmYS12YXItZWxsaXBzaXMtaDogXCJcXGYxNDFcIjtcbiRmYS12YXItZWxsaXBzaXMtdjogXCJcXGYxNDJcIjtcbiRmYS12YXItZW1waXJlOiBcIlxcZjFkMVwiO1xuJGZhLXZhci1lbnZlbG9wZTogXCJcXGYwZTBcIjtcbiRmYS12YXItZW52ZWxvcGUtbzogXCJcXGYwMDNcIjtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcIlxcZjE5OVwiO1xuJGZhLXZhci1lcmFzZXI6IFwiXFxmMTJkXCI7XG4kZmEtdmFyLWV1cjogXCJcXGYxNTNcIjtcbiRmYS12YXItZXVybzogXCJcXGYxNTNcIjtcbiRmYS12YXItZXhjaGFuZ2U6IFwiXFxmMGVjXCI7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uOiBcIlxcZjEyYVwiO1xuJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU6IFwiXFxmMDZhXCI7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcIlxcZjA3MVwiO1xuJGZhLXZhci1leHBhbmQ6IFwiXFxmMDY1XCI7XG4kZmEtdmFyLWV4cGVkaXRlZHNzbDogXCJcXGYyM2VcIjtcbiRmYS12YXItZXh0ZXJuYWwtbGluazogXCJcXGYwOGVcIjtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmU6IFwiXFxmMTRjXCI7XG4kZmEtdmFyLWV5ZTogXCJcXGYwNmVcIjtcbiRmYS12YXItZXllLXNsYXNoOiBcIlxcZjA3MFwiO1xuJGZhLXZhci1leWVkcm9wcGVyOiBcIlxcZjFmYlwiO1xuJGZhLXZhci1mYWNlYm9vazogXCJcXGYwOWFcIjtcbiRmYS12YXItZmFjZWJvb2stZjogXCJcXGYwOWFcIjtcbiRmYS12YXItZmFjZWJvb2stb2ZmaWNpYWw6IFwiXFxmMjMwXCI7XG4kZmEtdmFyLWZhY2Vib29rLXNxdWFyZTogXCJcXGYwODJcIjtcbiRmYS12YXItZmFzdC1iYWNrd2FyZDogXCJcXGYwNDlcIjtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcIlxcZjA1MFwiO1xuJGZhLXZhci1mYXg6IFwiXFxmMWFjXCI7XG4kZmEtdmFyLWZlZWQ6IFwiXFxmMDllXCI7XG4kZmEtdmFyLWZlbWFsZTogXCJcXGYxODJcIjtcbiRmYS12YXItZmlnaHRlci1qZXQ6IFwiXFxmMGZiXCI7XG4kZmEtdmFyLWZpbGU6IFwiXFxmMTViXCI7XG4kZmEtdmFyLWZpbGUtYXJjaGl2ZS1vOiBcIlxcZjFjNlwiO1xuJGZhLXZhci1maWxlLWF1ZGlvLW86IFwiXFxmMWM3XCI7XG4kZmEtdmFyLWZpbGUtY29kZS1vOiBcIlxcZjFjOVwiO1xuJGZhLXZhci1maWxlLWV4Y2VsLW86IFwiXFxmMWMzXCI7XG4kZmEtdmFyLWZpbGUtaW1hZ2UtbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1tb3ZpZS1vOiBcIlxcZjFjOFwiO1xuJGZhLXZhci1maWxlLW86IFwiXFxmMDE2XCI7XG4kZmEtdmFyLWZpbGUtcGRmLW86IFwiXFxmMWMxXCI7XG4kZmEtdmFyLWZpbGUtcGhvdG8tbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1waWN0dXJlLW86IFwiXFxmMWM1XCI7XG4kZmEtdmFyLWZpbGUtcG93ZXJwb2ludC1vOiBcIlxcZjFjNFwiO1xuJGZhLXZhci1maWxlLXNvdW5kLW86IFwiXFxmMWM3XCI7XG4kZmEtdmFyLWZpbGUtdGV4dDogXCJcXGYxNWNcIjtcbiRmYS12YXItZmlsZS10ZXh0LW86IFwiXFxmMGY2XCI7XG4kZmEtdmFyLWZpbGUtdmlkZW8tbzogXCJcXGYxYzhcIjtcbiRmYS12YXItZmlsZS13b3JkLW86IFwiXFxmMWMyXCI7XG4kZmEtdmFyLWZpbGUtemlwLW86IFwiXFxmMWM2XCI7XG4kZmEtdmFyLWZpbGVzLW86IFwiXFxmMGM1XCI7XG4kZmEtdmFyLWZpbG06IFwiXFxmMDA4XCI7XG4kZmEtdmFyLWZpbHRlcjogXCJcXGYwYjBcIjtcbiRmYS12YXItZmlyZTogXCJcXGYwNmRcIjtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFwiXFxmMTM0XCI7XG4kZmEtdmFyLWZpcmVmb3g6IFwiXFxmMjY5XCI7XG4kZmEtdmFyLWZsYWc6IFwiXFxmMDI0XCI7XG4kZmEtdmFyLWZsYWctY2hlY2tlcmVkOiBcIlxcZjExZVwiO1xuJGZhLXZhci1mbGFnLW86IFwiXFxmMTFkXCI7XG4kZmEtdmFyLWZsYXNoOiBcIlxcZjBlN1wiO1xuJGZhLXZhci1mbGFzazogXCJcXGYwYzNcIjtcbiRmYS12YXItZmxpY2tyOiBcIlxcZjE2ZVwiO1xuJGZhLXZhci1mbG9wcHktbzogXCJcXGYwYzdcIjtcbiRmYS12YXItZm9sZGVyOiBcIlxcZjA3YlwiO1xuJGZhLXZhci1mb2xkZXItbzogXCJcXGYxMTRcIjtcbiRmYS12YXItZm9sZGVyLW9wZW46IFwiXFxmMDdjXCI7XG4kZmEtdmFyLWZvbGRlci1vcGVuLW86IFwiXFxmMTE1XCI7XG4kZmEtdmFyLWZvbnQ6IFwiXFxmMDMxXCI7XG4kZmEtdmFyLWZvbnRpY29uczogXCJcXGYyODBcIjtcbiRmYS12YXItZm9ydW1iZWU6IFwiXFxmMjExXCI7XG4kZmEtdmFyLWZvcndhcmQ6IFwiXFxmMDRlXCI7XG4kZmEtdmFyLWZvdXJzcXVhcmU6IFwiXFxmMTgwXCI7XG4kZmEtdmFyLWZyb3duLW86IFwiXFxmMTE5XCI7XG4kZmEtdmFyLWZ1dGJvbC1vOiBcIlxcZjFlM1wiO1xuJGZhLXZhci1nYW1lcGFkOiBcIlxcZjExYlwiO1xuJGZhLXZhci1nYXZlbDogXCJcXGYwZTNcIjtcbiRmYS12YXItZ2JwOiBcIlxcZjE1NFwiO1xuJGZhLXZhci1nZTogXCJcXGYxZDFcIjtcbiRmYS12YXItZ2VhcjogXCJcXGYwMTNcIjtcbiRmYS12YXItZ2VhcnM6IFwiXFxmMDg1XCI7XG4kZmEtdmFyLWdlbmRlcmxlc3M6IFwiXFxmMjJkXCI7XG4kZmEtdmFyLWdldC1wb2NrZXQ6IFwiXFxmMjY1XCI7XG4kZmEtdmFyLWdnOiBcIlxcZjI2MFwiO1xuJGZhLXZhci1nZy1jaXJjbGU6IFwiXFxmMjYxXCI7XG4kZmEtdmFyLWdpZnQ6IFwiXFxmMDZiXCI7XG4kZmEtdmFyLWdpdDogXCJcXGYxZDNcIjtcbiRmYS12YXItZ2l0LXNxdWFyZTogXCJcXGYxZDJcIjtcbiRmYS12YXItZ2l0aHViOiBcIlxcZjA5YlwiO1xuJGZhLXZhci1naXRodWItYWx0OiBcIlxcZjExM1wiO1xuJGZhLXZhci1naXRodWItc3F1YXJlOiBcIlxcZjA5MlwiO1xuJGZhLXZhci1naXR0aXA6IFwiXFxmMTg0XCI7XG4kZmEtdmFyLWdsYXNzOiBcIlxcZjAwMFwiO1xuJGZhLXZhci1nbG9iZTogXCJcXGYwYWNcIjtcbiRmYS12YXItZ29vZ2xlOiBcIlxcZjFhMFwiO1xuJGZhLXZhci1nb29nbGUtcGx1czogXCJcXGYwZDVcIjtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcIlxcZjBkNFwiO1xuJGZhLXZhci1nb29nbGUtd2FsbGV0OiBcIlxcZjFlZVwiO1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXCJcXGYxOWRcIjtcbiRmYS12YXItZ3JhdGlwYXk6IFwiXFxmMTg0XCI7XG4kZmEtdmFyLWdyb3VwOiBcIlxcZjBjMFwiO1xuJGZhLXZhci1oLXNxdWFyZTogXCJcXGYwZmRcIjtcbiRmYS12YXItaGFja2VyLW5ld3M6IFwiXFxmMWQ0XCI7XG4kZmEtdmFyLWhhbmQtZ3JhYi1vOiBcIlxcZjI1NVwiO1xuJGZhLXZhci1oYW5kLWxpemFyZC1vOiBcIlxcZjI1OFwiO1xuJGZhLXZhci1oYW5kLW8tZG93bjogXCJcXGYwYTdcIjtcbiRmYS12YXItaGFuZC1vLWxlZnQ6IFwiXFxmMGE1XCI7XG4kZmEtdmFyLWhhbmQtby1yaWdodDogXCJcXGYwYTRcIjtcbiRmYS12YXItaGFuZC1vLXVwOiBcIlxcZjBhNlwiO1xuJGZhLXZhci1oYW5kLXBhcGVyLW86IFwiXFxmMjU2XCI7XG4kZmEtdmFyLWhhbmQtcGVhY2UtbzogXCJcXGYyNWJcIjtcbiRmYS12YXItaGFuZC1wb2ludGVyLW86IFwiXFxmMjVhXCI7XG4kZmEtdmFyLWhhbmQtcm9jay1vOiBcIlxcZjI1NVwiO1xuJGZhLXZhci1oYW5kLXNjaXNzb3JzLW86IFwiXFxmMjU3XCI7XG4kZmEtdmFyLWhhbmQtc3BvY2stbzogXCJcXGYyNTlcIjtcbiRmYS12YXItaGFuZC1zdG9wLW86IFwiXFxmMjU2XCI7XG4kZmEtdmFyLWhkZC1vOiBcIlxcZjBhMFwiO1xuJGZhLXZhci1oZWFkZXI6IFwiXFxmMWRjXCI7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFwiXFxmMDI1XCI7XG4kZmEtdmFyLWhlYXJ0OiBcIlxcZjAwNFwiO1xuJGZhLXZhci1oZWFydC1vOiBcIlxcZjA4YVwiO1xuJGZhLXZhci1oZWFydGJlYXQ6IFwiXFxmMjFlXCI7XG4kZmEtdmFyLWhpc3Rvcnk6IFwiXFxmMWRhXCI7XG4kZmEtdmFyLWhvbWU6IFwiXFxmMDE1XCI7XG4kZmEtdmFyLWhvc3BpdGFsLW86IFwiXFxmMGY4XCI7XG4kZmEtdmFyLWhvdGVsOiBcIlxcZjIzNlwiO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFwiXFxmMjU0XCI7XG4kZmEtdmFyLWhvdXJnbGFzcy0xOiBcIlxcZjI1MVwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtMjogXCJcXGYyNTJcIjtcbiRmYS12YXItaG91cmdsYXNzLTM6IFwiXFxmMjUzXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbmQ6IFwiXFxmMjUzXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1oYWxmOiBcIlxcZjI1MlwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtbzogXCJcXGYyNTBcIjtcbiRmYS12YXItaG91cmdsYXNzLXN0YXJ0OiBcIlxcZjI1MVwiO1xuJGZhLXZhci1ob3V6ejogXCJcXGYyN2NcIjtcbiRmYS12YXItaHRtbDU6IFwiXFxmMTNiXCI7XG4kZmEtdmFyLWktY3Vyc29yOiBcIlxcZjI0NlwiO1xuJGZhLXZhci1pbHM6IFwiXFxmMjBiXCI7XG4kZmEtdmFyLWltYWdlOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1pbmJveDogXCJcXGYwMWNcIjtcbiRmYS12YXItaW5kZW50OiBcIlxcZjAzY1wiO1xuJGZhLXZhci1pbmR1c3RyeTogXCJcXGYyNzVcIjtcbiRmYS12YXItaW5mbzogXCJcXGYxMjlcIjtcbiRmYS12YXItaW5mby1jaXJjbGU6IFwiXFxmMDVhXCI7XG4kZmEtdmFyLWlucjogXCJcXGYxNTZcIjtcbiRmYS12YXItaW5zdGFncmFtOiBcIlxcZjE2ZFwiO1xuJGZhLXZhci1pbnN0aXR1dGlvbjogXCJcXGYxOWNcIjtcbiRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI6IFwiXFxmMjZiXCI7XG4kZmEtdmFyLWludGVyc2V4OiBcIlxcZjIyNFwiO1xuJGZhLXZhci1pb3hob3N0OiBcIlxcZjIwOFwiO1xuJGZhLXZhci1pdGFsaWM6IFwiXFxmMDMzXCI7XG4kZmEtdmFyLWpvb21sYTogXCJcXGYxYWFcIjtcbiRmYS12YXItanB5OiBcIlxcZjE1N1wiO1xuJGZhLXZhci1qc2ZpZGRsZTogXCJcXGYxY2NcIjtcbiRmYS12YXIta2V5OiBcIlxcZjA4NFwiO1xuJGZhLXZhci1rZXlib2FyZC1vOiBcIlxcZjExY1wiO1xuJGZhLXZhci1rcnc6IFwiXFxmMTU5XCI7XG4kZmEtdmFyLWxhbmd1YWdlOiBcIlxcZjFhYlwiO1xuJGZhLXZhci1sYXB0b3A6IFwiXFxmMTA5XCI7XG4kZmEtdmFyLWxhc3RmbTogXCJcXGYyMDJcIjtcbiRmYS12YXItbGFzdGZtLXNxdWFyZTogXCJcXGYyMDNcIjtcbiRmYS12YXItbGVhZjogXCJcXGYwNmNcIjtcbiRmYS12YXItbGVhbnB1YjogXCJcXGYyMTJcIjtcbiRmYS12YXItbGVnYWw6IFwiXFxmMGUzXCI7XG4kZmEtdmFyLWxlbW9uLW86IFwiXFxmMDk0XCI7XG4kZmEtdmFyLWxldmVsLWRvd246IFwiXFxmMTQ5XCI7XG4kZmEtdmFyLWxldmVsLXVwOiBcIlxcZjE0OFwiO1xuJGZhLXZhci1saWZlLWJvdXk6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZmUtYnVveTogXCJcXGYxY2RcIjtcbiRmYS12YXItbGlmZS1yaW5nOiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWZlLXNhdmVyOiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWdodGJ1bGItbzogXCJcXGYwZWJcIjtcbiRmYS12YXItbGluZS1jaGFydDogXCJcXGYyMDFcIjtcbiRmYS12YXItbGluazogXCJcXGYwYzFcIjtcbiRmYS12YXItbGlua2VkaW46IFwiXFxmMGUxXCI7XG4kZmEtdmFyLWxpbmtlZGluLXNxdWFyZTogXCJcXGYwOGNcIjtcbiRmYS12YXItbGludXg6IFwiXFxmMTdjXCI7XG4kZmEtdmFyLWxpc3Q6IFwiXFxmMDNhXCI7XG4kZmEtdmFyLWxpc3QtYWx0OiBcIlxcZjAyMlwiO1xuJGZhLXZhci1saXN0LW9sOiBcIlxcZjBjYlwiO1xuJGZhLXZhci1saXN0LXVsOiBcIlxcZjBjYVwiO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXCJcXGYxMjRcIjtcbiRmYS12YXItbG9jazogXCJcXGYwMjNcIjtcbiRmYS12YXItbG9uZy1hcnJvdy1kb3duOiBcIlxcZjE3NVwiO1xuJGZhLXZhci1sb25nLWFycm93LWxlZnQ6IFwiXFxmMTc3XCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQ6IFwiXFxmMTc4XCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctdXA6IFwiXFxmMTc2XCI7XG4kZmEtdmFyLW1hZ2ljOiBcIlxcZjBkMFwiO1xuJGZhLXZhci1tYWduZXQ6IFwiXFxmMDc2XCI7XG4kZmEtdmFyLW1haWwtZm9yd2FyZDogXCJcXGYwNjRcIjtcbiRmYS12YXItbWFpbC1yZXBseTogXCJcXGYxMTJcIjtcbiRmYS12YXItbWFpbC1yZXBseS1hbGw6IFwiXFxmMTIyXCI7XG4kZmEtdmFyLW1hbGU6IFwiXFxmMTgzXCI7XG4kZmEtdmFyLW1hcDogXCJcXGYyNzlcIjtcbiRmYS12YXItbWFwLW1hcmtlcjogXCJcXGYwNDFcIjtcbiRmYS12YXItbWFwLW86IFwiXFxmMjc4XCI7XG4kZmEtdmFyLW1hcC1waW46IFwiXFxmMjc2XCI7XG4kZmEtdmFyLW1hcC1zaWduczogXCJcXGYyNzdcIjtcbiRmYS12YXItbWFyczogXCJcXGYyMjJcIjtcbiRmYS12YXItbWFycy1kb3VibGU6IFwiXFxmMjI3XCI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlOiBcIlxcZjIyOVwiO1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcIlxcZjIyYlwiO1xuJGZhLXZhci1tYXJzLXN0cm9rZS12OiBcIlxcZjIyYVwiO1xuJGZhLXZhci1tYXhjZG46IFwiXFxmMTM2XCI7XG4kZmEtdmFyLW1lYW5wYXRoOiBcIlxcZjIwY1wiO1xuJGZhLXZhci1tZWRpdW06IFwiXFxmMjNhXCI7XG4kZmEtdmFyLW1lZGtpdDogXCJcXGYwZmFcIjtcbiRmYS12YXItbWVoLW86IFwiXFxmMTFhXCI7XG4kZmEtdmFyLW1lcmN1cnk6IFwiXFxmMjIzXCI7XG4kZmEtdmFyLW1pY3JvcGhvbmU6IFwiXFxmMTMwXCI7XG4kZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g6IFwiXFxmMTMxXCI7XG4kZmEtdmFyLW1pbnVzOiBcIlxcZjA2OFwiO1xuJGZhLXZhci1taW51cy1jaXJjbGU6IFwiXFxmMDU2XCI7XG4kZmEtdmFyLW1pbnVzLXNxdWFyZTogXCJcXGYxNDZcIjtcbiRmYS12YXItbWludXMtc3F1YXJlLW86IFwiXFxmMTQ3XCI7XG4kZmEtdmFyLW1vYmlsZTogXCJcXGYxMGJcIjtcbiRmYS12YXItbW9iaWxlLXBob25lOiBcIlxcZjEwYlwiO1xuJGZhLXZhci1tb25leTogXCJcXGYwZDZcIjtcbiRmYS12YXItbW9vbi1vOiBcIlxcZjE4NlwiO1xuJGZhLXZhci1tb3J0YXItYm9hcmQ6IFwiXFxmMTlkXCI7XG4kZmEtdmFyLW1vdG9yY3ljbGU6IFwiXFxmMjFjXCI7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFwiXFxmMjQ1XCI7XG4kZmEtdmFyLW11c2ljOiBcIlxcZjAwMVwiO1xuJGZhLXZhci1uYXZpY29uOiBcIlxcZjBjOVwiO1xuJGZhLXZhci1uZXV0ZXI6IFwiXFxmMjJjXCI7XG4kZmEtdmFyLW5ld3NwYXBlci1vOiBcIlxcZjFlYVwiO1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFwiXFxmMjQ3XCI7XG4kZmEtdmFyLW9iamVjdC11bmdyb3VwOiBcIlxcZjI0OFwiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcIlxcZjI2M1wiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXCJcXGYyNjRcIjtcbiRmYS12YXItb3BlbmNhcnQ6IFwiXFxmMjNkXCI7XG4kZmEtdmFyLW9wZW5pZDogXCJcXGYxOWJcIjtcbiRmYS12YXItb3BlcmE6IFwiXFxmMjZhXCI7XG4kZmEtdmFyLW9wdGluLW1vbnN0ZXI6IFwiXFxmMjNjXCI7XG4kZmEtdmFyLW91dGRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLXBhZ2VsaW5lczogXCJcXGYxOGNcIjtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFwiXFxmMWZjXCI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcIlxcZjFkOFwiO1xuJGZhLXZhci1wYXBlci1wbGFuZS1vOiBcIlxcZjFkOVwiO1xuJGZhLXZhci1wYXBlcmNsaXA6IFwiXFxmMGM2XCI7XG4kZmEtdmFyLXBhcmFncmFwaDogXCJcXGYxZGRcIjtcbiRmYS12YXItcGFzdGU6IFwiXFxmMGVhXCI7XG4kZmEtdmFyLXBhdXNlOiBcIlxcZjA0Y1wiO1xuJGZhLXZhci1wYXc6IFwiXFxmMWIwXCI7XG4kZmEtdmFyLXBheXBhbDogXCJcXGYxZWRcIjtcbiRmYS12YXItcGVuY2lsOiBcIlxcZjA0MFwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlOiBcIlxcZjE0YlwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlLW86IFwiXFxmMDQ0XCI7XG4kZmEtdmFyLXBob25lOiBcIlxcZjA5NVwiO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFwiXFxmMDk4XCI7XG4kZmEtdmFyLXBob3RvOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1waWN0dXJlLW86IFwiXFxmMDNlXCI7XG4kZmEtdmFyLXBpZS1jaGFydDogXCJcXGYyMDBcIjtcbiRmYS12YXItcGllZC1waXBlcjogXCJcXGYxYTdcIjtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFwiXFxmMWE4XCI7XG4kZmEtdmFyLXBpbnRlcmVzdDogXCJcXGYwZDJcIjtcbiRmYS12YXItcGludGVyZXN0LXA6IFwiXFxmMjMxXCI7XG4kZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU6IFwiXFxmMGQzXCI7XG4kZmEtdmFyLXBsYW5lOiBcIlxcZjA3MlwiO1xuJGZhLXZhci1wbGF5OiBcIlxcZjA0YlwiO1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXCJcXGYxNDRcIjtcbiRmYS12YXItcGxheS1jaXJjbGUtbzogXCJcXGYwMWRcIjtcbiRmYS12YXItcGx1ZzogXCJcXGYxZTZcIjtcbiRmYS12YXItcGx1czogXCJcXGYwNjdcIjtcbiRmYS12YXItcGx1cy1jaXJjbGU6IFwiXFxmMDU1XCI7XG4kZmEtdmFyLXBsdXMtc3F1YXJlOiBcIlxcZjBmZVwiO1xuJGZhLXZhci1wbHVzLXNxdWFyZS1vOiBcIlxcZjE5NlwiO1xuJGZhLXZhci1wb3dlci1vZmY6IFwiXFxmMDExXCI7XG4kZmEtdmFyLXByaW50OiBcIlxcZjAyZlwiO1xuJGZhLXZhci1wdXp6bGUtcGllY2U6IFwiXFxmMTJlXCI7XG4kZmEtdmFyLXFxOiBcIlxcZjFkNlwiO1xuJGZhLXZhci1xcmNvZGU6IFwiXFxmMDI5XCI7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcIlxcZjEyOFwiO1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU6IFwiXFxmMDU5XCI7XG4kZmEtdmFyLXF1b3RlLWxlZnQ6IFwiXFxmMTBkXCI7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcIlxcZjEwZVwiO1xuJGZhLXZhci1yYTogXCJcXGYxZDBcIjtcbiRmYS12YXItcmFuZG9tOiBcIlxcZjA3NFwiO1xuJGZhLXZhci1yZWJlbDogXCJcXGYxZDBcIjtcbiRmYS12YXItcmVjeWNsZTogXCJcXGYxYjhcIjtcbiRmYS12YXItcmVkZGl0OiBcIlxcZjFhMVwiO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcIlxcZjFhMlwiO1xuJGZhLXZhci1yZWZyZXNoOiBcIlxcZjAyMVwiO1xuJGZhLXZhci1yZWdpc3RlcmVkOiBcIlxcZjI1ZFwiO1xuJGZhLXZhci1yZW1vdmU6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLXJlbnJlbjogXCJcXGYxOGJcIjtcbiRmYS12YXItcmVvcmRlcjogXCJcXGYwYzlcIjtcbiRmYS12YXItcmVwZWF0OiBcIlxcZjAxZVwiO1xuJGZhLXZhci1yZXBseTogXCJcXGYxMTJcIjtcbiRmYS12YXItcmVwbHktYWxsOiBcIlxcZjEyMlwiO1xuJGZhLXZhci1yZXR3ZWV0OiBcIlxcZjA3OVwiO1xuJGZhLXZhci1ybWI6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLXJvYWQ6IFwiXFxmMDE4XCI7XG4kZmEtdmFyLXJvY2tldDogXCJcXGYxMzVcIjtcbiRmYS12YXItcm90YXRlLWxlZnQ6IFwiXFxmMGUyXCI7XG4kZmEtdmFyLXJvdGF0ZS1yaWdodDogXCJcXGYwMWVcIjtcbiRmYS12YXItcm91YmxlOiBcIlxcZjE1OFwiO1xuJGZhLXZhci1yc3M6IFwiXFxmMDllXCI7XG4kZmEtdmFyLXJzcy1zcXVhcmU6IFwiXFxmMTQzXCI7XG4kZmEtdmFyLXJ1YjogXCJcXGYxNThcIjtcbiRmYS12YXItcnVibGU6IFwiXFxmMTU4XCI7XG4kZmEtdmFyLXJ1cGVlOiBcIlxcZjE1NlwiO1xuJGZhLXZhci1zYWZhcmk6IFwiXFxmMjY3XCI7XG4kZmEtdmFyLXNhdmU6IFwiXFxmMGM3XCI7XG4kZmEtdmFyLXNjaXNzb3JzOiBcIlxcZjBjNFwiO1xuJGZhLXZhci1zZWFyY2g6IFwiXFxmMDAyXCI7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXCJcXGYwMTBcIjtcbiRmYS12YXItc2VhcmNoLXBsdXM6IFwiXFxmMDBlXCI7XG4kZmEtdmFyLXNlbGxzeTogXCJcXGYyMTNcIjtcbiRmYS12YXItc2VuZDogXCJcXGYxZDhcIjtcbiRmYS12YXItc2VuZC1vOiBcIlxcZjFkOVwiO1xuJGZhLXZhci1zZXJ2ZXI6IFwiXFxmMjMzXCI7XG4kZmEtdmFyLXNoYXJlOiBcIlxcZjA2NFwiO1xuJGZhLXZhci1zaGFyZS1hbHQ6IFwiXFxmMWUwXCI7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFwiXFxmMWUxXCI7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZTogXCJcXGYxNGRcIjtcbiRmYS12YXItc2hhcmUtc3F1YXJlLW86IFwiXFxmMDQ1XCI7XG4kZmEtdmFyLXNoZWtlbDogXCJcXGYyMGJcIjtcbiRmYS12YXItc2hlcWVsOiBcIlxcZjIwYlwiO1xuJGZhLXZhci1zaGllbGQ6IFwiXFxmMTMyXCI7XG4kZmEtdmFyLXNoaXA6IFwiXFxmMjFhXCI7XG4kZmEtdmFyLXNoaXJ0c2luYnVsazogXCJcXGYyMTRcIjtcbiRmYS12YXItc2hvcHBpbmctY2FydDogXCJcXGYwN2FcIjtcbiRmYS12YXItc2lnbi1pbjogXCJcXGYwOTBcIjtcbiRmYS12YXItc2lnbi1vdXQ6IFwiXFxmMDhiXCI7XG4kZmEtdmFyLXNpZ25hbDogXCJcXGYwMTJcIjtcbiRmYS12YXItc2ltcGx5YnVpbHQ6IFwiXFxmMjE1XCI7XG4kZmEtdmFyLXNpdGVtYXA6IFwiXFxmMGU4XCI7XG4kZmEtdmFyLXNreWF0bGFzOiBcIlxcZjIxNlwiO1xuJGZhLXZhci1za3lwZTogXCJcXGYxN2VcIjtcbiRmYS12YXItc2xhY2s6IFwiXFxmMTk4XCI7XG4kZmEtdmFyLXNsaWRlcnM6IFwiXFxmMWRlXCI7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFwiXFxmMWU3XCI7XG4kZmEtdmFyLXNtaWxlLW86IFwiXFxmMTE4XCI7XG4kZmEtdmFyLXNvY2Nlci1iYWxsLW86IFwiXFxmMWUzXCI7XG4kZmEtdmFyLXNvcnQ6IFwiXFxmMGRjXCI7XG4kZmEtdmFyLXNvcnQtYWxwaGEtYXNjOiBcIlxcZjE1ZFwiO1xuJGZhLXZhci1zb3J0LWFscGhhLWRlc2M6IFwiXFxmMTVlXCI7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWFzYzogXCJcXGYxNjBcIjtcbiRmYS12YXItc29ydC1hbW91bnQtZGVzYzogXCJcXGYxNjFcIjtcbiRmYS12YXItc29ydC1hc2M6IFwiXFxmMGRlXCI7XG4kZmEtdmFyLXNvcnQtZGVzYzogXCJcXGYwZGRcIjtcbiRmYS12YXItc29ydC1kb3duOiBcIlxcZjBkZFwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOiBcIlxcZjE2MlwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzogXCJcXGYxNjNcIjtcbiRmYS12YXItc29ydC11cDogXCJcXGYwZGVcIjtcbiRmYS12YXItc291bmRjbG91ZDogXCJcXGYxYmVcIjtcbiRmYS12YXItc3BhY2Utc2h1dHRsZTogXCJcXGYxOTdcIjtcbiRmYS12YXItc3Bpbm5lcjogXCJcXGYxMTBcIjtcbiRmYS12YXItc3Bvb246IFwiXFxmMWIxXCI7XG4kZmEtdmFyLXNwb3RpZnk6IFwiXFxmMWJjXCI7XG4kZmEtdmFyLXNxdWFyZTogXCJcXGYwYzhcIjtcbiRmYS12YXItc3F1YXJlLW86IFwiXFxmMDk2XCI7XG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcIlxcZjE4ZFwiO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXCJcXGYxNmNcIjtcbiRmYS12YXItc3RhcjogXCJcXGYwMDVcIjtcbiRmYS12YXItc3Rhci1oYWxmOiBcIlxcZjA4OVwiO1xuJGZhLXZhci1zdGFyLWhhbGYtZW1wdHk6IFwiXFxmMTIzXCI7XG4kZmEtdmFyLXN0YXItaGFsZi1mdWxsOiBcIlxcZjEyM1wiO1xuJGZhLXZhci1zdGFyLWhhbGYtbzogXCJcXGYxMjNcIjtcbiRmYS12YXItc3Rhci1vOiBcIlxcZjAwNlwiO1xuJGZhLXZhci1zdGVhbTogXCJcXGYxYjZcIjtcbiRmYS12YXItc3RlYW0tc3F1YXJlOiBcIlxcZjFiN1wiO1xuJGZhLXZhci1zdGVwLWJhY2t3YXJkOiBcIlxcZjA0OFwiO1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFwiXFxmMDUxXCI7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcIlxcZjBmMVwiO1xuJGZhLXZhci1zdGlja3ktbm90ZTogXCJcXGYyNDlcIjtcbiRmYS12YXItc3RpY2t5LW5vdGUtbzogXCJcXGYyNGFcIjtcbiRmYS12YXItc3RvcDogXCJcXGYwNGRcIjtcbiRmYS12YXItc3RyZWV0LXZpZXc6IFwiXFxmMjFkXCI7XG4kZmEtdmFyLXN0cmlrZXRocm91Z2g6IFwiXFxmMGNjXCI7XG4kZmEtdmFyLXN0dW1ibGV1cG9uOiBcIlxcZjFhNFwiO1xuJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGU6IFwiXFxmMWEzXCI7XG4kZmEtdmFyLXN1YnNjcmlwdDogXCJcXGYxMmNcIjtcbiRmYS12YXItc3Vid2F5OiBcIlxcZjIzOVwiO1xuJGZhLXZhci1zdWl0Y2FzZTogXCJcXGYwZjJcIjtcbiRmYS12YXItc3VuLW86IFwiXFxmMTg1XCI7XG4kZmEtdmFyLXN1cGVyc2NyaXB0OiBcIlxcZjEyYlwiO1xuJGZhLXZhci1zdXBwb3J0OiBcIlxcZjFjZFwiO1xuJGZhLXZhci10YWJsZTogXCJcXGYwY2VcIjtcbiRmYS12YXItdGFibGV0OiBcIlxcZjEwYVwiO1xuJGZhLXZhci10YWNob21ldGVyOiBcIlxcZjBlNFwiO1xuJGZhLXZhci10YWc6IFwiXFxmMDJiXCI7XG4kZmEtdmFyLXRhZ3M6IFwiXFxmMDJjXCI7XG4kZmEtdmFyLXRhc2tzOiBcIlxcZjBhZVwiO1xuJGZhLXZhci10YXhpOiBcIlxcZjFiYVwiO1xuJGZhLXZhci10ZWxldmlzaW9uOiBcIlxcZjI2Y1wiO1xuJGZhLXZhci10ZW5jZW50LXdlaWJvOiBcIlxcZjFkNVwiO1xuJGZhLXZhci10ZXJtaW5hbDogXCJcXGYxMjBcIjtcbiRmYS12YXItdGV4dC1oZWlnaHQ6IFwiXFxmMDM0XCI7XG4kZmEtdmFyLXRleHQtd2lkdGg6IFwiXFxmMDM1XCI7XG4kZmEtdmFyLXRoOiBcIlxcZjAwYVwiO1xuJGZhLXZhci10aC1sYXJnZTogXCJcXGYwMDlcIjtcbiRmYS12YXItdGgtbGlzdDogXCJcXGYwMGJcIjtcbiRmYS12YXItdGh1bWItdGFjazogXCJcXGYwOGRcIjtcbiRmYS12YXItdGh1bWJzLWRvd246IFwiXFxmMTY1XCI7XG4kZmEtdmFyLXRodW1icy1vLWRvd246IFwiXFxmMDg4XCI7XG4kZmEtdmFyLXRodW1icy1vLXVwOiBcIlxcZjA4N1wiO1xuJGZhLXZhci10aHVtYnMtdXA6IFwiXFxmMTY0XCI7XG4kZmEtdmFyLXRpY2tldDogXCJcXGYxNDVcIjtcbiRmYS12YXItdGltZXM6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLXRpbWVzLWNpcmNsZTogXCJcXGYwNTdcIjtcbiRmYS12YXItdGltZXMtY2lyY2xlLW86IFwiXFxmMDVjXCI7XG4kZmEtdmFyLXRpbnQ6IFwiXFxmMDQzXCI7XG4kZmEtdmFyLXRvZ2dsZS1kb3duOiBcIlxcZjE1MFwiO1xuJGZhLXZhci10b2dnbGUtbGVmdDogXCJcXGYxOTFcIjtcbiRmYS12YXItdG9nZ2xlLW9mZjogXCJcXGYyMDRcIjtcbiRmYS12YXItdG9nZ2xlLW9uOiBcIlxcZjIwNVwiO1xuJGZhLXZhci10b2dnbGUtcmlnaHQ6IFwiXFxmMTUyXCI7XG4kZmEtdmFyLXRvZ2dsZS11cDogXCJcXGYxNTFcIjtcbiRmYS12YXItdHJhZGVtYXJrOiBcIlxcZjI1Y1wiO1xuJGZhLXZhci10cmFpbjogXCJcXGYyMzhcIjtcbiRmYS12YXItdHJhbnNnZW5kZXI6IFwiXFxmMjI0XCI7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXCJcXGYyMjVcIjtcbiRmYS12YXItdHJhc2g6IFwiXFxmMWY4XCI7XG4kZmEtdmFyLXRyYXNoLW86IFwiXFxmMDE0XCI7XG4kZmEtdmFyLXRyZWU6IFwiXFxmMWJiXCI7XG4kZmEtdmFyLXRyZWxsbzogXCJcXGYxODFcIjtcbiRmYS12YXItdHJpcGFkdmlzb3I6IFwiXFxmMjYyXCI7XG4kZmEtdmFyLXRyb3BoeTogXCJcXGYwOTFcIjtcbiRmYS12YXItdHJ1Y2s6IFwiXFxmMGQxXCI7XG4kZmEtdmFyLXRyeTogXCJcXGYxOTVcIjtcbiRmYS12YXItdHR5OiBcIlxcZjFlNFwiO1xuJGZhLXZhci10dW1ibHI6IFwiXFxmMTczXCI7XG4kZmEtdmFyLXR1bWJsci1zcXVhcmU6IFwiXFxmMTc0XCI7XG4kZmEtdmFyLXR1cmtpc2gtbGlyYTogXCJcXGYxOTVcIjtcbiRmYS12YXItdHY6IFwiXFxmMjZjXCI7XG4kZmEtdmFyLXR3aXRjaDogXCJcXGYxZThcIjtcbiRmYS12YXItdHdpdHRlcjogXCJcXGYwOTlcIjtcbiRmYS12YXItdHdpdHRlci1zcXVhcmU6IFwiXFxmMDgxXCI7XG4kZmEtdmFyLXVtYnJlbGxhOiBcIlxcZjBlOVwiO1xuJGZhLXZhci11bmRlcmxpbmU6IFwiXFxmMGNkXCI7XG4kZmEtdmFyLXVuZG86IFwiXFxmMGUyXCI7XG4kZmEtdmFyLXVuaXZlcnNpdHk6IFwiXFxmMTljXCI7XG4kZmEtdmFyLXVubGluazogXCJcXGYxMjdcIjtcbiRmYS12YXItdW5sb2NrOiBcIlxcZjA5Y1wiO1xuJGZhLXZhci11bmxvY2stYWx0OiBcIlxcZjEzZVwiO1xuJGZhLXZhci11bnNvcnRlZDogXCJcXGYwZGNcIjtcbiRmYS12YXItdXBsb2FkOiBcIlxcZjA5M1wiO1xuJGZhLXZhci11c2Q6IFwiXFxmMTU1XCI7XG4kZmEtdmFyLXVzZXI6IFwiXFxmMDA3XCI7XG4kZmEtdmFyLXVzZXItbWQ6IFwiXFxmMGYwXCI7XG4kZmEtdmFyLXVzZXItcGx1czogXCJcXGYyMzRcIjtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFwiXFxmMjFiXCI7XG4kZmEtdmFyLXVzZXItdGltZXM6IFwiXFxmMjM1XCI7XG4kZmEtdmFyLXVzZXJzOiBcIlxcZjBjMFwiO1xuJGZhLXZhci12ZW51czogXCJcXGYyMjFcIjtcbiRmYS12YXItdmVudXMtZG91YmxlOiBcIlxcZjIyNlwiO1xuJGZhLXZhci12ZW51cy1tYXJzOiBcIlxcZjIyOFwiO1xuJGZhLXZhci12aWFjb2luOiBcIlxcZjIzN1wiO1xuJGZhLXZhci12aWRlby1jYW1lcmE6IFwiXFxmMDNkXCI7XG4kZmEtdmFyLXZpbWVvOiBcIlxcZjI3ZFwiO1xuJGZhLXZhci12aW1lby1zcXVhcmU6IFwiXFxmMTk0XCI7XG4kZmEtdmFyLXZpbmU6IFwiXFxmMWNhXCI7XG4kZmEtdmFyLXZrOiBcIlxcZjE4OVwiO1xuJGZhLXZhci12b2x1bWUtZG93bjogXCJcXGYwMjdcIjtcbiRmYS12YXItdm9sdW1lLW9mZjogXCJcXGYwMjZcIjtcbiRmYS12YXItdm9sdW1lLXVwOiBcIlxcZjAyOFwiO1xuJGZhLXZhci13YXJuaW5nOiBcIlxcZjA3MVwiO1xuJGZhLXZhci13ZWNoYXQ6IFwiXFxmMWQ3XCI7XG4kZmEtdmFyLXdlaWJvOiBcIlxcZjE4YVwiO1xuJGZhLXZhci13ZWl4aW46IFwiXFxmMWQ3XCI7XG4kZmEtdmFyLXdoYXRzYXBwOiBcIlxcZjIzMlwiO1xuJGZhLXZhci13aGVlbGNoYWlyOiBcIlxcZjE5M1wiO1xuJGZhLXZhci13aWZpOiBcIlxcZjFlYlwiO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXCJcXGYyNjZcIjtcbiRmYS12YXItd2luZG93czogXCJcXGYxN2FcIjtcbiRmYS12YXItd29uOiBcIlxcZjE1OVwiO1xuJGZhLXZhci13b3JkcHJlc3M6IFwiXFxmMTlhXCI7XG4kZmEtdmFyLXdyZW5jaDogXCJcXGYwYWRcIjtcbiRmYS12YXIteGluZzogXCJcXGYxNjhcIjtcbiRmYS12YXIteGluZy1zcXVhcmU6IFwiXFxmMTY5XCI7XG4kZmEtdmFyLXktY29tYmluYXRvcjogXCJcXGYyM2JcIjtcbiRmYS12YXIteS1jb21iaW5hdG9yLXNxdWFyZTogXCJcXGYxZDRcIjtcbiRmYS12YXIteWFob286IFwiXFxmMTllXCI7XG4kZmEtdmFyLXljOiBcIlxcZjIzYlwiO1xuJGZhLXZhci15Yy1zcXVhcmU6IFwiXFxmMWQ0XCI7XG4kZmEtdmFyLXllbHA6IFwiXFxmMWU5XCI7XG4kZmEtdmFyLXllbjogXCJcXGYxNTdcIjtcbiRmYS12YXIteW91dHViZTogXCJcXGYxNjdcIjtcbiRmYS12YXIteW91dHViZS1wbGF5OiBcIlxcZjE2YVwiO1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXCJcXGYxNjZcIjtcblxuIiwiLy8gQm9yZGVyZWQgJiBQdWxsZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlciB7XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG4gIGJvcmRlcjogc29saWQgLjA4ZW0gJGZhLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogLjFlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IG1hcmdpbi1yaWdodDogLjNlbTsgfVxuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBtYXJnaW4tbGVmdDogLjNlbTsgfVxufVxuXG4vKiBEZXByZWNhdGVkIGFzIG9mIDQuNC4wICovXG4ucHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuLnB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gICYucHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYucHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBTcGlubmluZyBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG5cbi8vIEhvb2sgZm9yIElFOC05XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTE4MCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMjcwLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsIHtcbiAgZmlsdGVyOiBub25lO1xufVxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbigpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAjeyRmYS1mb250LXNpemUtYmFzZX0vI3skZmEtbGluZS1oZWlnaHQtYmFzZX0gRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG59XG5cbkBtaXhpbiBmYS1pY29uLXJvdGF0ZSgkZGVncmVlcywgJHJvdGF0aW9uKSB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cblxuQG1peGluIGZhLWljb24tZmxpcCgkaG9yaXosICR2ZXJ0LCAkcm90YXRpb24pIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0jeyRyb3RhdGlvbn0pO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xufVxuIiwiLy8gU3RhY2tlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMXgsIC4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCB7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMnggeyBmb250LXNpemU6IDJlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludmVyc2UgeyBjb2xvcjogJGZhLWludmVyc2U7IH1cbiIsIi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxuICAgcmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2xhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW11c2ljOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VhcmNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGFyZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aC1sYXJnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGgtbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW1vdmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3NlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWFyY2gtcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1taW51czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlYXJjaC1taW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvd2VyLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBvd2VyLW9mZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ25hbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlYXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFzaC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvbWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kb3dubG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5ib3g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheS1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS1yaWdodDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVwZWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVwZWF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVmcmVzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZnJlc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3QtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRwaG9uZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFkcGhvbmVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS1vZmY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXJjb2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyY29kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhcmNvZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWdzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFnczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rbWFyazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcHJpbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYW1lcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9udDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib2xkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRhbGljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaXRhbGljOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC1oZWlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXh0LWhlaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRleHQtd2lkdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXh0LXdpZHRoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbGlnbi1jZW50ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tanVzdGlmeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWp1c3RpZnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZGVudDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tb3V0ZGVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW91dGRlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmRlbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmRlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWRlby1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWRlby1jYW1lcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG90bzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taW1hZ2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpY3R1cmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpY3R1cmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtbWFya2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRqdXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRqdXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGludDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGl0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wZW5jaWwtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVwLWJhY2t3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhc3QtYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhY2t3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0b3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhc3QtZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZXAtZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWplY3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aW1lcy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZm8tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3NoYWlyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyb3NzaGFpcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtZm9yd2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4cGFuZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tcHJlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3RlcmlzazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFzdGVyaXNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGVhZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllLXNsYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FybmluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxhbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFuZG9tOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmFuZG9tOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWduZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWduZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJldHdlZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXR3ZWV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctY2FydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNob3BwaW5nLWNhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vcGVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtdjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1oOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzLWg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXItY2hhcnQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmFyLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFyLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0dGVyLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbWVyYS1yZXRybzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbWVyYS1yZXRybzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtleTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlYXJzOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jb2dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29nczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyLWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tb3V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbi1vdXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5rZWRpbi1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYi10YWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWItdGFjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHRlcm5hbC1saW5rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1pbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ24taW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cm9waHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cm9waHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0aHViLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVwbG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlbW9uLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZW1vbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rbWFyay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9va21hcmstbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBob25lLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0dGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stZjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYWNlYm9vazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGh1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVubG9jazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWRpdC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3JlZGl0LWNhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWVkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZGQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhkZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbGhvcm46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWxsaG9ybjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VydGlmaWNhdGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jZXJ0aWZpY2F0ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdsb2JlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3JlbmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd3JlbmNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFza3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YXNrczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbHRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbHRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJyaWVmY2FzZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JvdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGluazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb3VkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhc2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFzazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1dDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2Npc3NvcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zY2lzc29yczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlcy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXJjbGlwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFwZXJjbGlwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F2ZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmxvcHB5LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbG9wcHktbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5hdmljb246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlb3JkZXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC11bDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3QtdWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LW9sOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC1vbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlrZXRocm91Z2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHJpa2V0aHJvdWdoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kZXJsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5kZXJsaW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ2ljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFnaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRydWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGludGVyZXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb25leTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbHVtbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2x1bW5zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5zb3J0ZWQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1kb3duOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LXVwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZlbG9wZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlua2VkaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtbGVmdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdW5kbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuZG87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWdhbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYXZlbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhc2hib2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGFjaG9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhY2hvbWV0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50cy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudHMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNoOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ib2x0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9sdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGVtYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaXRlbWFwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmVsbGE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bWJyZWxsYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbGlwYm9hcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodGJ1bGItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpZ2h0YnVsYi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNoYW5nZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvdWQtZG93bmxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG91ZC11cGxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW1kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1tZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXRob3Njb3BlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RldGhvc2NvcGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWl0Y2FzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1aXRjYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29mZmVlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0bGVyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWN1dGxlcnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXRleHQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtdGV4dC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmctbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1aWxkaW5nLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG9zcGl0YWwtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYnVsYW5jZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFtYnVsYW5jZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lZGtpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlnaHRlci1qZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWgtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdXMtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXNrdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGVza3RvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhcHRvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhYmxldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vYmlsZS1waG9uZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9iaWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdW90ZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdW90ZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcGlubmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1yZXBseTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVwbHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBseTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRodWItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXItb3Blbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNtaWxlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZnJvd24tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYW1lcGFkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2FtZXBhZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWJvYXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1rZXlib2FyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhZy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnLWNoZWNrZXJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlcm1pbmFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGVybWluYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtcmVwbHktYWxsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseS1hbGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBseS1hbGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1mdWxsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItaGFsZi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb2NhdGlvbi1hcnJvdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcm9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZS1mb3JrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZS1mb3JrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5saW5rOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbi1icm9rZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGFpbi1icm9rZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1ZXN0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2xhbWF0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdXBlcnNjcmlwdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1YnNjcmlwdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVyYXNlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVyYXNlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1enpsZS1waWVjZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXB1enpsZS1waWVjZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taWNyb3Bob25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGllbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGllbGQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2NrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yb2NrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXhjZG46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXhjZG47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odG1sNTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWh0bWw1OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNzczM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmNob3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmNob3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxvY2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5sb2NrLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxzZXllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVsbHNleWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy1oOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWxsaXBzaXMtaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbGxpcHNpcy12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnNzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJzcy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYXktY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGlja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXMtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGV2ZWwtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGV2ZWwtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wZW5jaWwtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21wYXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLWRvd246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLXVwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLXJpZ2h0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXVybzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZXVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2JwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2JwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11c2Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydXBlZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taW5yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY255OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ybWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tanB5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItanB5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVibGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdWJsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcnViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcnViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29uOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1rcnc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1rcnc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRjb2luOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1idGM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idGM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtdGV4dDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbHBoYS1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFscGhhLWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFtb3VudC1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbW91bnQtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14aW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmctc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteGluZy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXBsYXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15b3V0dWJlLXBsYXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJvcGJveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RhY2stb3ZlcmZsb3c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbnN0YWdyYW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlja3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGlja3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZG46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZG47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXRidWNrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYml0YnVja2V0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR1bWJscjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJsci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10dW1ibHItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXBwbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZHJvaWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmRyb2lkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGludXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW51eDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyaWJiYmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJpYmJibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3lwZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNreXBlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvdXJzcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVsbG86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmVsbG87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mZW1hbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdHRpcDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdGlwYXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmF0aXBheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3VuLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb29uLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb29uLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJjaGl2ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1ZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1ZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWlibzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdlaWJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVucmVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVucmVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFnZWxpbmVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFjay1leGNoYW5nZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1sZWZ0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdC1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRvdC1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aGVlbGNoYWlyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW8tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmltZW8tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVya2lzaC1saXJhOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10cnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwYWNlLXNodXR0bGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcGFjZS1zaHV0dGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGFjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvcmRwcmVzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdvcmRwcmVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wZW5pZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RpdHV0aW9uOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5rOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzaXR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5pdmVyc2l0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vcnRhci1ib2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmFkdWF0aW9uLWNhcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhaG9vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteWFob287IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVkZGl0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3R1bWJsZXVwb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWxpY2lvdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZWxpY2lvdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGlnZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWVkLXBpcGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWVkLXBpcGVyLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRydXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWpvb21sYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFuZ3VhZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYXg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1aWxkaW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hpbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGlsZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwb29uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Bvb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3ViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3ViZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVoYW5jZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVoYW5jZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZWFtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlYW0tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdXRvbW9iaWxlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRheGk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YXhpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJlZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3BvdGlmeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRldmlhbnRhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZXZpYW50YXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc291bmRjbG91ZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvdW5kY2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXRhYmFzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRhdGFiYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wZGYtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtcGRmLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXdvcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtd29yZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leGNlbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1leGNlbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wb3dlcnBvaW50LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXBvd2VycG9pbnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGhvdG8tbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1waWN0dXJlLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1hZ2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtaW1hZ2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtemlwLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXJjaGl2ZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1hcmNoaXZlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXNvdW5kLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXVkaW8tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtYXVkaW8tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbW92aWUtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlby1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS12aWRlby1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1jb2RlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWNvZGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZXBlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZGVwZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qc2ZpZGRsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWpzZmlkZGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1ib3V5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLWJ1b3k6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtc2F2ZXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cHBvcnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtcmluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpZmUtcmluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS1vLW5vdGNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlLW8tbm90Y2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmViZWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWJlbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1lbXBpcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbXBpcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXljLXNxdWFyZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYWNrZXItbmV3czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbmNlbnQtd2VpYm86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZW5jZW50LXdlaWJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xcTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlY2hhdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0td2VpeGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2VpeGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VuZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXBlci1wbGFuZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcGVyLXBsYW5lLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXN0b3J5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGlzdG9yeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS10aGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlLXRoaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJhZ3JhcGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXJhZ3JhcGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGlkZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2xpZGVyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvbWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2NjZXItYmFsbC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2wtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZ1dGJvbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpbm9jdWxhcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1ZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlc2hhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGlkZXNoYXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHdpdGNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWVscDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXllbHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXdzcGFwZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW5ld3NwYXBlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lmaTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpZmk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsY3VsYXRvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBheXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS13YWxsZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGUtd2FsbGV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtdmlzYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXZpc2E7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtbWFzdGVyY2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpc2NvdmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtZGlzY292ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hbWV4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtYW1leDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXBheXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXN0cmlwZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLXNsYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zbGFzaC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbC1zbGFzaC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHlyaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvcHlyaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWVkcm9wcGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllZHJvcHBlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFpbnQtYnJ1c2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmlydGhkYXktY2FrZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyZWEtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcmVhLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluZS1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbmUtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYXN0Zm07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFzdGZtLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1vZmY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10b2dnbGUtb2ZmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdG9nZ2xlLW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmljeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pb3hob3N0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW94aG9zdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2VsbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGVrZWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoZXFlbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taWxzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaWxzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVhbnBhdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWFucGF0aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1eXNlbGxhZHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idXlzZWxsYWRzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb25uZWN0ZGV2ZWxvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhc2hjdWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGFzaGN1YmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J1bWJlZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvcnVtYmVlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhbnB1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxlYW5wdWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWxsc3k6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWxsc3k7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlydHNpbmJ1bGs6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGlydHNpbmJ1bGs7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaW1wbHlidWlsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpbXBseWJ1aWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5YXRsYXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1za3lhdGxhczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcnQtcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcnQtYXJyb3ctZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYW1vbmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kaWFtb25kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNlY3JldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItc2VjcmV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW90b3JjeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vdG9yY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJlZXQtdmlldzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0cmVldC12aWV3OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnRiZWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnRiZWF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12ZW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVyY3VyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lcmN1cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcnNleDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFuc2dlbmRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZlbnVzLWRvdWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1kb3VibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51cy1tYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmVudXMtbWFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1zdHJva2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS12OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1zdHJva2UtdjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZS1oOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV1dGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbmV1dGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VuZGVybGVzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdlbmRlcmxlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rLW9mZmljaWFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waW50ZXJlc3QtcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoYXRzYXBwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2hhdHNhcHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZXJ2ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZXJ2ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci10aW1lczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGVsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFjb2luOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmlhY29pbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWJ3YXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdWJ3YXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRpdW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWRpdW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteS1jb21iaW5hdG9yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3B0aW4tbW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wdGluLW1vbnN0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcGVuY2FydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wZW5jYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwZWRpdGVkc3NsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhwZWRpdGVkc3NsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS00OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LWZ1bGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0yOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktcXVhcnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktcXVhcnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktZW1wdHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW91c2UtcG9pbnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWktY3Vyc29yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaS1jdXJzb3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtZ3JvdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vYmplY3QtZ3JvdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtdW5ncm91cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9iamVjdC11bmdyb3VwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RpY2t5LW5vdGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGlja3ktbm90ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGlja3ktbm90ZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtamNiOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtamNiOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGluZXJzLWNsdWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1kaW5lcnMtY2x1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb25lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWxhbmNlLXNjYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFsYW5jZS1zY2FsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLXN0YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLXN0YXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWVuZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzcy1lbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWdyYWItbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1yb2NrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXJvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3RvcC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBhcGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNjaXNzb3JzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXNjaXNzb3JzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWxpemFyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1saXphcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3BvY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtc3BvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnRlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1wb2ludGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBlYWNlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBlYWNlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFkZW1hcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFkZW1hcms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWdpc3RlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVnaXN0ZXJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdnLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdnLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyaXBhZHZpc29yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJpcGFkdmlzb3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2Rub2tsYXNzbmlraTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZXQtcG9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2V0LXBvY2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpa2lwZWRpYS13OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2lraXBlZGlhLXc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWZhcmk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zYWZhcmk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHJvbWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaHJvbWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlZm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyZWZveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHY6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGV2aXNpb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZWxldmlzaW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29udGFvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29udGFvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNTAwcHg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci01MDBweDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYXpvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFtYXpvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLXBsdXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW1pbnVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1taW51cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLXRpbWVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1jaGVjay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItY2hlY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZHVzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5kdXN0cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtcGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLXBpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1zaWduczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1zaWduczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50aW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRpbmctbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnRpbmctbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXp6OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91eno7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpbWVvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxhY2stdGllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmxhY2stdGllOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udGljb25zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9udGljb25zOyB9XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLmVvdD8xcm8zdHcnKTtcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLmVvdD8xcm8zdHcjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnLi4vZm9udHMvaWNvbW9vbi53b2ZmMj8xcm8zdHcnKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvaWNvbW9vbi50dGY/MXJvM3R3JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJy4uL2ZvbnRzL2ljb21vb24ud29mZj8xcm8zdHcnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcuLi9mb250cy9pY29tb29uLnN2Zz8xcm8zdHcjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmljbyB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY28tc2hvdy1uYW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuLmljby1vYmplY3QtYXJyb3ctYm9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNiXCI7XG59XG4uaWNvLW9iamVjdC1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZFwiO1xufVxuLmljby1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG4uaWNvLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ0XCI7XG59XG4uaWNvLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU0XCI7XG59XG4uaWNvLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cbi5pY28tYXJyb3ctdXAtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1NVwiO1xufVxuLmljby1hcnJvdy1sZWZ0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI3XCI7XG59XG4uaWNvLWFycm93LWFyci1yaWdodC1idG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cbi5pY28tcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuLmljby1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyZVwiO1xufVxuLmljby16b29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJkXCI7XG59XG4uaWNvLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG59XG4uaWNvLXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NWJcIjtcbn1cbi5pY28tZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTFcIjtcbn1cbi5pY28tdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU2XCI7XG59XG4uaWNvLWdlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTJcIjtcbn1cbi5pY28tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ5XCI7XG59XG4uaWNvLXdhdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVhXCI7XG59XG4uaWNvLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTlcIjtcbn1cbi5pY28tbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjlcIjtcbn1cbi5pY28tY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG59XG4uaWNvLXN0cmVldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZlwiO1xufVxuLmljby1yZXBvcnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQzXCI7XG59XG4uaWNvLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNFwiO1xufVxuLmljby1ncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMVwiO1xufVxuLmljby1mb2xsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTVcIjtcbn1cbi5pY28tdHJhZmZpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyY1wiO1xufVxuLmljby1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ4XCI7XG59XG4uaWNvLXRvb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzdcIjtcbn1cbi5pY28tcnVsZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDZcIjtcbn1cbi5pY28tcnVsZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0N1wiO1xufVxuLmljby1nZWFyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzZcIjtcbn1cbi5pY28tc2Vuc29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG59XG4uaWNvLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOFwiO1xufVxuLmljby1ob3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0YlwiO1xufVxuLmljby1wb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZFwiO1xufVxuLmljby1sb2dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMyXCI7XG59XG4uaWNvLW9wdGlvbnMtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzYVwiO1xufVxuLmljby1vcHRpb25zLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDFcIjtcbn1cbi5pY28tc3R5bGl6ZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUwXCI7XG59XG4uaWNvLXN0eWxpemUtMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1MVwiO1xufVxuLmljby1kZXRhaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG4uaWNvLWFjY291bnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzlcIjtcbn1cbi5pY28tdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzOFwiO1xufVxuLmljby11c2VyLWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1N1wiO1xufVxuLmljby11c2VyLXNldHRpbmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU4XCI7XG59XG4uaWNvLW9iamVjdC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG59XG4uaWNvLW9iamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzNFwiO1xufVxuLmljby1vYmplY3QtYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNlXCI7XG59XG4uaWNvLW9iamVjdC1pbXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjBcIjtcbn1cbi5pY28tc2hvdy1uYW1lczI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGNcIjtcbn1cbi5pY28tc2hvdy10cmFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuLmljby1maXRib3VuZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzVcIjtcbn1cbi5pY28tZ3JvdXBpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2NcIjtcbn1cbi5pY28tcG9pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMzXCI7XG59XG4uaWNvLXBvaS1pbXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTdcIjtcbn1cbi5pY28tYWRkLWV2ZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG4uaWNvLWV2ZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMxXCI7XG59XG4uaWNvLWV2ZW50LWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiO1xufVxuLmljby1nZW9mZW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYlwiO1xufVxuLmljby1nZW9mZW5jZS1pbXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjVcIjtcbn1cbi5pY28tcGFya2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MFwiO1xufVxuLmljby10aW1lLXRvZGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFmXCI7XG59XG4uaWNvLXRpbWUtaG91cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMlwiO1xufVxuLmljby10aW1lLXllc3RlcmRheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyM1wiO1xufVxuLmljby1nc20tMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOVwiO1xufVxuLmljby1nc20tMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYVwiO1xufVxuLmljby1nc20tMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYlwiO1xufVxuLmljby1nc20tMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxY1wiO1xufVxuLmljby1nc20tNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZFwiO1xufVxuLmljby1nc20tNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZVwiO1xufVxuLmljby1iYXR0ZXJ5LTA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cbi5pY28tYmF0dGVyeS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG4uaWNvLWJhdHRlcnktMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOFwiO1xufVxuLmljby1iYXR0ZXJ5LTM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDlcIjtcbn1cbi5pY28tYmF0dGVyeS00OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG59XG4uaWNvLWJhdHRlcnktNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuLmljby1lbmdpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTNcIjtcbn1cbi5pY28taWduaXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjRcIjtcbn1cbi5pY28tZnVlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiO1xufVxuLmljby1vZG9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZlwiO1xufVxuLmljby1iYXR0ZXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG4uaWNvLXJwbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NVwiO1xufVxuLmljby1zcGVlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZVwiO1xufVxuLmljby10YWNob21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUyXCI7XG59XG4uaWNvLXRlbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTNcIjtcbn1cbi5pY28tZG9vcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjBcIjtcbn1cbi5pY28tY3B1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI4XCI7XG59XG4uaWNvLWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJmXCI7XG59XG4uaWNvLXJhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MlwiO1xufVxuLmljby1jb25uZWN0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGFcIjtcbn1cbi5pY28tZGlzY29ubmVjdGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVjXCI7XG59XG4uaWNvLXNvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZFwiO1xufVxuLmljby16b25laW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NWVcIjtcbn1cbi5pY28tem9uZW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZlwiO1xufVxuLmljby1sb2dpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYxXCI7XG59XG4uaWNvLWVuZ2luZS1ob3VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2MlwiO1xufVxuLmljby1zZWF0YmVsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2M1wiO1xufVxuLmljby10ZXh0dWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY0XCI7XG59XG4uaWNvLWxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjVcIjtcbn0iLCIvL1xuLy8gQ2hlY2tib3hlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBjaGVja2JveC12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGxhYmVsOiAnbGFiZWwnKSB7XG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAjeyRsYWJlbH0sXG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAjeyRsYWJlbH0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogJGNoZWNrYm94LWFjdGl2ZS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgJjo6YWZ0ZXJ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBAaWYgJGNoZWNrYm94LWFjdGl2ZS1ib3JkZXItY29sb3Itc2FtZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY2hlY2tib3gtY29udGFpbmVyKCRzZWxlY3Rvcikge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6ICgkY2hlY2tib3gtc2l6ZSAtIDMpO1xuICAgICAgICBoZWlnaHQ6ICgkY2hlY2tib3gtc2l6ZSAtIDMpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrYm94LWJhY2tncm91bmQtY29sb3I7XG5cbiAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBwYWRkaW5nOiAkY2hlY2tib3gtcGFkZGluZztcbiAgICAgICAgZm9udC1zaXplOiAkY2hlY2tib3gtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGNoZWNrYm94LWZvbnQtd2VpZ2h0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNoZWNrYm94LWJvcmRlci1yYWRpdXM7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXIgMC4xNXMgZWFzZS1pbi1vdXQsIGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogJGNoZWNrYm94LXNpemU7XG4gICAgICAgIGhlaWdodDogJGNoZWNrYm94LXNpemU7XG4gICAgICAgIGNvbnRlbnQ6ICdcXDAwMDAnO1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaGVja2JveC1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaGVja2JveC1ib3JkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbn1cbkBtaXhpbiBjaGVja2JveC1jaGVja2VkKCRzZWxlY3Rvcil7XG4gICN7JHNlbGVjdG9yfTo6YmVmb3Jle1xuICAgIGZvbnQtZmFtaWx5OiAkY2hlY2tib3gtZm9udC1mYW1pbHk7XG4gICAgY29udGVudDogJGNoZWNrYm94LWNoZWNrLWljb247XG4gIH1cbn1cblxuQG1peGluIGNoZWNrYm94KCRwYXJlbnQsICRsYWJlbCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgQGluY2x1ZGUgY2hlY2tib3gtY29udGFpbmVyKCRsYWJlbCk7XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICY6Zm9jdXMgKyAjeyRsYWJlbH06OmJlZm9yZSB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWNoZWNrZWQoJyY6Y2hlY2tlZCArICN7JGxhYmVsfScpO1xuXG4gICAgICAmOmNoZWNrZWQ6ZGlzYWJsZWQgKyAjeyRsYWJlbH06OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgICY6ZGlzYWJsZWQgKyAjeyRsYWJlbH0ge1xuICAgICAgICBvcGFjaXR5OiAwLjQ1O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYuY2hlY2tib3gtaW5saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHJhZGlvLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cInJhZGlvXCJde1xuICAgICsgbGFiZWx7XG4gICAgICAmOjphZnRlcntcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgICY6Y2hlY2tlZCArIGxhYmVse1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcImJvb3RzdHJhcC1jaGVja2JveC1taXhpbnNcIjtcblxuQGluY2x1ZGUgY2hlY2tib3goJy5jaGVja2JveCcsICdsYWJlbCcpO1xuQGluY2x1ZGUgY2hlY2tib3goJy5jaGVja2JveC1pbmxpbmUnLCAnbGFiZWwnKTtcblxuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgnLmNoZWNrYm94LWlubGluZScsICRjaGVja2JveC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3gnLCAkY2hlY2tib3gtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgnLmNoZWNrYm94LXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3gtZGFuZ2VyJywgICRicmFuZC1kYW5nZXIpO1xuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgnLmNoZWNrYm94LWluZm8nLCAgICAkYnJhbmQtaW5mbyk7XG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3gtd2FybmluZycsICRicmFuZC13YXJuaW5nKTtcbkBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJy5jaGVja2JveC1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG4uY2hlY2tib3gsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgJi5jaGVja2JveC1sZyB7XG4gICAgbGFiZWx7XG4gICAgICAmOjpiZWZvcmV7XG4gICAgICAgIHdpZHRoOiAoJGNoZWNrYm94LXNpemUgKyAxMCAtIDIpO1xuICAgICAgICBoZWlnaHQ6ICgkY2hlY2tib3gtc2l6ZSArIDEwIC0gMik7XG4gICAgICAgIGZvbnQtc2l6ZTogKCRjaGVja2JveC1mb250LXNpemUgKyAxMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY2hlY2tib3gtZm9udC13ZWlnaHQ7XG4gICAgICB9XG4gICAgICAmOjphZnRlcntcbiAgICAgICAgd2lkdGg6ICgkY2hlY2tib3gtc2l6ZSArIDEwKTtcbiAgICAgICAgaGVpZ2h0OiAoJGNoZWNrYm94LXNpemUgKyAxMCk7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cblxuLnJhZGlvLFxuLnJhZGlvLWlubGluZSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vZGlzcGxheTogYmxvY2s7XG4gIC8vbWFyZ2luOiAwIDAgNXB4IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICBsYWJlbHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG5cbiAgICAmOjpiZWZvcmV7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAoJGNoZWNrYm94LXNpemUgLSA2KTtcbiAgICAgIGhlaWdodDogKCRjaGVja2JveC1zaXplIC0gNik7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrYm94LWJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgIG1hcmdpbjogM3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAgIC8vQGluY2x1ZGUgc2NhbGUoMCwgMCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRyYW5zZm9ybSguMXMgY3ViaWMtYmV6aWVyKC44LC0wLjMzLC4yLDEuMzMpKTtcbiAgICB9XG5cbiAgICAmOjphZnRlcntcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIHdpZHRoOiAkY2hlY2tib3gtc2l6ZTtcbiAgICAgIGhlaWdodDogJGNoZWNrYm94LXNpemU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hlY2tib3gtYm9yZGVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrYm94LWJhY2tncm91bmQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyIDAuMTVzIGVhc2UtaW4tb3V0KTtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl17XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICY6Zm9jdXMgKyBsYWJlbDo6YmVmb3Jle1xuICAgICAgLy9AaW5jbHVkZSB0YWItZm9jdXMoKTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkICsgbGFiZWw6OmJlZm9yZXtcbiAgICAgIC8vQGluY2x1ZGUgc2NhbGUoMSwgMSk7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCArIGxhYmVse1xuICAgICAgb3BhY2l0eTogMC42NTtcblxuICAgICAgJjo6YmVmb3Jle1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYucmFkaW8taW5saW5le1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvLWlubGluZScsICRicmFuZC1wcmltYXJ5KTtcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpbycsICRicmFuZC1wcmltYXJ5KTtcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpby1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvLWRhbmdlcicsICAkYnJhbmQtZGFuZ2VyKTtcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpby1pbmZvJywgICAgJGJyYW5kLWluZm8pO1xuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvLXdhcm5pbmcnLCAkYnJhbmQtd2FybmluZyk7XG5AaW5jbHVkZSByYWRpby12YXJpYW50KCcucmFkaW8tc3VjY2VzcycsICRicmFuZC1zdWNjZXNzKTtcblxuXG4iLCIvKiFcbiAqIERhdGVwaWNrZXIgZm9yIEJvb3RzdHJhcFxuICpcbiAqIENvcHlyaWdodCAyMDEyIFN0ZWZhbiBQZXRyZVxuICogSW1wcm92ZW1lbnRzIGJ5IEFzaGxleSBOb3Zha1xuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlIHYyLjBcbiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqL1xuXG5AbWl4aW4gZGF0ZXBpY2tlci1idXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kOy8vZGFya2VuKCRiYWNrZ3JvdW5kLCA4JSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgfVxuXG4gICY6aG92ZXJ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDglKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG59XG5cbi5kYXRlcGlja2VyIHtcbiAgLy9wYWRkaW5nOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICYuZGF0ZXBpY2tlci1pbmxpbmUge1xuICAgIHdpZHRoOiAyMjBweDtcbiAgfVxuICAmLmRhdGVwaWNrZXItZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXItbGVmdDogICA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6ICA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcbiAgICAgIGJvcmRlci10b3A6ICAgIDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZHJvcGRvd24tYm9yZGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYm9yZGVyLWxlZnQ6ICAgNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAgNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRkcm9wZG93bi1iZztcbiAgICAgIGJvcmRlci10b3A6ICAgIDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgICYuZGF0ZXBpY2tlci1vcmllbnQtbGVmdDpiZWZvcmUgICB7IGxlZnQ6IDZweDsgfVxuICAgICYuZGF0ZXBpY2tlci1vcmllbnQtbGVmdDphZnRlciAgICB7IGxlZnQ6IDdweDsgfVxuICAgICYuZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQ6YmVmb3JlICB7IHJpZ2h0OiA2cHg7IH1cbiAgICAmLmRhdGVwaWNrZXItb3JpZW50LXJpZ2h0OmFmdGVyICAgeyByaWdodDogN3B4OyB9XG4gICAgJi5kYXRlcGlja2VyLW9yaWVudC1ib3R0b206YmVmb3JlIHsgdG9wOiAtN3B4OyB9XG4gICAgJi5kYXRlcGlja2VyLW9yaWVudC1ib3R0b206YWZ0ZXIgIHsgdG9wOiAtNnB4OyB9XG4gICAgJi5kYXRlcGlja2VyLW9yaWVudC10b3A6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogICAgICAgIC03cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcDogICAgN3B4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG4gICAgfVxuICAgICYuZGF0ZXBpY2tlci1vcmllbnQtdG9wOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogICAgICAgIC02cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcDogICAgNnB4IHNvbGlkICRkcm9wZG93bi1iZztcbiAgICB9XG4gIH1cbiAgPmRpdiB7XG4gICAgLy9kaXNwbGF5OiBub25lO1xuICB9XG4gICYuZGF5cyBkaXYuZGF0ZXBpY2tlci1kYXlzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAmLm1vbnRocyBkaXYuZGF0ZXBpY2tlci1tb250aHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICYueWVhcnMgZGl2LmRhdGVwaWNrZXIteWVhcnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIHRhYmxle1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHIge1xuICAgICAgdGQsIHRoIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIElubGluZSBkaXNwbGF5IGluc2lkZSBhIHRhYmxlIHByZXNlbnRzIHNvbWUgcHJvYmxlbXMgd2l0aFxuICAvLyBib3JkZXIgYW5kIGJhY2tncm91bmQgY29sb3JzLlxuICAudGFibGUtc3RyaXBlZCAmIHRhYmxlIHRyIHtcbiAgICB0ZCwgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbiAgdGFibGUgdHIgdGQge1xuICAgICYuZGF5OmhvdmVyLCAmLmRheS5mb2N1c2VkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICYub2xkLFxuICAgICYubmV3IHtcbiAgICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICAgICYuZGlzYWJsZWQsXG4gICAgJi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gICAgJi50b2RheSxcbiAgICAmLnRvZGF5OmhvdmVyLFxuICAgICYudG9kYXkuZGlzYWJsZWQsXG4gICAgJi50b2RheS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAkdG9kYXktYmc6ICRicmFuZC1pbmZvO1xuICAgICAgQGluY2x1ZGUgZGF0ZXBpY2tlci1idXR0b24tdmFyaWFudCgkZ3JheS1kYXJrLCAkdG9kYXktYmcsIGRhcmtlbigkdG9kYXktYmcsIDIwJSkpO1xuICAgIH1cbiAgICAmLnRvZGF5OmhvdmVyOmhvdmVyIHsgLy8gVGhhbmsgYm9vdHN0cmFwIDIuMCBmb3IgdGhpcyBzZWxlY3Rvci4uLlxuICAgICAgLy8gVE9ETzogQnVtcCBtaW4gQlMgdG8gMi4xLCB1c2UgJHRleHRDb2xvciBpbiBidXR0b25CYWNrZ3JvdW5kIGFib3ZlXG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG4gICAgJi50b2RheS5hY3RpdmU6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgICYucmFuZ2UsXG4gICAgJi5yYW5nZTpob3ZlcixcbiAgICAmLnJhbmdlLmRpc2FibGVkLFxuICAgICYucmFuZ2UuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDokZ3JheS1saWdodGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgJi5yYW5nZS50b2RheSxcbiAgICAmLnJhbmdlLnRvZGF5OmhvdmVyLFxuICAgICYucmFuZ2UudG9kYXkuZGlzYWJsZWQsXG4gICAgJi5yYW5nZS50b2RheS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAkdG9kYXktYmc6ICRicmFuZC1pbmZvO1xuICAgICAgQGluY2x1ZGUgZGF0ZXBpY2tlci1idXR0b24tdmFyaWFudCgjMDAwLCAkdG9kYXktYmcsIGRhcmtlbigkdG9kYXktYmcsIDIwJSkpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgJi5zZWxlY3RlZCxcbiAgICAmLnNlbGVjdGVkOmhvdmVyLFxuICAgICYuc2VsZWN0ZWQuZGlzYWJsZWQsXG4gICAgJi5zZWxlY3RlZC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBkYXRlcGlja2VyLWJ1dHRvbi12YXJpYW50KCNmZmYsICRncmF5LWxpZ2h0LCAkZ3JheSk7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSxcbiAgICAmLmFjdGl2ZTpob3ZlcixcbiAgICAmLmFjdGl2ZS5kaXNhYmxlZCxcbiAgICAmLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBkYXRlcGlja2VyLWJ1dHRvbi12YXJpYW50KCNmZmYsICRicmFuZC1wcmltYXJ5LCAkYnJhbmQtcHJpbWFyeSk7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIzJTtcbiAgICAgIGhlaWdodDogNTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDElO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xuICAgICAgfVxuICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICYuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICAgJi5hY3RpdmUuZGlzYWJsZWQsXG4gICAgICAmLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGRhdGVwaWNrZXItYnV0dG9uLXZhcmlhbnQoJGJ0bi1wcmltYXJ5LWNvbG9yLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1ib3JkZXIpO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuICAgICAgfVxuICAgICAgJi5vbGQsXG4gICAgICAmLm5ldyB7XG4gICAgICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGguZGF0ZXBpY2tlci1zd2l0Y2gge1xuICAgIHdpZHRoOiAxNDVweDtcbiAgfVxuXG4gIC5kYXRlcGlja2VyLXN3aXRjaCxcbiAgLm5leHQsXG4gIC5wcmV2LFxuICB0Zm9vdCB0ciB0aCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xuICAgIH1cbiAgfVxuXG4gIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLFxuICB0Zm9vdCB0ciB0aCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAmOmhvdmVye1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbiAgICB9XG4gIH1cbiAgLyouZG93IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xuICB9Ki9cblxuICAvLyBCYXNpYyBzdHlsaW5nIGZvciBjYWxlbmRhci13ZWVrIGNlbGxzXG4gIC5jdyB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIHBhZGRpbmc6IDAgMnB4IDAgNXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGguY3cge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLmlucHV0LWdyb3VwIHtcbiAgJi5kYXRlIHtcbiAgICAuaW5wdXQtZ3JvdXAtYWRkb24gaSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICB9XG4gIH1cbn1cbi5pbnB1dC1kYXRlcmFuZ2Uge1xuICBpbnB1dCB7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIH1cbiAgaW5wdXQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4O1xuICB9XG4gIGlucHV0Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwO1xuICB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAxNnB4O1xuICAgIHBhZGRpbmc6IDRweCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gICAgYm9yZGVyOiBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDA7XG4gICAgbWFyZ2luLWxlZnQ6LTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6LTVweDtcbiAgfVxufSIsIiRkdHAtdG9kYXktYmc6ICRicmFuZC1pbmZvO1xuJGR0cC10b2RheS1jb2xvcjogJGdyYXktZGFyaztcbiRkdHAtdG9kYXktYm9yZGVyOiBkYXJrZW4oJGR0cC10b2RheS1iZywgMjAlKTtcblxuLmRhdGV0aW1lcGlja2VyIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAmOm5vdCguZm9ybS1jb250cm9sKSB7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgIH1cbiAgICAmLmRhdGV0aW1lcGlja2VyLXJ0bCB7XG4gICAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi5taW51dGVzIHtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICYuZGF0ZXRpbWVwaWNrZXItbWludXRlcyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5ob3VycyB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICAmLmRhdGV0aW1lcGlja2VyLWhvdXJzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmRheXMge1xuICAgICAgICBkaXYge1xuICAgICAgICAgICAgJi5kYXRldGltZXBpY2tlci1kYXlzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLm1vbnRocyB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICAmLmRhdGV0aW1lcGlja2VyLW1vbnRocyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi55ZWFycyB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICAmLmRhdGV0aW1lcGlja2VyLXllYXJzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB0YWJsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICYubWludXRlIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaG91ciB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmRheSB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMyU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDElO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5vbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZGF0ZXRpbWVwaWNrZXItaG91cnMge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5kYXRldGltZXBpY2tlci1taW51dGVzIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aCB7XG4gICAgICAgICYuc3dpdGNoIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNDVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5kYXRldGltZXBpY2tlci1pbmxpbmUge1xuICAgIHdpZHRoOiAyMjBweDtcbn1cbi5kYXRldGltZXBpY2tlci1kcm9wZG93biwgLmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xufVxuW2NsYXNzKj1cImRhdGV0aW1lcGlja2VyLWRyb3Bkb3duXCJdOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuW2NsYXNzKj1cImRhdGV0aW1lcGlja2VyLWRyb3Bkb3duXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGRyb3Bkb3duLWJnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbltjbGFzcyo9XCJkYXRldGltZXBpY2tlci1kcm9wZG93bi10b3BcIl06YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA3cHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tOiAwO1xufVxuW2NsYXNzKj1cImRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLXRvcFwiXTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICRkcm9wZG93bi1iZztcbiAgICBib3JkZXItYm90dG9tOiAwO1xufVxuLmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLWJvdHRvbS1sZWZ0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgcmlnaHQ6IDZweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgcmlnaHQ6IDdweDtcbiAgICB9XG59XG4uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tYm90dG9tLXJpZ2h0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgbGVmdDogNnB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICBsZWZ0OiA3cHg7XG4gICAgfVxufVxuLmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLXRvcC1sZWZ0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogLTdweDtcbiAgICAgICAgcmlnaHQ6IDZweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgICAgcmlnaHQ6IDdweDtcbiAgICB9XG59XG4uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tdG9wLXJpZ2h0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogLTdweDtcbiAgICAgICAgbGVmdDogNnB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtNnB4O1xuICAgICAgICBsZWZ0OiA3cHg7XG4gICAgfVxufVxuLmRhdGV0aW1lcGlja2VyICB0ZCxcbi5kYXRldGltZXBpY2tlciB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm9yZGVyOiBub25lO1xufVxuLnRhYmxlLXN0cmlwZWQgLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLFxuLnRhYmxlLXN0cmlwZWQgLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5vbGQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQubmV3IHtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xufVxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHRwLXRvZGF5LWJnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJGR0cC10b2RheS1iZywgJGR0cC10b2RheS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICRkdHAtdG9kYXktYmcsICRkdHAtdG9kYXktYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgkZHRwLXRvZGF5LWJnKSwgdG8oJGR0cC10b2RheS1iZykpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJGR0cC10b2RheS1iZywgJGR0cC10b2RheS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJGR0cC10b2RheS1iZywgJGR0cC10b2RheS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvcCwgJGR0cC10b2RheS1iZywgJGR0cC10b2RheS1iZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyRkdHAtdG9kYXktYmcnLCBlbmRDb2xvcnN0cj0nJGR0cC10b2RheS1iZycsIEdyYWRpZW50VHlwZT0wKTtcbiAgICBib3JkZXItY29sb3I6ICRkdHAtdG9kYXktYmcgJGR0cC10b2RheS1iZyAkZHRwLXRvZGF5LWJnO1xuICAgIC8vYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXI6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlci5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlci5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheVtkaXNhYmxlZF0sXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXJbZGlzYWJsZWRdLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkW2Rpc2FibGVkXSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlcltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkdHAtdG9kYXktYmc7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlci5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGR0cC10b2RheS1iZyBcXDk7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLXByaW1hcnktYmc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oJGJ0bi1wcmltYXJ5LWJnKSwgdG8oJGJ0bi1wcmltYXJ5LWJnKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJGJ0bi1wcmltYXJ5LWJnJywgZW5kQ29sb3JzdHI9JyRidG4tcHJpbWFyeS1iZycsIEdyYWRpZW50VHlwZT0wKTtcbiAgICBib3JkZXItY29sb3I6ICRidG4tcHJpbWFyeS1iZyAkYnRuLXByaW1hcnktYmcgJGJ0bi1wcmltYXJ5LWJnO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpO1xuICAgIGNvbG9yOiAkYnRuLXByaW1hcnktY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlcjpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmhvdmVyLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlW2Rpc2FibGVkXSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXJbZGlzYWJsZWRdLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZFtkaXNhYmxlZF0sXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi1wcmltYXJ5LWJnO1xufVxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnkgXFw5O1xufVxuLmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyB0YWJsZSB0ciB0ZCBzcGFuLmhvdXJfYW0sXG4uZGF0ZXRpbWVwaWNrZXIgLmRhdGV0aW1lcGlja2VyLWhvdXJzIHRhYmxlIHRyIHRkIHNwYW4uaG91cl9wbSB7XG4gICAgd2lkdGg6IDE0LjYlO1xufVxuLmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyBmaWVsZHNldCBsZWdlbmQsXG4uZGF0ZXRpbWVwaWNrZXIgLmRhdGV0aW1lcGlja2VyLW1pbnV0ZXMgZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uZGlzYWJsZWQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi1wcmltYXJ5LWJnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCRidG4tcHJpbWFyeS1iZyksIHRvKCRidG4tcHJpbWFyeS1iZykpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG9wLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyRidG4tcHJpbWFyeS1iZycsIGVuZENvbG9yc3RyPSckYnRuLXByaW1hcnktYmcnLCBHcmFkaWVudFR5cGU9MCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYnRuLXByaW1hcnktYmcgJGJ0bi1wcmltYXJ5LWJnICRidG4tcHJpbWFyeS1iZztcbiAgICAvL2JvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpO1xuICAgIGNvbG9yOiAkYnRuLXByaW1hcnktY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZVtkaXNhYmxlZF0sXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXJbZGlzYWJsZWRdLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkW2Rpc2FibGVkXSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4tcHJpbWFyeS1iZztcbn1cbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeSBcXDk7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4uZGF0ZXRpbWVwaWNrZXIgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGgge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5kYXRldGltZXBpY2tlciB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbn1cbi5pbnB1dC1hcHBlbmQuZGF0ZSAuYWRkLW9uIGksXG4uaW5wdXQtcHJlcGVuZC5kYXRlIC5hZGQtb24gaSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbn1cblxuIiwiJGNvbG9yLXJlZC1lcnJvcjogcmdiKDE4NSwgNzQsIDcyKSAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LWFycm93OiAkZHJvcGRvd24tYmcgIWRlZmF1bHQ7XG5cbiR3aWR0aC1kZWZhdWx0OiAyMjBweCAhZGVmYXVsdDsgLy8gMyA5NjBweC1ncmlkIGNvbHVtbnNcblxuJHppbmRleC1zZWxlY3QtZHJvcGRvd246IDEwNjAgIWRlZmF1bHQ7IC8vIG11c3QgYmUgaGlnaGVyIHRoYW4gYSBtb2RhbCBiYWNrZ3JvdW5kICgxMDUwKVxuXG4vLyoqIFBsYWNlaG9sZGVyIHRleHQgY29sb3JcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogIzk5OSAhZGVmYXVsdDtcblxuXG5AZnVuY3Rpb24gZmFkZSgkY29sb3IsICRhbW50KSB7XG4gIEBpZiAkYW1udCA+IDEge1xuICAgICRhbW50OiAkYW1udCAvIDEwMDsgLy8gY29udmVydCB0byBwZXJjZW50YWdlIGlmIGludFxuICB9XG4gIEByZXR1cm4gcmdiYSgkY29sb3IsICRhbW50KTtcbn1cblxuLmJvb3RzdHJhcC1zZWxlY3Qge1xuICB3aWR0aDogMjIwcHggXFwwOyAvKklFOSBhbmQgYmVsb3cqL1xuXG4gIC8vIFRoZSBzZWxlY3RwaWNrZXIgYnV0dG9uXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJi5icy1wbGFjZWhvbGRlcixcbiAgICAmLmJzLXBsYWNlaG9sZGVyOmhvdmVyLFxuICAgICYuYnMtcGxhY2Vob2xkZXI6Zm9jdXMsXG4gICAgJi5icy1wbGFjZWhvbGRlcjphY3RpdmUgeyBjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOyB9XG4gIH1cblxuICA+IHNlbGVjdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAwLjVweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgJi5tb2JpbGUtZGV2aWNlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgLy8gRXJyb3IgZGlzcGxheVxuICAuaGFzLWVycm9yICYgLmRyb3Bkb3duLXRvZ2dsZSxcbiAgLmVycm9yICYgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcmVkLWVycm9yO1xuICB9XG5cbiAgJi5maXQtd2lkdGgge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOm5vdChbY2xhc3MqPVwiY29sLVwiXSk6bm90KFtjbGFzcyo9XCJmb3JtLWNvbnRyb2xcIl0pOm5vdCguaW5wdXQtZ3JvdXAtYnRuKSB7XG4gICAgd2lkdGg6ICR3aWR0aC1kZWZhdWx0O1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzO1xuICAgIC8qXG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQgIzMzMzMzMyAhaW1wb3J0YW50O1xuICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciAhaW1wb3J0YW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgICovXG4gIH1cbn1cblxuLy8gUnVsZXNcbnNlbGVjdC5icy1zZWxlY3QtaGlkZGVuLFxuc2VsZWN0LnNlbGVjdHBpY2tlcixcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5ib290c3RyYXAtc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcblxuICAmOm5vdChbY2xhc3MqPVwiY29sLVwiXSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi5pbnB1dC1ncm91cC1idG4ge1xuICAgIHotaW5kZXg6IGF1dG87XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgPiAuYnRuIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWJ0bi5ib290c3RyYXAtc2VsZWN0LmJ0bi1ncm91cCB7XG4gID4gLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gVGhlIHNlbGVjdHBpY2tlciBjb21wb25lbnRzXG4uYm9vdHN0cmFwLXNlbGVjdC5idG4tZ3JvdXAge1xuICAmOm5vdCguaW5wdXQtZ3JvdXAtYnRuKSxcbiAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBGb3JjZXMgdGhlIHB1bGwgdG8gdGhlIHJpZ2h0LCBpZiBuZWNlc3NhcnlcbiAgJixcbiAgJltjbGFzcyo9XCJjb2wtXCJdLFxuICAucm93ICZbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgJi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1pbmxpbmUgJixcbiAgLmZvcm0taG9yaXpvbnRhbCAmLFxuICAuZm9ybS1ncm91cCAmIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmZvcm0tZ3JvdXAtbGcgJi5mb3JtLWNvbnRyb2wsXG4gIC5mb3JtLWdyb3VwLXNtICYuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IHRoZSB3aWR0aCBvZiB0aGUgbGl2ZSBzZWFyY2ggKGFuZCBhbnkgb3RoZXIgZm9ybSBjb250cm9sIHdpdGhpbiBhbiBpbmxpbmUgZm9ybSlcbiAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zaWx2aW9tb3JldG8vYm9vdHN0cmFwLXNlbGVjdC9pc3N1ZXMvNjg1XG4gIC5mb3JtLWlubGluZSAmIC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgPiAuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYuYnMtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgei1pbmRleDogJHppbmRleC1zZWxlY3QtZHJvcGRvd247XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHNlbGVjdHBpY2tlciBidXR0b25cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgLmZpbHRlci1vcHRpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cblxuICAgIC5jYXJldCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgLy9tYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gIH1cblxuICAmW2NsYXNzKj1cImNvbC1cIl0gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBUaGUgc2VsZWN0cGlja2VyIGRyb3Bkb3duXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcblxuICAgICYuaW5uZXIge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJi5hY3RpdmUgc21hbGwge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCBhIHtcbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAmLm9wdCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4yNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Bhbi5jaGVjay1tYXJrIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Bhbi50ZXh0IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc21hbGwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ub3RpZnkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA1cHg7XG4gICAgICB3aWR0aDogOTYlO1xuICAgICAgbWFyZ2luOiAwIDIlO1xuICAgICAgbWluLWhlaWdodDogMjZweDtcbiAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjI3LCAyMjcsIDIyNyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCBmYWRlKHJnYigwLCAwLCAwKSwgNSkpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIH1cbiAgfVxuXG4gIC5uby1yZXN1bHRzIHtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJnLTEwMDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAmLmZpdC13aWR0aCAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAuZmlsdGVyLW9wdGlvbiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cblxuICAgIC8qXG4gICAgLmNhcmV0IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIH1cbiAgICAqL1xuICB9XG5cbiAgJi5zaG93LXRpY2sgLmRyb3Bkb3duLW1lbnUgbGkge1xuICAgICYuc2VsZWN0ZWQgYSBzcGFuLmNoZWNrLW1hcmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuXG4gICAgYSBzcGFuLnRleHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYm9vdHN0cmFwLXNlbGVjdC5zaG93LW1lbnUtYXJyb3cge1xuICAmLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICB6LWluZGV4OiAoJHppbmRleC1zZWxlY3QtZHJvcGRvd24gKyAxKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC00cHg7XG4gICAgICBsZWZ0OiA5cHg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGRyb3Bkb3duLWJnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtNHB4O1xuICAgICAgbGVmdDogMTBweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiAtM3B4O1xuICAgICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiAtM3B4O1xuICAgICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICRkcm9wZG93bi1iZztcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJi5wdWxsLXJpZ2h0IC5kcm9wZG93bi10b2dnbGUge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAxM3B4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtc2VhcmNoYm94LFxuLmJzLWFjdGlvbnNib3gsXG4uYnMtZG9uZWJ1dHRvbiB7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXBhZGRpbmctdmVydGljYWwgJGRyb3Bkb3duLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLmJzLWFjdGlvbnNib3gge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuXG4gICYgLmJ0bi1ncm91cCBidXR0b24ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLmJzLWRvbmVidXR0b24ge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuXG4gICYgLmJ0bi1ncm91cCBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5icy1zZWFyY2hib3gge1xuICAmIC5mb3JtLWNvbnRyb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4uYnMtaW5wdXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4uYm9vdHN0cmFwLXNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAuZHJvcGRvd24tbWVudS5pbm5lciB7XG4gICAgID4gbGkge1xuICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgQGV4dGVuZCAuY29sLXNtLTEyO1xuICAgICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG5cbiAgICAgICAmW2RhdGEtb3JpZ2luYWwtaW5kZXhdW2RhdGEtb3B0Z3JvdXBdIHtcbiAgICAgICAgIEBleHRlbmQgLmNvbC1zbS0xMjtcbiAgICAgICB9XG5cbiAgICAgICAmLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctMTAwO1xuICAgICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgfVxuICAgICAgICYuZGl2aWRlciB7XG4gICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgIH1cbiAgICAgfVxuICAgfVxuIH1cblxuLmJvb3RzdHJhcC1zZWxlY3QuZm9ybS1jb250cm9sLm11bHRpZXhwYW5kIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51LmlubmVyIHtcbiAgICBtaW4taGVpZ2h0OiAxNjBweDtcbiAgICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcblxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBleHRlbmQgLnNjcm9sbGJhcjtcblxuICAgID4gbGkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIEBleHRlbmQgLmNvbC1zbS0xMjtcbiAgICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG5cbiAgICAgID4gYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdygpO1xuICAgICAgfVxuXG4gICAgICAmW2RhdGEtb3JpZ2luYWwtaW5kZXhdLFxuICAgICAgJltkYXRhLW9yaWdpbmFsLWluZGV4XVtkYXRhLW9wdGdyb3VwXSB7XG4gICAgICAgIEBleHRlbmQgLmNvbC1zbS00O1xuICAgICAgfVxuXG4gICAgICAmLm5vLXJlc3VsdHMsXG4gICAgICAmLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0xMDA7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAmLmRpdmlkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmhhbGYge1xuICAgIC5kcm9wZG93bi1tZW51LmlubmVyIGxpW2RhdGEtb3JpZ2luYWwtaW5kZXhdIHtcbiAgICAgIEBleHRlbmQgLmNvbC1zbS02O1xuICAgIH1cbiAgfVxuICAmLmZ1bGwge1xuICAgIC5kcm9wZG93bi1tZW51LmlubmVyIGxpW2RhdGEtb3JpZ2luYWwtaW5kZXhdIHtcbiAgICAgIEBleHRlbmQgLmNvbC1zbS0xMjtcbiAgICB9XG4gIH1cblxuICAuYnMtZG9uZWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5icy1zZWFyY2hib3gsXG4gIC5icy1hY3Rpb25zYm94IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgLy9AZXh0ZW5kIC5jb2wteHMtNjtcbiAgfVxuICAuYnMtYWN0aW9uc2JveCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAuYnRuIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1iYXNlLCAkbGluZS1oZWlnaHQtYmFzZSwgJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIH1cbiAgfVxufVxuXG5cbiIsIi8qIVxuICogQm9vdHN0cmFwIENvbG9ycGlja2VyIHYyLjUuMVxuICogaHR0cHM6Ly9pdHNqYXZpLmNvbS9ib290c3RyYXAtY29sb3JwaWNrZXIvXG4gKlxuICogT3JpZ2luYWxseSB3cml0dGVuIGJ5IChjKSAyMDEyIFN0ZWZhbiBQZXRyZVxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlIHYyLjBcbiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMC50eHRcbiAqXG4gKi9cbiRjb2xvcnBpY2tlci1pbWctcGF0aDogXCIuLi9pbWFnZXMvYm9vdHN0cmFwLWNvbG9ycGlja2VyXCIgIWRlZmF1bHQ7XG5cbkBtaXhpbiBiZ0ltZygkaW1nRmlsZW5hbWUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skY29sb3JwaWNrZXItaW1nLXBhdGh9LyN7JGltZ0ZpbGVuYW1lfVwiKTtcbn1cblxuQG1peGluIGJvcmRlclJhZGl1cygkc2l6ZSkge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAtbW96LWJvcmRlci1yYWRpdXM6ICRzaXplO1xuICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbn1cblxuLmNvbG9ycGlja2VyLXNhdHVyYXRpb24ge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIEBpbmNsdWRlIGJnSW1nKCdzYXR1cmF0aW9uLnBuZycpO1xuICBjdXJzb3I6IGNyb3NzaGFpcjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNXB4O1xuICAgIHdpZHRoOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNXB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAtNHB4IDAgMCAtNHB4O1xuICAgIGIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDVweCk7XG4gICAgfVxuICB9XG59XG5cbi5jb2xvcnBpY2tlci1odWUsXG4uY29sb3JwaWNrZXItYWxwaGEge1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGN1cnNvcjogcm93LXJlc2l6ZTtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uY29sb3JwaWNrZXItaHVlIGksXG4uY29sb3JwaWNrZXItYWxwaGEgaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cblxuLmNvbG9ycGlja2VyLWh1ZSB7XG4gIEBpbmNsdWRlIGJnSW1nKCdodWUucG5nJyk7XG59XG5cbi5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIEBpbmNsdWRlIGJnSW1nKCdhbHBoYS5wbmcnKTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbG9ycGlja2VyLXNhdHVyYXRpb24sXG4uY29sb3JwaWNrZXItaHVlLFxuLmNvbG9ycGlja2VyLWFscGhhIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG4uY29sb3JwaWNrZXIge1xuICBwYWRkaW5nOiA0cHg7XG4gIG1pbi13aWR0aDogMTMwcHg7XG4gIG1hcmdpbi10b3A6IDFweDtcbiAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDRweCk7XG4gIHotaW5kZXg6IDI1MDA7XG59XG5cbi5jb2xvcnBpY2tlcjpiZWZvcmUsXG4uY29sb3JwaWNrZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCJcIjtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5jb2xvcnBpY2tlcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29sb3JwaWNrZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjY2NjO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtN3B4O1xuICBsZWZ0OiA2cHg7XG59XG5cbi5jb2xvcnBpY2tlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmZmZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC02cHg7XG4gIGxlZnQ6IDdweDtcbn1cblxuLmNvbG9ycGlja2VyIGRpdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLXdpdGgtYWxwaGEge1xuICBtaW4td2lkdGg6IDE0MHB4O1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItd2l0aC1hbHBoYSAuY29sb3JwaWNrZXItYWxwaGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvbG9ycGlja2VyLWNvbG9yIHtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGNsZWFyOiBib3RoO1xuICBAaW5jbHVkZSBiZ0ltZygnYWxwaGEucG5nJyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbn1cblxuLmNvbG9ycGlja2VyLWNvbG9yIGRpdiB7XG4gIGhlaWdodDogMTBweDtcbn1cblxuLmNvbG9ycGlja2VyLXNlbGVjdG9ycyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTBweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmNvbG9ycGlja2VyLXNlbGVjdG9ycyBpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMHB4O1xuICB3aWR0aDogMTBweDtcbn1cblxuLmNvbG9ycGlja2VyLXNlbGVjdG9ycyBpICsgaSB7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbi5jb2xvcnBpY2tlci1lbGVtZW50IC5pbnB1dC1ncm91cC1hZGRvbiBpLFxuLmNvbG9ycGlja2VyLWVsZW1lbnQgLmFkZC1vbiBpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMTZweDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICB3aWR0aDogMTZweDtcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgei1pbmRleDogYXV0bztcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwge1xuICB3aWR0aDogMTEwcHg7XG4gIG1pbi13aWR0aDogMTEwcHg7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLXNhdHVyYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1jb2xvciB7XG4gIHdpZHRoOiAxMDBweDtcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWh1ZSxcbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBmbG9hdDogbGVmdDtcbiAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1odWUgaSxcbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1hbHBoYSBpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTVweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItaHVlIHtcbiAgQGluY2x1ZGUgYmdJbWcoJ2h1ZS1ob3Jpem9udGFsLnBuZycpO1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItYWxwaGEge1xuICBAaW5jbHVkZSBiZ0ltZygnYWxwaGEtaG9yaXpvbnRhbC5wbmcnKTtcbn1cblxuLmNvbG9ycGlja2VyLXJpZ2h0OmJlZm9yZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiA2cHg7XG59XG5cbi5jb2xvcnBpY2tlci1yaWdodDphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiA3cHg7XG59XG5cbi5jb2xvcnBpY2tlci1uby1hcnJvdzpiZWZvcmUge1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uY29sb3JwaWNrZXItbm8tYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uY29sb3JwaWNrZXIsXG4uY29sb3JwaWNrZXItYWxwaGEsXG4uY29sb3JwaWNrZXItc2F0dXJhdGlvbixcbi5jb2xvcnBpY2tlci1odWUsXG4uY29sb3JwaWNrZXItc2VsZWN0b3JzIHtcbiAgJi5jb2xvcnBpY2tlci12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uY29sb3JwaWNrZXIsXG4uY29sb3JwaWNrZXItYWxwaGEsXG4uY29sb3JwaWNrZXItc2F0dXJhdGlvbixcbi5jb2xvcnBpY2tlci1odWUsXG4uY29sb3JwaWNrZXItc2VsZWN0b3JzIHtcbiAgJi5jb2xvcnBpY2tlci1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbG9ycGlja2VyLWlubGluZS5jb2xvcnBpY2tlci12aXNpYmxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuIiwiLy8gTWl4LWluc1xuQG1peGluIGJvcmRlclJhZGl1cygkcmFkaXVzKSB7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94U2hhZG93KCRib3hTaGFkb3cpIHtcbiAgLW1vei1ib3gtc2hhZG93OiAkYm94U2hhZG93O1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRib3hTaGFkb3c7XG4gIGJveC1zaGFkb3c6ICRib3hTaGFkb3c7XG59XG5cbkBtaXhpbiB3b3JkV3JhcCgkd29yZFdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgLW1zLXdvcmQtd3JhcDogJHdvcmRXcmFwO1xuICB3b3JkLXdyYXA6ICR3b3JkV3JhcDtcbn1cblxuLy8gVmFyaWFibGVzXG4kYmxhY2s6ICMwMDAwMDA7XG4kZ3JleTogIzk5OTk5OTtcbiRsaWdodC1ncmV5OiAjQ0NDQ0NDO1xuJHdoaXRlOiAjRkZGRkZGO1xuJG5lYXItYmxhY2s6ICMwMzAzMDM7XG4kZ3JlZW46ICM1MUEzNTE7XG4kcmVkOiAjQkQzNjJGO1xuJGJsdWU6ICMyRjk2QjQ7XG4kb3JhbmdlOiAjRjg5NDA2O1xuXG4vLyBTdHlsZXNcbi50b2FzdC10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udG9hc3QtbWVzc2FnZSB7XG4gIEBpbmNsdWRlIHdvcmRXcmFwKCk7XG5cbiAgYSxcbiAgbGFiZWwge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi50b2FzdC1jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAtMC4zZW07XG4gIHRvcDogLTAuM2VtO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIC13ZWJraXQtdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiAgQGluY2x1ZGUgb3BhY2l0eSgwLjgpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNCk7XG4gIH1cbn1cblxuLypBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuKi9cbmJ1dHRvbi50b2FzdC1jbG9zZS1idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8jZW5kcmVnaW9uXG5cbi50b2FzdC10b3AtZnVsbC13aWR0aCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udG9hc3QtYm90dG9tLWZ1bGwtd2lkdGgge1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRvYXN0LXRvcC1sZWZ0IHtcbiAgdG9wOiAxMnB4O1xuICBsZWZ0OiAxMnB4O1xufVxuXG4udG9hc3QtdG9wLXJpZ2h0IHtcbiAgdG9wOiA0OHB4O1xuICByaWdodDogMzdweDtcbn1cblxuLnRvYXN0LWJvdHRvbS1yaWdodCB7XG4gIHJpZ2h0OiAxMnB4O1xuICBib3R0b206IDEycHg7XG59XG5cbi50b2FzdC1ib3R0b20tbGVmdCB7XG4gIGJvdHRvbTogMTJweDtcbiAgbGVmdDogMTJweDtcbn1cblxuI3RvYXN0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTEwMDtcblxuICAqIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICA+IGRpdiB7XG4gICAgbWFyZ2luOiAwIDAgNnB4O1xuICAgIHBhZGRpbmc6IDE1cHggMTVweCAxNXB4IDUwcHg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1cHggY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygzcHggM3B4IDNweCAzcHgpO1xuICAgIEBpbmNsdWRlIGJveFNoYWRvdygwIDAgMTJweCAkZ3JleSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwLjgpO1xuICB9XG5cbiAgPiA6aG92ZXIge1xuICAgIEBpbmNsdWRlIGJveFNoYWRvdygwIDAgMTJweCAkYmxhY2spO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgPiAudG9hc3QtaW5mbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgPiAudG9hc3QtZXJyb3Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9XCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICA+IC50b2FzdC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgPiAudG9hc3Qtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST1cIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qb3ZlcnJpZGVzKi9cbiAgJi50b2FzdC10b3AtZnVsbC13aWR0aCA+IGRpdixcbiAgJi50b2FzdC1ib3R0b20tZnVsbC13aWR0aCA+IGRpdiB7XG4gICAgd2lkdGg6IDk2JTtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cblxuLnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5lYXItYmxhY2s7XG59XG5cbi50b2FzdC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xufVxuXG4udG9hc3QtZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xufVxuXG4udG9hc3QtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xufVxuXG4udG9hc3Qtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG59XG5cbi8qUmVzcG9uc2l2ZSBEZXNpZ24qL1xuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAyNDBweCkge1xuICAjdG9hc3QtY29udGFpbmVyIHtcblxuICAgID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDhweCA4cHggOHB4IDUwcHg7XG4gICAgICB3aWR0aDogMTFlbTtcbiAgICB9XG5cbiAgICAmIC50b2FzdC1jbG9zZS1idXR0b24ge1xuICAgICAgcmlnaHQ6IC0wLjJlbTtcbiAgICAgIHRvcDogLTAuMmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAyNDFweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICN0b2FzdC1jb250YWluZXIge1xuICAgID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDhweCA4cHggOHB4IDUwcHg7XG4gICAgICB3aWR0aDogMThlbTtcbiAgICB9XG5cbiAgICAmIC50b2FzdC1jbG9zZS1idXR0b24ge1xuICAgICAgcmlnaHQ6IC0wLjJlbTtcbiAgICAgIHRvcDogLTAuMmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICN0b2FzdC1jb250YWluZXIge1xuICAgID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAxNXB4IDUwcHg7XG4gICAgICB3aWR0aDogMjVlbTtcbiAgICB9XG4gIH1cbn0iLCIvL2NvbG9yc1xuJGNvbG9yX2FsdG9fYXBwcm94OiAjZGRkO1xuJGNvbG9yX2RlZXBfY2VydWxlYW5fYXBwcm94OiAjMDA3OGE4O1xuJHdlYl9vcmFuZ2U6ICBvcmFuZ2U7XG4kY29sb3JfZG9kZ2VyX2JsdWVfYXBwcm94OiAjMzhmO1xuJHdoaXRlXzUwOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4kYmxhY2tfNjU6IHJnYmEoMCwwLDAsMC42NSk7XG4kd2hpdGU6ICNmZmY7XG4kY29sb3JfY2VsZXN0ZV9hcHByb3g6ICNjY2M7XG4kYmxhY2s6IGJsYWNrO1xuJHdpbGRfc2FuZDogI2Y0ZjRmNDtcbiRjb2xvcl9waW5rX3N3YW5fYXBwcm94OiAjYmJiO1xuJGJsYWNrXzQwOiByZ2JhKDAsMCwwLDAuNCk7XG4kY29sb3JfbWluZV9zaGFmdF9hcHByb3g6ICMzMzM7XG4kd2hpdGVfNzA6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiRjb2xvcl90YXBhX2FwcHJveDogIzc3NztcbiRibGFja18yMDogcmdiYSgwLDAsMCwwLjIpO1xuJGNvbG9yX3BhbGVfc2xhdGVfYXBwcm94OiAjYzNjM2MzO1xuJGNvbG9yX21vdW50YWluX21pc3RfYXBwcm94OiAjOTk5O1xuJGNvbG9yX3N0b3JtX2R1c3RfYXBwcm94OiAjNjY2O1xuJGNvbG9yX2xvZ19jYWJpbl9hcHByb3g6ICMyMjI7XG5cbiRleHRlbmRfMi16LWluZGV4OiA5MDA7XG4kbGVhZmxldC1wYW5lLXotaW5kZXg6IDQwMDtcbiRsZWFmbGV0LXpvb20tYm94LXotaW5kZXg6IDgwMDtcbiRsZWFmbGV0LW92ZXJsYXktcGFuZS16LWluZGV4OiA0MDA7XG4kbGVhZmxldC10aWxlLXBhbmUtei1pbmRleDogMjAwO1xuJGxlYWZsZXQtc2hhZG93LXBhbmUtei1pbmRleDogNTAwO1xuJGxlYWZsZXQtbWFya2VyLXBhbmUtei1pbmRleDogNjAwO1xuJGxlYWZsZXQtdG9vbHRpcC1wYW5lLXotaW5kZXg6IDY1MDtcbiRsZWFmbGV0LXBvcHVwLXBhbmUtei1pbmRleDogNzAwO1xuJGxlYWZsZXQtY29udHJvbC16LWluZGV4OiA4MDA7XG5cbiRsZWFmbGV0LW1hcC1wYW5lLWNhbnZhcy16LWluZGV4OiAxMDA7XG4kbGVhZmxldC1tYXAtcGFuZS1zdmctei1pbmRleDogMjAwO1xuXG4vL2ZvbnRzXG4kZm9udF8wOiBMdWNpZGEgQ29uc29sZTtcbiRmb250XzE6IE1vbmFjbztcbiRmb250XzI6IG1vbm9zcGFjZTtcbiRmb250XzM6IFRhaG9tYTtcbiRmb250XzQ6IFZlcmRhbmE7XG4kZm9udF81OiBzYW5zLXNlcmlmO1xuXG4vL3VybHNcbiR1cmxfMDogdXJsKCNkZWZhdWx0I1ZNTCk7XG4kdXJsXzE6IHVybCguLi9pbWFnZXMvbGF5ZXJzLnBuZyk7XG4kdXJsXzI6IHVybCguLi9pbWFnZXMvbGF5ZXJzLTJ4LnBuZyk7XG4kdXJsXzM6IHVybCguLi9pbWFnZXMvbWFya2VyLWljb24ucG5nKTtcblxuLy9AZXh0ZW5kLWVsZW1lbnRzXG4vL29yaWdpbmFsIHNlbGVjdG9yc1xuLy8ubGVhZmxldC1wYW5lLCAubGVhZmxldC10aWxlLCAubGVhZmxldC1tYXJrZXItaWNvbiwgLmxlYWZsZXQtbWFya2VyLXNoYWRvdywgLmxlYWZsZXQtdGlsZS1jb250YWluZXIsIC5sZWFmbGV0LXBhbmUgPnN2ZywgLmxlYWZsZXQtcGFuZSA+Y2FudmFzLCAubGVhZmxldC16b29tLWJveCwgLmxlYWZsZXQtaW1hZ2UtbGF5ZXIsIC5sZWFmbGV0LWxheWVyXG4lZXh0ZW5kXzEge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcbn1cblxuLy9vcmlnaW5hbCBzZWxlY3RvcnNcbi8vLmxlYWZsZXQtdG9wLCAubGVhZmxldC1ib3R0b21cbiVleHRlbmRfMiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogJGV4dGVuZF8yLXotaW5kZXg7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vL29yaWdpbmFsIHNlbGVjdG9yc1xuLy8ubGVhZmxldC1iYXIgYSwgLmxlYWZsZXQtYmFyIGE6aG92ZXJcbiVleHRlbmRfMyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9jZWxlc3RlX2FwcHJveDtcblx0d2lkdGg6IDI2cHg7XG5cdGhlaWdodDogMjZweDtcblx0bGluZS1oZWlnaHQ6IDI2cHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6ICRibGFjaztcbn1cblxuLy9vcmlnaW5hbCBzZWxlY3RvcnNcbi8vLmxlYWZsZXQtYmFyIGEsIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZVxuJWV4dGVuZF80IHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8vb3JpZ2luYWwgc2VsZWN0b3JzXG4vLy5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciwgLmxlYWZsZXQtcG9wdXAtdGlwXG4lZXh0ZW5kXzUge1xuXHRiYWNrZ3JvdW5kOiAkcG9wdXAtYm9keS1iZztcblx0Y29sb3I6ICRjb2xvcl9taW5lX3NoYWZ0X2FwcHJveDtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSwgJHNoYWRvdy02LCAkc2hhZG93LTcsICRzaGFkb3ctOCwgJHNoYWRvdy05LCAkc2hhZG93LTEwKVxuXHRib3gtc2hhZG93OiAwIDNweCAxNHB4ICRibGFja180MDtcbn1cblxuLy9vcmlnaW5hbCBzZWxlY3RvcnNcbi8vLmxlYWZsZXQtdG9vbHRpcC10b3A6YmVmb3JlLCAubGVhZmxldC10b29sdGlwLWJvdHRvbTpiZWZvcmUsIC5sZWFmbGV0LXRvb2x0aXAtbGVmdDpiZWZvcmUsIC5sZWFmbGV0LXRvb2x0aXAtcmlnaHQ6YmVmb3JlXG4lZXh0ZW5kXzYge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbnRlbnQ6IFwiXCI7XG59XG5cblxuLmxlYWZsZXQtcGFuZSB7XG5cdEBleHRlbmQgJWV4dGVuZF8xO1xuXHR6LWluZGV4OiAkbGVhZmxldC1wYW5lLXotaW5kZXg7XG5cdD4gc3ZnIHtcblx0XHRAZXh0ZW5kICVleHRlbmRfMTtcblx0XHRwYXRoIHtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0Ji5sZWFmbGV0LWludGVyYWN0aXZlIHtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IHZpc2libGVQYWludGVkO1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0PiBjYW52YXMge1xuXHRcdEBleHRlbmQgJWV4dGVuZF8xO1xuXHR9XG59XG4ubGVhZmxldC10aWxlIHtcblx0QGV4dGVuZCAlZXh0ZW5kXzE7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHVzZXItc2VsZWN0KCRzZWxlY3QpXG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRmaWx0ZXI6IGluaGVyaXQ7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5sZWFmbGV0LW1hcmtlci1pY29uIHtcblx0QGV4dGVuZCAlZXh0ZW5kXzE7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHVzZXItc2VsZWN0KCRzZWxlY3QpXG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdCYubGVhZmxldC1pbnRlcmFjdGl2ZSB7XG5cdFx0cG9pbnRlci1ldmVudHM6IHZpc2libGVQYWludGVkO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHR9XG59XG4ubGVhZmxldC1tYXJrZXItc2hhZG93IHtcblx0QGV4dGVuZCAlZXh0ZW5kXzE7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHVzZXItc2VsZWN0KCRzZWxlY3QpXG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubGVhZmxldC10aWxlLWNvbnRhaW5lciB7XG5cdEBleHRlbmQgJWV4dGVuZF8xO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5sZWFmbGV0LXpvb20tYm94IHtcblx0QGV4dGVuZCAlZXh0ZW5kXzE7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJveC1zaXppbmcoJGJzKVxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR6LWluZGV4OiAkbGVhZmxldC16b29tLWJveC16LWluZGV4O1xuXHRib3JkZXI6IDJweCBkb3R0ZWQgJGNvbG9yX2RvZGdlcl9ibHVlX2FwcHJveDtcblx0YmFja2dyb3VuZDogJHdoaXRlXzUwO1xufVxuLmxlYWZsZXQtaW1hZ2UtbGF5ZXIge1xuXHRAZXh0ZW5kICVleHRlbmRfMTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdCYubGVhZmxldC1pbnRlcmFjdGl2ZSB7XG5cdFx0cG9pbnRlci1ldmVudHM6IHZpc2libGVQYWludGVkO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHR9XG59XG4ubGVhZmxldC1sYXllciB7XG5cdEBleHRlbmQgJWV4dGVuZF8xO1xufVxuLmxlYWZsZXQtY29udGFpbmVyIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZDogJGNvbG9yX2FsdG9fYXBwcm94O1xuXHRvdXRsaW5lOiAwO1xuXHRmb250OiAxMnB4LzEuNSBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5cdCYubGVhZmxldC10b3VjaC16b29tIHtcblx0XHR0b3VjaC1hY3Rpb246IHBhbi14IHBhbi15O1xuXHR9XG5cdGEge1xuXHRcdGNvbG9yOiAkY29sb3JfZGVlcF9jZXJ1bGVhbl9hcHByb3g7XG5cdFx0Ji5sZWFmbGV0LWFjdGl2ZSB7XG5cdFx0XHRvdXRsaW5lOiAycHggc29saWQgJHdlYl9vcmFuZ2U7XG5cdFx0fVxuICAgICAgLypcblx0XHQmLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZzogNHB4IDRweCAwIDA7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMThweDtcblx0XHRcdGhlaWdodDogMTRweDtcblx0XHRcdGZvbnQ6IDE2cHgvMTRweCAkZm9udF8zLCAkZm9udF80LCAkZm9udF81O1xuXHRcdFx0Y29sb3I6ICRjb2xvcl9wYWxlX3NsYXRlX2FwcHJveDtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRjb2xvcl9tb3VudGFpbl9taXN0X2FwcHJveDtcblx0XHRcdH1cblx0XHR9XG5cdCAgKi9cblx0fVxuXHQubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIHtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlXzcwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdH1cblx0LmxlYWZsZXQtY29udHJvbC1zY2FsZSB7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHR9XG5cdC5sZWFmbGV0LW92ZXJsYXktcGFuZSBzdmcge1xuXHRcdG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdC5sZWFmbGV0LW1hcmtlci1wYW5lIGltZyB7XG5cdFx0bWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0LmxlYWZsZXQtc2hhZG93LXBhbmUgaW1nIHtcblx0XHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHQubGVhZmxldC10aWxlLXBhbmUgaW1nIHtcblx0XHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHRpbWcubGVhZmxldC1pbWFnZS1sYXllciB7XG5cdFx0bWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0Ji5sZWFmbGV0LXRvdWNoLWRyYWcubGVhZmxldC10b3VjaC16b29tIHtcblx0XHR0b3VjaC1hY3Rpb246IG5vbmU7XG5cdH1cbn1cbi5sZWFmbGV0LXNhZmFyaSB7XG5cdC5sZWFmbGV0LXRpbGUge1xuXHR9XG5cdC5sZWFmbGV0LXRpbGUtY29udGFpbmVyIHtcblx0XHR3aWR0aDogMTYwMHB4O1xuXHRcdGhlaWdodDogMTYwMHB4O1xuXHR9XG59XG4ubGVhZmxldC10aWxlLWxvYWRlZCB7XG5cdHZpc2liaWxpdHk6IGluaGVyaXQ7XG59XG4ubGVhZmxldC1vdmVybGF5LXBhbmUge1xuXHR6LWluZGV4OiAkbGVhZmxldC1vdmVybGF5LXBhbmUtei1pbmRleDtcblx0c3ZnIHtcblx0fVxufVxuLmxlYWZsZXQtdGlsZS1wYW5lIHtcblx0ei1pbmRleDogJGxlYWZsZXQtdGlsZS1wYW5lLXotaW5kZXg7XG59XG4ubGVhZmxldC1zaGFkb3ctcGFuZSB7XG5cdHotaW5kZXg6ICRsZWFmbGV0LXNoYWRvdy1wYW5lLXotaW5kZXg7XG59XG4ubGVhZmxldC1tYXJrZXItcGFuZSB7XG5cdHotaW5kZXg6ICRsZWFmbGV0LW1hcmtlci1wYW5lLXotaW5kZXg7XG59XG4ubGVhZmxldC10b29sdGlwLXBhbmUge1xuXHR6LWluZGV4OiAkbGVhZmxldC10b29sdGlwLXBhbmUtei1pbmRleDtcbn1cbi5sZWFmbGV0LXBvcHVwLXBhbmUge1xuXHR6LWluZGV4OiAkbGVhZmxldC1wb3B1cC1wYW5lLXotaW5kZXg7XG5cdGN1cnNvcjogYXV0bztcbn1cbi5sZWFmbGV0LW1hcC1wYW5lIHtcblx0Y2FudmFzIHtcblx0XHR6LWluZGV4OiAkbGVhZmxldC1tYXAtcGFuZS1jYW52YXMtei1pbmRleDtcblx0fVxuXHRzdmcge1xuXHRcdHotaW5kZXg6ICRsZWFmbGV0LW1hcC1wYW5lLXN2Zy16LWluZGV4O1xuXHR9XG59XG4ubGVhZmxldC12bWwtc2hhcGUge1xuXHR3aWR0aDogMXB4O1xuXHRoZWlnaHQ6IDFweDtcbn1cbi5sdm1sIHtcblx0YmVoYXZpb3I6ICR1cmxfMDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ubGVhZmxldC1jb250cm9sIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAkbGVhZmxldC1jb250cm9sLXotaW5kZXg7XG5cdHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlUGFpbnRlZDtcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdGZsb2F0OiBsZWZ0O1xuXHRjbGVhcjogYm90aDtcblx0Y3Vyc29yOiBhdXRvO1xufVxuLmxlYWZsZXQtdG9wIHtcblx0QGV4dGVuZCAlZXh0ZW5kXzI7XG5cdHRvcDogMDtcblx0LmxlYWZsZXQtY29udHJvbCB7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0fVxufVxuLmxlYWZsZXQtYm90dG9tIHtcblx0QGV4dGVuZCAlZXh0ZW5kXzI7XG5cdGJvdHRvbTogMDtcblx0LmxlYWZsZXQtY29udHJvbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0fVxuXHQubGVhZmxldC1jb250cm9sLXNjYWxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdH1cbn1cbi5sZWFmbGV0LXJpZ2h0IHtcblx0cmlnaHQ6IDA7XG5cdC5sZWFmbGV0LWNvbnRyb2wge1xuXHRcdC8vZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0fVxufVxuLmxlYWZsZXQtbGVmdCB7XG5cdGxlZnQ6IDA7XG5cdC5sZWFmbGV0LWNvbnRyb2wge1xuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHR9XG5cdC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUge1xuXHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdH1cbn1cbi5sZWFmbGV0LWZhZGUtYW5pbSB7XG5cdC5sZWFmbGV0LXRpbGUge1xuXHRcdHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuXHR9XG5cdC5sZWFmbGV0LXBvcHVwIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tMSwgJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApXG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcblx0fVxuXHQubGVhZmxldC1tYXAtcGFuZSAubGVhZmxldC1wb3B1cCB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcblx0dHJhbnNmb3JtLW9yaWdpbjogMCAwO1xufVxuLmxlYWZsZXQtem9vbS1hbmltIHtcblx0LmxlYWZsZXQtem9vbS1hbmltYXRlZCB7XG5cdFx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLTEsICR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKVxuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwwLDAuMjUsMSk7XG5cdH1cblx0LmxlYWZsZXQtdGlsZSB7XG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMClcblx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHR9XG5cdC5sZWFmbGV0LXpvb20taGlkZSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG59XG4ubGVhZmxldC1pbnRlcmFjdGl2ZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbi5sZWFmbGV0LWdyYWIge1xufVxuLmxlYWZsZXQtY3Jvc3NoYWlyIHtcblx0Y3Vyc29yOiBjcm9zc2hhaXI7XG5cdC5sZWFmbGV0LWludGVyYWN0aXZlIHtcblx0XHRjdXJzb3I6IGNyb3NzaGFpcjtcblx0fVxufVxuLmxlYWZsZXQtZHJhZ2dpbmcge1xuXHQubGVhZmxldC1ncmFiIHtcblx0XHRjdXJzb3I6IG1vdmU7XG5cdFx0LmxlYWZsZXQtaW50ZXJhY3RpdmUge1xuXHRcdFx0Y3Vyc29yOiBtb3ZlO1xuXHRcdH1cblx0fVxuXHQubGVhZmxldC1tYXJrZXItZHJhZ2dhYmxlIHtcblx0XHRjdXJzb3I6IG1vdmU7XG5cdH1cbn1cbi5sZWFmbGV0LWJhciB7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMClcblx0Ym94LXNoYWRvdzogMCAxcHggNXB4ICRibGFja182NTtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcmFkaXVzLCAkdmVydGljYWwtcmFkaXVzKVxuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGEge1xuXHRcdEBleHRlbmQgJWV4dGVuZF8zO1xuXHRcdEBleHRlbmQgJWV4dGVuZF80O1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0QGV4dGVuZCAlZXh0ZW5kXzM7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2lsZF9zYW5kO1xuXHRcdH1cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cylcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcblx0XHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpXG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuXHRcdH1cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKVxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuXHRcdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cylcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdH1cblx0XHQmLmxlYWZsZXQtZGlzYWJsZWQge1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdpbGRfc2FuZDtcblx0XHRcdGNvbG9yOiAkY29sb3JfcGlua19zd2FuX2FwcHJveDtcblx0XHR9XG5cdH1cbn1cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4ubGVhZmxldC10b3VjaCB7XG5cdC5sZWFmbGV0LWJhciB7XG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSwgJHNoYWRvdy02LCAkc2hhZG93LTcsICRzaGFkb3ctOCwgJHNoYWRvdy05LCAkc2hhZG93LTEwKVxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGJsYWNrXzIwO1xuXHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJhY2tncm91bmQtY2xpcCgkY2xpcClcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHRcdGEge1xuXHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMzBweDtcblx0XHR9XG5cdH1cblx0LmxlYWZsZXQtY29udHJvbC16b29tLWluIHtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdH1cblx0LmxlYWZsZXQtY29udHJvbC16b29tLW91dCB7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHR9XG5cdC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG5cdFx0Ly93aWR0aDogNDRweDtcblx0XHQvL2hlaWdodDogNDRweDtcblx0fVxuXHQubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIHtcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LCAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApXG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXHQubGVhZmxldC1jb250cm9sLWxheWVycyB7XG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSwgJHNoYWRvdy02LCAkc2hhZG93LTcsICRzaGFkb3ctOCwgJHNoYWRvdy05LCAkc2hhZG93LTEwKVxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGJsYWNrXzIwO1xuXHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJhY2tncm91bmQtY2xpcCgkY2xpcClcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHR9XG59XG4ubGVhZmxldC1jb250cm9sLXpvb20taW4ge1xuXHRmb250OiBib2xkIDE4cHggJGZvbnRfMCwgJGZvbnRfMSwgJGZvbnRfMjtcblx0dGV4dC1pbmRlbnQ6IDFweDtcbn1cbi5sZWFmbGV0LWNvbnRyb2wtem9vbS1vdXQge1xuXHRmb250OiBib2xkIDE4cHggJGZvbnRfMCwgJGZvbnRfMSwgJGZvbnRfMjtcblx0dGV4dC1pbmRlbnQ6IDFweDtcblx0Zm9udC1zaXplOiAyMHB4O1xufVxuLypcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcblx0QGV4dGVuZCAuZHJvcGFycm93O1xuXHRAZXh0ZW5kIC5kcm9wcmlnaHQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdEBleHRlbmQgLmRyb3Bkb3duLW1lbnU7XG5cdH1cblx0bGFiZWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdEBpbmNsdWRlIGNoZWNrYm94KCdkaXYnLCAnc3BhbicpO1xuXHRcdEBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJ2RpdicsICRicmFuZC1wcmltYXJ5LCAnc3BhbicpO1xuXG5cdFx0ZGl2IHtcblx0XHRcdHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXZlcnRpY2FsICRkcm9wZG93bi1wYWRkaW5nLWhvcml6b250YWw7XG5cdFx0fVxuXHR9XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIHtcblx0LmxlYWZsZXQtY29udHJvbC1sYXllcnMtbGlzdCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbiovXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1zY3JvbGxiYXIge1xuXHRvdmVyZmxvdy15OiBzY3JvbGw7XG5cdHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNlbGVjdG9yIHtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRvcDogMXB4O1xufVxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VwYXJhdG9yIHtcblx0aGVpZ2h0OiAwO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX2FsdG9fYXBwcm94O1xuXHRtYXJnaW46IDVweCAtMTBweCA1cHggLTZweDtcbn1cbi5sZWFmbGV0LWRlZmF1bHQtaWNvbi1wYXRoIHtcblx0YmFja2dyb3VuZC1pbWFnZTogJHVybF8zO1xufVxuLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiB7XG5cdHBhZGRpbmc6IDAgNXB4O1xuXHRjb2xvcjogJGNvbG9yX21pbmVfc2hhZnRfYXBwcm94O1xuXHRhIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cbn1cbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZSB7XG5cdHBhZGRpbmc6IDAgNXB4O1xuXHRjb2xvcjogJGNvbG9yX21pbmVfc2hhZnRfYXBwcm94O1xuXHRib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfdGFwYV9hcHByb3g7XG5cdGJvcmRlci10b3A6IG5vbmU7XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdHBhZGRpbmc6IDJweCA1cHggMXB4O1xuXHRmb250LXNpemU6IDExcHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJveC1zaXppbmcoJGJzKVxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdGJhY2tncm91bmQ6ICR3aGl0ZV81MDtcblx0Jjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvcl90YXBhX2FwcHJveDtcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3JfdGFwYV9hcHByb3g7XG5cdFx0fVxuXHR9XG59XG4ubGVhZmxldC1wb3B1cCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIHtcblx0Ly9wYWRkaW5nOiAxcHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHJhZGl1cywgJHZlcnRpY2FsLXJhZGl1cylcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHQvL0BleHRlbmQgJWV4dGVuZF81O1xufVxuLmxlYWZsZXQtcG9wdXAtY29udGVudCB7XG4gIC8vd2lkdGg6IDMwMHB4O1xufVxuLmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLTIwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmxlYWZsZXQtcG9wdXAtdGlwIHtcblx0d2lkdGg6IDE3cHg7XG5cdGhlaWdodDogMTdweDtcblx0cGFkZGluZzogMXB4O1xuXHRtYXJnaW46IC0xMHB4IGF1dG8gMDtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRAZXh0ZW5kICVleHRlbmRfNTtcbn1cbi5sZWFmbGV0LXBvcHVwLXNjcm9sbGVkIHtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYWx0b19hcHByb3g7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfYWx0b19hcHByb3g7XG59XG4ubGVhZmxldC1vbGRpZSB7XG5cdC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0em9vbTogMTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbW91bnRhaW5fbWlzdF9hcHByb3g7XG5cdH1cblx0LmxlYWZsZXQtcG9wdXAtdGlwIHtcblx0XHR3aWR0aDogMjRweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAuNzA3MTA2NzgsIE0xMj0wLjcwNzEwNjc4LCBNMjE9LTAuNzA3MTA2NzgsIE0yMj0wLjcwNzEwNjc4KTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbW91bnRhaW5fbWlzdF9hcHByb3g7XG5cdH1cblx0LmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7XG5cdFx0bWFyZ2luLXRvcDogLTFweDtcblx0fVxuXHQubGVhZmxldC1jb250cm9sLXpvb20ge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9tb3VudGFpbl9taXN0X2FwcHJveDtcblx0fVxuXHQubGVhZmxldC1jb250cm9sLWxheWVycyB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yX21vdW50YWluX21pc3RfYXBwcm94O1xuXHR9XG59XG4ubGVhZmxldC1kaXYtaWNvbiB7XG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yX3N0b3JtX2R1c3RfYXBwcm94O1xufVxuLmxlYWZsZXQtdG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cGFkZGluZzogNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcmFkaXVzLCAkdmVydGljYWwtcmFkaXVzKVxuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGNvbG9yOiAkY29sb3JfbG9nX2NhYmluX2FwcHJveDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdXNlci1zZWxlY3QoJHNlbGVjdClcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LCAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApXG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCAkYmxhY2tfNDA7XG5cdCYubGVhZmxldC1jbGlja2FibGUge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0fVxufVxuLmxlYWZsZXQtdG9vbHRpcC10b3Age1xuXHRtYXJnaW4tdG9wOiAtNnB4O1xuXHQmOmJlZm9yZSB7XG5cdFx0QGV4dGVuZCAlZXh0ZW5kXzY7XG5cdFx0bGVmdDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNnB4O1xuXHRcdGJvdHRvbTogMDtcblx0XHRtYXJnaW4tYm90dG9tOiAtMTJweDtcblx0XHRib3JkZXItdG9wLWNvbG9yOiAkd2hpdGU7XG5cdH1cbn1cbi5sZWFmbGV0LXRvb2x0aXAtYm90dG9tIHtcblx0bWFyZ2luLXRvcDogNnB4O1xuXHQmOmJlZm9yZSB7XG5cdFx0QGV4dGVuZCAlZXh0ZW5kXzY7XG5cdFx0bGVmdDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNnB4O1xuXHRcdHRvcDogMDtcblx0XHRtYXJnaW4tdG9wOiAtMTJweDtcblx0XHRtYXJnaW4tbGVmdDogLTZweDtcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkd2hpdGU7XG5cdH1cbn1cbi5sZWFmbGV0LXRvb2x0aXAtbGVmdCB7XG5cdG1hcmdpbi1sZWZ0OiAtNnB4O1xuXHQmOmJlZm9yZSB7XG5cdFx0QGV4dGVuZCAlZXh0ZW5kXzY7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bWFyZ2luLXRvcDogLTZweDtcblx0XHRyaWdodDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IC0xMnB4O1xuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiAkd2hpdGU7XG5cdH1cbn1cbi5sZWFmbGV0LXRvb2x0aXAtcmlnaHQge1xuXHRtYXJnaW4tbGVmdDogNnB4O1xuXHQmOmJlZm9yZSB7XG5cdFx0QGV4dGVuZCAlZXh0ZW5kXzY7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bWFyZ2luLXRvcDogLTZweDtcblx0XHRsZWZ0OiAwO1xuXHRcdG1hcmdpbi1sZWZ0OiAtMTJweDtcblx0XHRib3JkZXItcmlnaHQtY29sb3I6ICR3aGl0ZTtcblx0fVxufVxuLmxlYWZsZXQtcGFuLWFuaW0gLmxlYWZsZXQtdGlsZSB7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tMSwgJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApXG5cdHRyYW5zaXRpb246IG5vbmU7XG59XG4ubGVhZmxldC1yZXRpbmEgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcblx0Ly9iYWNrZ3JvdW5kLWltYWdlOiAkdXJsXzI7XG5cdC8vYmFja2dyb3VuZC1zaXplOiAyNnB4IDI2cHg7XG59XG5cblxuJGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZTogMTBweDtcbiRkZXZpY2UtbWFya2VyLWFycm93LWJvcmRlci1zaXplOiAxcHg7XG4kZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplLWlubmVyOiAkZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplO1xuJGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZS1vdXR0ZXI6ICgkZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplICsgJGRldmljZS1tYXJrZXItYXJyb3ctYm9yZGVyLXNpemUpO1xuXG4ubGVhZi1kZXZpY2UtbWFya2VyIHtcblx0LmljbyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0Lm5hbWUge1xuXG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMTAwJTtcblx0XHRtYXJnaW4tYm90dG9tOiAkZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplIC8gMjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAlKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwJSk7XG5cblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRib3JkZXI6ICRkZXZpY2UtbWFya2VyLWFycm93LXNpemUtb3V0dGVyIHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cdFx0XHRsZWZ0OiBjYWxjKCA1MCUgLSAjeyRkZXZpY2UtbWFya2VyLWFycm93LXNpemUtb3V0dGVyfSApO1xuXHRcdFx0Ym90dG9tOiAtKCRkZXZpY2UtbWFya2VyLWFycm93LXNpemUtb3V0dGVyIC0gJGRldmljZS1tYXJrZXItYXJyb3ctYm9yZGVyLXNpemUpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRjb2xvci1ib3JkZXItMTAwO1xuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdGJvcmRlcjogJGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZS1pbm5lciBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGxlZnQ6IGNhbGMoIDUwJSAtICN7JGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZS1pbm5lcn0gKTtcblx0XHRcdGJvdHRvbTogLSgkZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplLWlubmVyIC0gJGRldmljZS1tYXJrZXItYXJyb3ctYm9yZGVyLXNpemUpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRjb2xvci1iZy0wMDA7XG5cdFx0fVxuXG5cdFx0aSB7XG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWJnLTAwMDtcblx0XHRcdHBhZGRpbmc6IDRweCA4cHg7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTEwMDtcblx0XHRcdC8vb3BhY2l0eTogMC44O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdH1cblx0fVxuXHQmLmxlYWYtZGV2aWNlLXNlbGVjdGVkIHtcblx0XHR6LWluZGV4OiA5OTk5OTk5OTk5ICFpbXBvcnRhbnQ7XG5cblx0XHQubmFtZSB7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR9XG5cdH1cbn1cblxuLmxlYWZsZXQtaGlzdG9yeS1tYXJrZXIge1xuXHRzdmcge1xuXHRcdHRleHQge1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGZpbGw6IHdoaXRlO1xuXHRcdFx0dGV4dC1hbmNob3I6IG1pZGRsZTtcblx0XHRcdGRvbWluYW50LWJhc2VsaW5lOiBtaWRkbGU7XG5cdFx0fVxuXHR9XG59XG5cbi5sZWFmbGV0LXBvcHVwLWdlb2ZlbmNlIHtcblx0Lm5hbWUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0cGFkZGluZzogNHB4O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuXHRcdG9wYWNpdHk6IDAuODtcblx0XHR0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggIzAwMDtcblx0fVxuXHQubGVhZmxldC1wb3B1cC10aXAtY29udGFpbmVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5sZWFmbGV0LXBvcHVwLXJvdXRlIHtcblx0Lm5hbWUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0cGFkZGluZzogNHB4O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuXHRcdG9wYWNpdHk6IDAuODtcblx0fVxuXHQubGVhZmxldC1wb3B1cC10aXAtY29udGFpbmVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5sZWFmbGV0LXBvcHVwLWV2ZW50LFxuLmxlYWZsZXQtcG9wdXAtaGlzdG9yeSB7XG5cdG1pbi13aWR0aDogMjcwcHg7XG59XG4iLCIubGVhZmxldC1jb250cm9sLWxheWVycyB7XG5cdC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0QGV4dGVuZCAuZHJvcGRvd24tbWVudTtcblx0fVxuXHRsYWJlbCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0QGluY2x1ZGUgY2hlY2tib3goJ2RpdicsICdzcGFuJyk7XG5cdFx0QGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgnZGl2JywgJGNoZWNrYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yLCAnc3BhbicpO1xuXG5cdFx0ZGl2IHtcblx0XHRcdHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXZlcnRpY2FsICRkcm9wZG93bi1wYWRkaW5nLWhvcml6b250YWw7XG5cdFx0fVxuXHR9XG59XG4ubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCB7XG5cdC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5tYXAtY29udHJvbHMge1xuXHQmLnRvcC1yaWdodCB7XG5cdFx0LmxlYWZsZXQtY29udHJvbC1sYXllcnMge1xuXHRcdFx0QGV4dGVuZCAuZHJvcGFycm93O1xuXHRcdFx0QGV4dGVuZCAuZHJvcHJpZ2h0O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0fVxuXG5cdCYudG9wLWxlZnQge1xuXHRcdC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcblx0XHRcdEBleHRlbmQgLmRyb3BhcnJvdztcblx0XHRcdEBleHRlbmQgLmRyb3BsZWZ0O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0fVxuXG5cdCYuYm90dG9tLXJpZ2h0IHtcblx0XHQubGVhZmxldC1jb250cm9sLWxheWVycyB7XG5cdFx0XHRAZXh0ZW5kIC5kcm9wYXJyb3c7XG5cdFx0XHRAZXh0ZW5kIC5kcm9wcmlnaHQ7XG5cdFx0XHRAZXh0ZW5kIC51cDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cdH1cbn1cbiIsIiRjbHVzdGVyLWJvcmRlci13aWR0aDogM3B4ICFkZWZhdWx0O1xuJGNsdXN0ZXItYm9yZGVyLXNwYWNlOiA0cHggIWRlZmF1bHQ7XG4kc3BhY2U6ICRjbHVzdGVyLWJvcmRlci13aWR0aCArICRjbHVzdGVyLWJvcmRlci1zcGFjZTtcblxuJGNsdXN0ZXItcHJpbWFyeS1jb2xvcjogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kY2x1c3Rlci1zZWNvbmRhcnktY29sb3I6ICRjb2xvci1zdGF0dXMtb24gIWRlZmF1bHQ7XG4kY2x1c3Rlci10ZXh0LWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuLmNsdXN0ZXIge1xuICAuY2x1c3Rlci1pbm5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyOiAkY2x1c3Rlci1ib3JkZXItd2lkdGggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICRjbHVzdGVyLXNlY29uZGFyeS1jb2xvciAkY2x1c3Rlci1zZWNvbmRhcnktY29sb3IgdHJhbnNwYXJlbnQgJGNsdXN0ZXItc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRzcGFjZTtcbiAgICAgIHRvcDogJHNwYWNlO1xuICAgICAgQGluY2x1ZGUgY2FsYygnd2lkdGgnLCA0NHB4LCAxMDAlIC0gI3skc3BhY2UgKiAyfSk7XG4gICAgICBAaW5jbHVkZSBjYWxjKCdoZWlnaHQnLCA0NHB4LCAxMDAlIC0gI3skc3BhY2UgKiAyfSk7XG5cbiAgICAgIGJvcmRlci1jb2xvcjogJGNsdXN0ZXItcHJpbWFyeS1jb2xvciAkY2x1c3Rlci1wcmltYXJ5LWNvbG9yIHRyYW5zcGFyZW50ICRjbHVzdGVyLXByaW1hcnktY29sb3I7XG4gICAgfVxuXG4gICAgYiB7XG4gICAgICBjb2xvcjogJGNsdXN0ZXItdGV4dC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogJGNsdXN0ZXItcHJpbWFyeS1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgbGVmdDogJHNwYWNlICogMjtcbiAgICAgIHRvcDogJHNwYWNlICogMjtcblxuICAgICAgQGluY2x1ZGUgY2FsYygnd2lkdGgnLCAzMHB4LCAxMDAlIC0gI3skc3BhY2UgKiAyICogMn0pO1xuICAgICAgQGluY2x1ZGUgY2FsYygnaGVpZ2h0JywgMzBweCwgMTAwJSAtICN7JHNwYWNlICogMiAqIDJ9KTtcbiAgICB9XG4gIH1cblxuICAmLmNsdXN0ZXItbGFyZ2Uge1xuICAgIC5jbHVzdGVyLWlubmVyIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2x1c3Rlci1wcmltYXJ5LWNvbG9yICRjbHVzdGVyLXByaW1hcnktY29sb3IgdHJhbnNwYXJlbnQgJGNsdXN0ZXItcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNsdXN0ZXItc2Vjb25kYXJ5LWNvbG9yICRjbHVzdGVyLXNlY29uZGFyeS1jb2xvciB0cmFuc3BhcmVudCAkY2x1c3Rlci1zZWNvbmRhcnktY29sb3I7XG4gICAgICB9XG5cbiAgICAgIGIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY2x1c3Rlci1zZWNvbmRhcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5sZWFmbGV0LWNsdXN0ZXItYW5pbSAubGVhZmxldC1tYXJrZXItaWNvbiwgLmxlYWZsZXQtY2x1c3Rlci1hbmltIC5sZWFmbGV0LW1hcmtlci1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCwgb3BhY2l0eSAwLjNzIGVhc2UtaW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuM3MgZWFzZS1pbjtcbn1cblxuLmxlYWZsZXQtY2x1c3Rlci1zcGlkZXItbGVnIHtcbiAgLyogc3Ryb2tlLWRhc2hvZmZzZXQgKGR1cmF0aW9uIGFuZCBmdW5jdGlvbikgc2hvdWxkIG1hdGNoIHdpdGggbGVhZmxldC1tYXJrZXItaWNvbiB0cmFuc2Zvcm0gaW4gb3JkZXIgdG8gdHJhY2sgaXQgZXhhY3RseSAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcyBlYXNlLW91dCwgLXdlYmtpdC1zdHJva2Utb3BhY2l0eSAwLjNzIGVhc2UtaW47XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei1zdHJva2UtZGFzaG9mZnNldCAwLjNzIGVhc2Utb3V0LCAtbW96LXN0cm9rZS1vcGFjaXR5IDAuM3MgZWFzZS1pbjtcbiAgLW8tdHJhbnNpdGlvbjogLW8tc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcyBlYXNlLW91dCwgLW8tc3Ryb2tlLW9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAwLjNzIGVhc2Utb3V0LCBzdHJva2Utb3BhY2l0eSAwLjNzIGVhc2UtaW47XG59IiwiQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAtby10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuQG1peGluIGNhbGMoJHByb3BlcnR5LCAkZGVmYXVsdCwgJGV4cHJlc3Npb24pIHtcbiAgI3skcHJvcGVydHl9OiAkZGVmYXVsdDtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skZXhwcmVzc2lvbn0pO1xuICAjeyRwcm9wZXJ0eX06IC1tb3otY2FsYygjeyRleHByZXNzaW9ufSk7XG4gICN7JHByb3BlcnR5fTogLW8tY2FsYygjeyRleHByZXNzaW9ufSk7XG4gICN7JHByb3BlcnR5fTogY2FsYygjeyRleHByZXNzaW9ufSk7XG59XG5cbkBtaXhpbiBzY3JvbGxiYXJzKCRzaXplLCAkZm9yZWdyb3VuZC1jb2xvciwgJGJhY2tncm91bmQtY29sb3I6IG1peCgkZm9yZWdyb3VuZC1jb2xvciwgd2hpdGUsICA1MCUpKSB7XG4gIC8vIEZvciBHb29nbGUgQ2hyb21lXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAgJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgfVxuXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICRmb3JlZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cblxuICAvLyBGb3IgSW50ZXJuZXQgRXhwbG9yZXJcbiAgYm9keSB7XG4gICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIHNjcm9sbGJhci10cmFjay1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRvb2xiYXJzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxlYWZsZXQtZHJhdy1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhciB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyLW5vdG9wIGE6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXItbm9ib3R0b20gYTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3Nwcml0ZXNoZWV0LnBuZycpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpLCB1cmwoJ2ltYWdlcy9zcHJpdGVzaGVldC5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjcwcHggMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xufVxuXG4ubGVhZmxldC1yZXRpbmEgLmxlYWZsZXQtZHJhdy10b29sYmFyIGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3Nwcml0ZXNoZWV0LTJ4LnBuZycpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpLCB1cmwoJ2ltYWdlcy9zcHJpdGVzaGVldC5zdmcnKTtcbn1cblxuLmxlYWZsZXQtZHJhdyBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubGVhZmxldC1kcmF3IGEgLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUb29sYmFyIGFjdGlvbnMgbWVudVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sZWFmbGV0LWRyYXctYWN0aW9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyNnB4OyAvKiBsZWFmbGV0LWRyYXctdG9vbGJhci5sZWZ0ICsgbGVhZmxldC1kcmF3LXRvb2xiYXIud2lkdGggKi9cbiAgICB0b3A6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtZHJhdy1hY3Rpb25zIHtcbiAgICBsZWZ0OiAzMnB4O1xufVxuXG4ubGVhZmxldC1yaWdodCAubGVhZmxldC1kcmF3LWFjdGlvbnMge1xuICAgIHJpZ2h0OiAyNnB4O1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWRyYXctYWN0aW9ucyB7XG4gICAgcmlnaHQ6IDMycHg7XG4gICAgbGVmdDogYXV0bztcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5sZWFmbGV0LWRyYXctYWN0aW9ucyBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbn1cblxuLmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtZHJhdy1hY3Rpb25zIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWRyYXctYWN0aW9ucyBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xufVxuXG4ubGVhZmxldC1kcmF3LWFjdGlvbnMgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkxOTE4NztcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNBQUE7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udDogMTFweC8xOXB4IFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LWFjdGlvbnMgYSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xufVxuXG4ubGVhZmxldC1kcmF3LWFjdGlvbnMtdG9wIGEsXG4ubGVhZmxldC1kcmF3LWFjdGlvbnMtYm90dG9tIGEge1xuICAgIGhlaWdodDogMjdweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNBMEEwOTg7XG59XG5cbi5sZWFmbGV0LWRyYXctYWN0aW9ucy10b3AubGVhZmxldC1kcmF3LWFjdGlvbnMtYm90dG9tIGEge1xuICAgIGhlaWdodDogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEcmF3IHRvb2xiYXJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LXBvbHlsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMnB4IC0ycHg7XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWRyYXctcG9seWxpbmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTFweDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZHJhdy1wb2x5Z29uIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzFweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LXBvbHlnb24ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yOXB4IC0xcHg7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWRyYXctcmVjdGFuZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LXJlY3RhbmdsZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYwcHggLTFweDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZHJhdy1jaXJjbGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MnB4IC0ycHg7XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWRyYXctY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTBweCAtMXB4O1xufVxuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LW1hcmtlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMnB4IC0ycHg7XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWRyYXctbWFya2VyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTFweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBFZGl0IHRvb2xiYXJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LWVkaXQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LWVkaXQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAtMXB4O1xufVxuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LXJlbW92ZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MnB4IC0ycHg7XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWVkaXQtcmVtb3ZlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgwcHggLTFweDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZWRpdC1lZGl0LmxlYWZsZXQtZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LWVkaXQubGVhZmxldC1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxMHB4IC0xcHg7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWVkaXQtcmVtb3ZlLmxlYWZsZXQtZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LXJlbW92ZS5sZWFmbGV0LWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTJweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEcmF3aW5nIHN0eWxlc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sZWFmbGV0LW1vdXNlLW1hcmtlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IGNyb3NzaGFpcjtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoNTQsIDU0LCA1NCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250OiAxMnB4LzE4cHggXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC0yMXB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHotaW5kZXg6IDY7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbHRpcDpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIGJsYWNrO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3cHg7XG4gICAgbGVmdDogLTdweDtcbn1cblxuLmxlYWZsZXQtZXJyb3ItZHJhdy10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJERURFO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFNkI2QkQ7XG4gICAgY29sb3I6ICNCOTRBNDg7XG59XG5cbi5sZWFmbGV0LWVycm9yLWRyYXctdG9vbHRpcDpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogI0U2QjZCRDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sdGlwLXNpbmdsZSB7XG4gICAgbWFyZ2luLXRvcDogLTEycHhcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sdGlwLXN1YnRleHQge1xuICAgIGNvbG9yOiAjZjhkNWU0O1xufVxuXG4ubGVhZmxldC1kcmF3LWd1aWRlLWRhc2gge1xuICAgIGZvbnQtc2l6ZTogMSU7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNXB4O1xuICAgIGhlaWdodDogNXB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEVkaXQgc3R5bGVzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxlYWZsZXQtZWRpdC1tYXJrZXItc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCA4NywgMTYxLCAwLjEpO1xuICAgIGJvcmRlcjogNHB4IGRhc2hlZCByZ2JhKDI1NCwgODcsIDE2MSwgMC42KTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5sZWFmbGV0LWVkaXQtbW92ZSB7XG4gICAgY3Vyc29yOiBtb3ZlO1xufVxuXG4ubGVhZmxldC1lZGl0LXJlc2l6ZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE9sZCBJRSBzdHlsZXNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubGVhZmxldC1vbGRpZSAubGVhZmxldC1kcmF3LXRvb2xiYXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG59IiwiI2dwcy1kZXZpY2UtcGFyYW1ldGVycy12aWV3IHtcbiAgd2lkdGg6IDMwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgc3BhbltkYXRhLWRldmljZT1cInN0cmVldHZpZXdcIl0ge1xuICAgIG1pbi1oZWlnaHQ6IDEyNXB4O1xuICB9XG59XG4jZ3BzLWRldmljZS1zdHJlZXQtdmlldy1sYXJnZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgc3BhbltkYXRhLWRldmljZT1cInN0cmVldHZpZXdcIl0ge1xuICAgIG1pbi1oZWlnaHQ6IDI2MXB4O1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLmxlYWZsZXQtcG9wdXAtbWFwLWljb24ge1xuICB3aWR0aDogMjAwcHg7XG59XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAkcG9wdXAtYm9keS1iZztcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KSk7XG5cbiAgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuLnBvcHVwLWhlYWRlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBiYWNrZ3JvdW5kOiAkcG9wdXAtaGVhZGVyLWJnO1xuXG4gIC5uYXYtdGFicyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIC8vbWFyZ2luOiAtKCRwb3B1cC1oZWFkZXItcGFkZGluZyk7XG4gIH1cblxuICAucG9wdXAtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG4gICAgZm9udC1zaXplOiAkcG9wdXAtdGl0bGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkcG9wdXAtdGl0bGUtY29sb3I7XG5cbiAgICBwYWRkaW5nOiAkcG9wdXAtaGVhZGVyLXBhZGRpbmc7XG4gIH1cbn1cblxuLnBvcHVwLWJvZHkge1xuICBiYWNrZ3JvdW5kOiAkcG9wdXAtYm9keS1iZztcbiAgcGFkZGluZzogJHBvcHVwLWlubmVyLXBhZGRpbmc7XG4gIGNvbG9yOiAkcG9wdXAtYm9keS1jb2xvcjtcbiAgZm9udC1zaXplOiAkcG9wdXAtYm9keS1mb250LXNpemU7XG5cbiAgPiAubmF2IHtcbiAgICBtYXJnaW46IC0oJHBvcHVwLWlubmVyLXBhZGRpbmcpO1xuICAgIG1hcmdpbi1ib3R0b206ICRwb3B1cC1pbm5lci1wYWRkaW5nO1xuICB9XG5cbiAgLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgdGJvZHkgPiB0ciB7XG4gICAgICA+IHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgIH1cbiAgICAgID4gdGQsXG4gICAgICA+IHRoIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5hdXRvY29tcGxldGUtc3VnZ2VzdGlvbnMge1xuICBib3JkZXI6IDFweCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyO1xuICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tYmc7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb24ge1xuICBwYWRkaW5nOiAycHggNXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYXV0b2NvbXBsZXRlLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG59XG5cbi5hdXRvY29tcGxldGUtc3VnZ2VzdGlvbnMgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbn1cblxuLmF1dG9jb21wbGV0ZS1ncm91cCB7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG59XG5cbi5hdXRvY29tcGxldGUtZ3JvdXAgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbn0iLCIvLyBOT1RFOiBieSB1c2luZyAhZGVmYXVsdCBvbiBhbGwgdmFyaWFibGVzLCB3ZSdyZSBzYXlpbmcgb25seSBkZWNsYXJlIHRoZSB2YXJpYWJsZSBpZiBpdCBkb2Vzbid0XG4vLyBhbHJlYWR5IGV4aXN0LCB3aGljaCBhbGxvd3MgZGV2cyB0byBkZWNsYXJlIHRoZXNlIHZhcmlhYmxlcyB0aGVtc2VsdmVzIGFuZCBhc3NpZ24gdGhlbSBhbnkgdmFsdWVcbi8vIHRoZXkgd2FudCBiZWZvcmUgaW1wb3J0aW5nIHRoaXMgZmlsZVxuXG4vLyByZ2JhIGlzIG5lZWRlZCBmb3IgdGhlIHNlbGVjdGVkIGZsYWcgaG92ZXIgc3RhdGUgdG8gYmxlbmQgaW4gd2l0aFxuLy8gdGhlIGJvcmRlci1oaWdobGlnaHRpbmcgc29tZSBicm93c2VycyBnaXZlIHRoZSBpbnB1dCBvbiBmb2N1c1xuJGhvdmVyQ29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnICFkZWZhdWx0O1xuJGdyZXlUZXh0OiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRncmV5Qm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyICFkZWZhdWx0O1xuXG4kZmxhZ0hlaWdodDogMTVweCAhZGVmYXVsdDtcbiRmbGFnV2lkdGg6IDIwcHggIWRlZmF1bHQ7XG4kZmxhZ1BhZGRpbmc6IDhweCAhZGVmYXVsdDtcbi8vIHRoaXMgYm9yZGVyIHdpZHRoIGlzIHVzZWQgZm9yIHRoZSBwb3B1cCBhbmQgZGl2aWRlciwgYnV0IGl0IGlzIGFsc29cbi8vIGFzc3VtZWQgdG8gYmUgdGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgaW5wdXQsIHdoaWNoIHdlIGRvIG5vdCBjb250cm9sXG4kYm9yZGVyV2lkdGg6IDFweCAhZGVmYXVsdDtcblxuJGFycm93SGVpZ2h0OiA0cHggIWRlZmF1bHQ7XG4kYXJyb3dXaWR0aDogNnB4ICFkZWZhdWx0O1xuJHRyaWFuZ2xlQm9yZGVyOiAzcHggIWRlZmF1bHQ7XG4kYXJyb3dQYWRkaW5nOiA2cHggIWRlZmF1bHQ7XG4kYXJyb3dDb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dFBhZGRpbmc6IDZweCAhZGVmYXVsdDtcbiRzZWxlY3RlZEZsYWdXaWR0aDogJGZsYWdXaWR0aCArICgyICogJGZsYWdQYWRkaW5nKSAhZGVmYXVsdDtcbiRzZWxlY3RlZEZsYWdBcnJvd1dpZHRoOiAkZmxhZ1dpZHRoICsgJGZsYWdQYWRkaW5nICsgJGFycm93V2lkdGggKyAoMiAqICRhcnJvd1BhZGRpbmcpICFkZWZhdWx0O1xuXG4vLyBpbWFnZSByZWxhdGVkIHZhcmlhYmxlc1xuJGZsYWdzSW1hZ2VQYXRoOiBcIi4uL2ltYWdlcy9pbnRsdGVsaW5wdXQvXCIgIWRlZmF1bHQ7XG4kZmxhZ3NJbWFnZU5hbWU6IFwiZmxhZ3NcIiAhZGVmYXVsdDtcbiRmbGFnc0ltYWdlRXh0ZW5zaW9uOiBcInBuZ1wiICFkZWZhdWx0O1xuXG4vLyBlbm91Z2ggc3BhY2UgZm9yIHRoZW0gdG8gY2xpY2sgb2ZmIHRvIGNsb3NlXG4kbW9iaWxlUG9wdXBNYXJnaW46IDMwcHggIWRlZmF1bHQ7XG5cbi5mb3JtLWdyb3VwIC5pdGl7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaXRpIHtcbiAgLy8gbmVlZCBwb3NpdGlvbiBvbiB0aGUgY29udGFpbmVyIHNvIHRoZSBzZWxlY3RlZCBmbGFnIGNhbiBiZVxuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgb3ZlciB0aGUgaW5wdXRcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBrZWVwIHRoZSBpbnB1dCdzIGRlZmF1bHQgaW5saW5lIHByb3BlcnRpZXNcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC8vIHBhdWwgaXJpc2ggc2F5cyB0aGlzIGlzIG9rXG4gIC8vIGh0dHA6Ly93d3cucGF1bGlyaXNoLmNvbS8yMDEyL2JveC1zaXppbmctYm9yZGVyLWJveC1mdHcvXG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgJl9faGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvLyBuZWVkIHRoaXMgZHVyaW5nIGluaXQsIHRvIGdldCB0aGUgaGVpZ2h0IG9mIHRoZSBkcm9wZG93blxuICAmX192LWhpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIHNwZWNpZnkgdHlwZXMgdG8gaW5jcmVhc2Ugc3BlY2lmaWNpdHkgZS5nLiB0byBvdmVycmlkZSBib290c3RyYXAgdjIuM1xuICBpbnB1dCwgaW5wdXRbdHlwZT10ZXh0XSwgaW5wdXRbdHlwZT10ZWxdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gaW5wdXQgaXMgYm90dG9tIGxldmVsLCBiZWxvdyBzZWxlY3RlZCBmbGFnIGFuZCBkcm9wZG93blxuICAgIHotaW5kZXg6IDA7XG5cbiAgICAvLyBhbnkgdmVydGljYWwgbWFyZ2luIHRoZSB1c2VyIGhhcyBvbiB0aGVpciBpbnB1dHMgd291bGQgbm8gbG9uZ2VyIHdvcmsgYXMgZXhwZWN0ZWRcbiAgICAvLyBiZWNhdXNlIHdlIHdyYXAgZXZlcnl0aGluZyBpbiBhIGNvbnRhaW5lciBkaXYuIGkganVzdGlmeSB0aGUgdXNlIG9mICFpbXBvcnRhbnRcbiAgICAvLyBoZXJlIGJlY2F1c2UgaSBkb24ndCB0aGluayB0aGUgdXNlciBzaG91bGQgZXZlciBoYXZlIHZlcnRpY2FsIG1hcmdpbiBoZXJlIC0gd2hlblxuICAgIC8vIHRoZSBpbnB1dCBpcyB3cmFwcGVkIGluIGEgY29udGFpbmVyLCB2ZXJ0aWNhbCBtYXJnaW4gbWVzc2VzIHVwIGFsaWdubWVudCB3aXRoIG90aGVyXG4gICAgLy8gaW5saW5lIGVsZW1lbnRzIChlLmcuIGFuIGFkamFjZW50IGJ1dHRvbikgaW4gZmlyZWZveCwgYW5kIHByb2JhYmx5IG90aGVyIGJyb3dzZXJzLlxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAvLyBtYWtlIHNwYWNlIGZvciB0aGUgc2VsZWN0ZWQgZmxhZyBvbiByaWdodCBvZiBpbnB1dCAoaWYgZGlzYWJsZWQgYWxsb3dEcm9wZG93bilcbiAgICAvLyBOb3RlOiBubyAhaW1wb3J0YW50IGhlcmUsIGFzIHRoZSB1c2VyIG1heSB3YW50IHRvIHR3ZWFrIHRoaXMgc28gdGhhdCB0aGVcbiAgICAvLyBwZXJjZWl2ZWQgaW5wdXQgcGFkZGluZyBtYXRjaGVzIHRoZWlyIGV4aXN0aW5nIHN0eWxlc1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzZWxlY3RlZEZsYWdXaWR0aDtcblxuICAgIC8vIGFueSBtYXJnaW4tcmlnaHQgaGVyZSB3aWxsIHB1c2ggdGhlIHNlbGVjdGVkLWZsYWcgYXdheVxuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gICZfX2ZsYWctY29udGFpbmVyIHtcbiAgICAvLyBwb3NpdGlvbmVkIG92ZXIgdGhlIHRvcCBvZiB0aGUgaW5wdXRcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gZnVsbCBoZWlnaHRcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIC8vIHByZXZlbnQgdGhlIGhpZ2hsaWdodGVkIGNoaWxkIGZyb20gb3ZlcmxhcHBpbmcgdGhlIGlucHV0IGJvcmRlclxuICAgIHBhZGRpbmc6ICRib3JkZXJXaWR0aDtcbiAgfVxuXG4gICZfX3NlbGVjdGVkLWZsYWcge1xuICAgIC8vIHJlbmRlciBhYm92ZSB0aGUgaW5wdXRcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gdGhpcyBtdXN0IGJlIGZ1bGwtaGVpZ2h0IGJvdGggZm9yIHRoZSBob3ZlciBoaWdobGlnaHQsIGFuZCB0byBwdXNoIGRvd24gdGhlXG4gICAgLy8gZHJvcGRvd24gc28gaXQgYXBwZWFycyBiZWxvdyB0aGUgaW5wdXRcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMCAkYXJyb3dQYWRkaW5nIDAgJGZsYWdQYWRkaW5nO1xuICB9XG5cbiAgJl9fYXJyb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAkYXJyb3dQYWRkaW5nO1xuXG4gICAgLy8gY3NzIHRyaWFuZ2xlXG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAkdHJpYW5nbGVCb3JkZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkdHJpYW5nbGVCb3JkZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogJGFycm93SGVpZ2h0IHNvbGlkICRhcnJvd0NvbG9yO1xuXG4gICAgJi0tdXAge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhcnJvd0hlaWdodCBzb2xpZCAkYXJyb3dDb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyB0aGUgZHJvcGRvd25cbiAgJl9fY291bnRyeS1saXN0IHtcbiAgICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gcG9wdXAgc28gcmVuZGVyIGFib3ZlIGV2ZXJ5dGhpbmcgZWxzZVxuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBvdmVycmlkZSBkZWZhdWx0IGxpc3Qgc3R5bGVzXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvLyBpbiBjYXNlIGFueSBjb250YWluZXIgaGFzIHRleHQtYWxpZ246Y2VudGVyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC8vIHBsYWNlIG1lbnUgYWJvdmUgdGhlIGlucHV0IGVsZW1lbnRcbiAgICAmLS1kcm9wdXAge1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogKC0kYm9yZGVyV2lkdGgpO1xuICAgIH1cblxuICAgIHBhZGRpbmc6IDA7XG4gICAgLy8gbWFyZ2luLWxlZnQgdG8gY29tcGVuc2F0ZSBmb3IgdGhlIHBhZGRpbmcgb24gdGhlIHBhcmVudFxuICAgIG1hcmdpbjogMCAwIDAgKC0kYm9yZGVyV2lkdGgpO1xuXG4gICAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggcmdiYSgwLDAsMCwwLjIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgICBib3JkZXI6ICRib3JkZXJXaWR0aCBzb2xpZCAkZ3JleUJvcmRlcjtcblxuICAgIC8vIGRvbid0IGxldCB0aGUgY29udGVudHMgd3JhcCBBS0EgdGhlIGNvbnRhaW5lciB3aWxsIGJlIGFzIHdpZGUgYXMgdGhlIGNvbnRlbnRzXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvLyBleGNlcHQgb24gc21hbGwgc2NyZWVucywgd2hlcmUgd2UgZm9yY2UgdGhlIGRyb3Bkb3duIHdpZHRoIHRvIG1hdGNoIHRoZSBpbnB1dFxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICAvLyBGaXhlcyBodHRwczovL2dpdGh1Yi5jb20vamFja29jbnIvaW50bC10ZWwtaW5wdXQvaXNzdWVzLzc2NVxuICAgIC8vIEFwcGxlIHN0aWxsIGhhc24ndCBmaXhlZCB0aGUgaXNzdWUgd2hlcmUgc2V0dGluZyBvdmVyZmxvdzogc2Nyb2xsIG9uIGEgZGl2IGVsZW1lbnQgZG9lcyBub3QgdXNlIGluZXJ0aWEgc2Nyb2xsaW5nXG4gICAgLy8gSWYgdGhpcyBpcyBub3Qgc2V0LCB0aGVuIHRoZSBjb3VudHJ5IGxpc3Qgc2Nyb2xsIHN0b3BzIG1vdmluZyBhZnRlciByYXNpbmcgYSBmaW5nZXIsIGFuZCB1c2VycyByZXBvcnQgdGhhdCBzY3JvbGwgaXMgc2xvd1xuICAgIC8vIFN0YWNrb3ZlcmZsb3cgcXVlc3Rpb24gYWJvdXQgaXQ6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzMzNjAxMTY1L3Njcm9sbGluZy1zbG93LW9uLW1vYmlsZS1pb3Mtd2hlbi11c2luZy1vdmVyZmxvd3Njcm9sbFxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8vIGRyb3Bkb3duIGZsYWdzIG5lZWQgY29uc2lzdGVudCB3aWR0aCwgc28gd3JhcCBpbiBhIGNvbnRhaW5lclxuICAmX19mbGFnLWJveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkZmxhZ1dpZHRoO1xuICB9XG5cbiAgLy8gdGhlIGRpdmlkZXIgYmVsb3cgdGhlIHByZWZlcnJlZCBjb3VudHJpZXNcbiAgJl9fZGl2aWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcldpZHRoIHNvbGlkICRncmV5Qm9yZGVyO1xuICB9XG5cbiAgLy8gZWFjaCBjb3VudHJ5IGl0ZW0gaW4gZHJvcGRvd24gKHdlIG11c3QgaGF2ZSBzZXBhcmF0ZSBjbGFzcyB0byBkaWZmZXJlbnRpYXRlIGZyb20gZGl2aWRlcnMpXG4gICZfX2NvdW50cnkge1xuICAgIC8vIE5vdGU6IGRlY2lkZWQgbm90IHRvIHVzZSBsaW5lLWhlaWdodCBoZXJlIGZvciBhbGlnbm1lbnQgYmVjYXVzZSBpdCBjYXVzZXMgaXNzdWVzIGUuZy4gbGFyZ2UgZm9udC1zaXplcyB3aWxsIG92ZXJsYXAsIGFuZCBhbHNvIGxvb2tzIGJhZCBpZiBvbmUgY291bnRyeSBvdmVyZmxvd3Mgb250byAyIGxpbmVzXG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC8vIHRoZSBkaWFsIGNvZGVzIGFmdGVyIHRoZSBjb3VudHJ5IG5hbWVzIGFyZSBncmV5ZWQgb3V0XG4gICZfX2RpYWwtY29kZSB7XG4gICAgY29sb3I6ICRncmV5VGV4dDtcbiAgfVxuICAmX19jb3VudHJ5Lml0aV9faGlnaGxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXJDb2xvcjtcbiAgfVxuXG4gIC8vIHNwYWNpbmcgYmV0d2VlbiBjb3VudHJ5IGZsYWcsIG5hbWUgYW5kIGRpYWwgY29kZVxuICAmX19mbGFnLWJveCwgJl9fY291bnRyeS1uYW1lLCAmX19kaWFsLWNvZGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgJl9fZmxhZy1ib3gsICZfX2NvdW50cnktbmFtZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cblxuICAvLyB0aGVzZSBzZXR0aW5ncyBhcmUgaW5kZXBlbmRlbnQgb2YgZWFjaCBvdGhlciwgYnV0IGJvdGggbW92ZSBzZWxlY3RlZCBmbGFnIHRvIGxlZnQgb2YgaW5wdXRcbiAgJi0tYWxsb3ctZHJvcGRvd24sICYtLXNlcGFyYXRlLWRpYWwtY29kZSB7XG4gICAgaW5wdXQsIGlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9dGVsXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXRQYWRkaW5nO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkc2VsZWN0ZWRGbGFnQXJyb3dXaWR0aCArICRpbnB1dFBhZGRpbmc7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgLml0aV9fZmxhZy1jb250YWluZXIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gICYtLWFsbG93LWRyb3Bkb3duIHtcbiAgICAvLyBob3ZlciBzdGF0ZSAtIHNob3cgZmxhZyBpcyBjbGlja2FibGVcbiAgICAuaXRpX19mbGFnLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAuaXRpX19zZWxlY3RlZC1mbGFnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyQ29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGRpc2FibGUgaG92ZXIgc3RhdGUgd2hlbiBpbnB1dCBpcyBkaXNhYmxlZFxuICAgIGlucHV0W2Rpc2FibGVkXSArIC5pdGlfX2ZsYWctY29udGFpbmVyOmhvdmVyLFxuICAgIGlucHV0W3JlYWRvbmx5XSArIC5pdGlfX2ZsYWctY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIC5pdGlfX3NlbGVjdGVkLWZsYWcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1zZXBhcmF0ZS1kaWFsLWNvZGUge1xuICAgIC5pdGlfX3NlbGVjdGVkLWZsYWcge1xuICAgICAgLy8gbm93IHRoYXQgd2UgaGF2ZSBkaWdpdHMgaW4gdGhpcyBzZWN0aW9uLCBpdCBuZWVkcyB0aGlzIHZpc3VhbCBzZXBhcmF0aW9uXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXJDb2xvcjtcbiAgICB9XG4gICAgLml0aV9fc2VsZWN0ZWQtZGlhbC1jb2RlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkYXJyb3dQYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIGlmIGRyb3Bkb3duQ29udGFpbmVyIG9wdGlvbiBpcyBzZXQsIGluY3JlYXNlIHotaW5kZXggdG8gcHJldmVudCBkaXNwbGF5IGlzc3Vlc1xuICAmLS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMDAwcHg7XG4gICAgbGVmdDogLTEwMDBweDtcbiAgICAvLyBoaWdoZXIgdGhhbiBkZWZhdWx0IEJvb3RzdHJhcCBtb2RhbCB6LWluZGV4IG9mIDEwNTBcbiAgICB6LWluZGV4OiAxMDYwO1xuICAgIC8vIHRvIGtlZXAgc3R5bGluZyBjb25zaXN0ZW50IHdpdGggLmZsYWctY29udGFpbmVyXG4gICAgcGFkZGluZzogJGJvcmRlcldpZHRoO1xuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBvdmVycmlkZXMgZm9yIG1vYmlsZSBwb3B1cCAobm90ZTogLml0aS1tb2JpbGUgY2xhc3MgaXMgYXBwbGllZCBvbiBib2R5KVxuLml0aS1tb2JpbGUgLml0aSB7XG4gICYtLWNvbnRhaW5lciB7XG4gICAgdG9wOiAkbW9iaWxlUG9wdXBNYXJnaW47XG4gICAgYm90dG9tOiAkbW9iaWxlUG9wdXBNYXJnaW47XG4gICAgbGVmdDogJG1vYmlsZVBvcHVwTWFyZ2luO1xuICAgIHJpZ2h0OiAkbW9iaWxlUG9wdXBNYXJnaW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gICZfX2NvdW50cnktbGlzdCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAmX19jb3VudHJ5IHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgLy8gaW5jcmVhc2UgbGluZSBoZWlnaHQgYmVjYXVzZSBkcm9wZG93biBjb3B5IGlzIHYgbGlrZWx5IHRvIG92ZXJmbG93IG9uIG1vYmlsZSBhbmQgd2hlbiBpdCBkb2VzIGl0IG5lZWRzIHRvIGJlIHdlbGwgc3BhY2VkXG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICB9XG59XG5cbkBpbXBvcnQgXCJzcHJpdGVcIjtcblxuLml0aV9fZmxhZyB7XG4gIGhlaWdodDogJGZsYWdIZWlnaHQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMXB4IDBweCAjODg4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmbGFnc0ltYWdlUGF0aH0jeyRmbGFnc0ltYWdlTmFtZX0uI3skZmxhZ3NJbWFnZUV4dGVuc2lvbn1cIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC8vIGVtcHR5IHN0YXRlXG4gIGJhY2tncm91bmQtY29sb3I6ICNEQkRCREI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRmbGFnV2lkdGggMDtcblxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmxhZ3NJbWFnZVBhdGh9I3skZmxhZ3NJbWFnZU5hbWV9QDJ4LiN7JGZsYWdzSW1hZ2VFeHRlbnNpb259XCIpO1xuICB9XG59XG5cbi8vIGhhY2sgZm9yIE5lcGFsIHdoaWNoIGlzIHRoZSBvbmx5IGZsYWcgdGhhdCBpcyBub3Qgc3F1YXJlL3JlY3RhbmdsZSwgc28gaXQgaGFzIHRyYW5zcGFyZW5jeSwgc28geW91IGNhbiBzZWUgdGhlIGRlZmF1bHQgZ3JleSBiZWhpbmQgaXRcbi5pdGlfX2ZsYWcuaXRpX19ucCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufSIsIkBmdW5jdGlvbiByZXRpbmEtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBmbG9vcigkdmFsdWUgLyAyKTtcbn1cblxuQG1peGluIHJldGluYS1iZy1zaXplKCRzcHJpdGVXaWR0aCwgJHNwcml0ZUhlaWdodCkge1xuICBiYWNrZ3JvdW5kLXNpemU6IGZsb29yKCRzcHJpdGVXaWR0aCAvIDIpIGZsb29yKCRzcHJpdGVIZWlnaHQgLyAyKTtcbn1cblxuLml0aV9fZmxhZyB7XG4gICRpdGVtLXdpZHRoLW1hcHM6IChhYzogMjBweCwgYWQ6IDIwcHgsIGFlOiAyMHB4LCBhZjogMjBweCwgYWc6IDIwcHgsIGFpOiAyMHB4LCBhbDogMjBweCwgYW06IDIwcHgsIGFvOiAyMHB4LCBhcTogMjBweCwgYXI6IDIwcHgsIGFzOiAyMHB4LCBhdDogMjBweCwgYXU6IDIwcHgsIGF3OiAyMHB4LCBheDogMjBweCwgYXo6IDIwcHgsIGJhOiAyMHB4LCBiYjogMjBweCwgYmQ6IDIwcHgsIGJlOiAxOHB4LCBiZjogMjBweCwgYmc6IDIwcHgsIGJoOiAyMHB4LCBiaTogMjBweCwgYmo6IDIwcHgsIGJsOiAyMHB4LCBibTogMjBweCwgYm46IDIwcHgsIGJvOiAyMHB4LCBicTogMjBweCwgYnI6IDIwcHgsIGJzOiAyMHB4LCBidDogMjBweCwgYnY6IDIwcHgsIGJ3OiAyMHB4LCBieTogMjBweCwgYno6IDIwcHgsIGNhOiAyMHB4LCBjYzogMjBweCwgY2Q6IDIwcHgsIGNmOiAyMHB4LCBjZzogMjBweCwgY2g6IDE1cHgsIGNpOiAyMHB4LCBjazogMjBweCwgY2w6IDIwcHgsIGNtOiAyMHB4LCBjbjogMjBweCwgY286IDIwcHgsIGNwOiAyMHB4LCBjcjogMjBweCwgY3U6IDIwcHgsIGN2OiAyMHB4LCBjdzogMjBweCwgY3g6IDIwcHgsIGN5OiAyMHB4LCBjejogMjBweCwgZGU6IDIwcHgsIGRnOiAyMHB4LCBkajogMjBweCwgZGs6IDIwcHgsIGRtOiAyMHB4LCBkbzogMjBweCwgZHo6IDIwcHgsIGVhOiAyMHB4LCBlYzogMjBweCwgZWU6IDIwcHgsIGVnOiAyMHB4LCBlaDogMjBweCwgZXI6IDIwcHgsIGVzOiAyMHB4LCBldDogMjBweCwgZXU6IDIwcHgsIGZpOiAyMHB4LCBmajogMjBweCwgZms6IDIwcHgsIGZtOiAyMHB4LCBmbzogMjBweCwgZnI6IDIwcHgsIGdhOiAyMHB4LCBnYjogMjBweCwgZ2Q6IDIwcHgsIGdlOiAyMHB4LCBnZjogMjBweCwgZ2c6IDIwcHgsIGdoOiAyMHB4LCBnaTogMjBweCwgZ2w6IDIwcHgsIGdtOiAyMHB4LCBnbjogMjBweCwgZ3A6IDIwcHgsIGdxOiAyMHB4LCBncjogMjBweCwgZ3M6IDIwcHgsIGd0OiAyMHB4LCBndTogMjBweCwgZ3c6IDIwcHgsIGd5OiAyMHB4LCBoazogMjBweCwgaG06IDIwcHgsIGhuOiAyMHB4LCBocjogMjBweCwgaHQ6IDIwcHgsIGh1OiAyMHB4LCBpYzogMjBweCwgaWQ6IDIwcHgsIGllOiAyMHB4LCBpbDogMjBweCwgaW06IDIwcHgsIGluOiAyMHB4LCBpbzogMjBweCwgaXE6IDIwcHgsIGlyOiAyMHB4LCBpczogMjBweCwgaXQ6IDIwcHgsIGplOiAyMHB4LCBqbTogMjBweCwgam86IDIwcHgsIGpwOiAyMHB4LCBrZTogMjBweCwga2c6IDIwcHgsIGtoOiAyMHB4LCBraTogMjBweCwga206IDIwcHgsIGtuOiAyMHB4LCBrcDogMjBweCwga3I6IDIwcHgsIGt3OiAyMHB4LCBreTogMjBweCwga3o6IDIwcHgsIGxhOiAyMHB4LCBsYjogMjBweCwgbGM6IDIwcHgsIGxpOiAyMHB4LCBsazogMjBweCwgbHI6IDIwcHgsIGxzOiAyMHB4LCBsdDogMjBweCwgbHU6IDIwcHgsIGx2OiAyMHB4LCBseTogMjBweCwgbWE6IDIwcHgsIG1jOiAxOXB4LCBtZDogMjBweCwgbWU6IDIwcHgsIG1mOiAyMHB4LCBtZzogMjBweCwgbWg6IDIwcHgsIG1rOiAyMHB4LCBtbDogMjBweCwgbW06IDIwcHgsIG1uOiAyMHB4LCBtbzogMjBweCwgbXA6IDIwcHgsIG1xOiAyMHB4LCBtcjogMjBweCwgbXM6IDIwcHgsIG10OiAyMHB4LCBtdTogMjBweCwgbXY6IDIwcHgsIG13OiAyMHB4LCBteDogMjBweCwgbXk6IDIwcHgsIG16OiAyMHB4LCBuYTogMjBweCwgbmM6IDIwcHgsIG5lOiAxOHB4LCBuZjogMjBweCwgbmc6IDIwcHgsIG5pOiAyMHB4LCBubDogMjBweCwgbm86IDIwcHgsIG5wOiAxM3B4LCBucjogMjBweCwgbnU6IDIwcHgsIG56OiAyMHB4LCBvbTogMjBweCwgcGE6IDIwcHgsIHBlOiAyMHB4LCBwZjogMjBweCwgcGc6IDIwcHgsIHBoOiAyMHB4LCBwazogMjBweCwgcGw6IDIwcHgsIHBtOiAyMHB4LCBwbjogMjBweCwgcHI6IDIwcHgsIHBzOiAyMHB4LCBwdDogMjBweCwgcHc6IDIwcHgsIHB5OiAyMHB4LCBxYTogMjBweCwgcmU6IDIwcHgsIHJvOiAyMHB4LCByczogMjBweCwgcnU6IDIwcHgsIHJ3OiAyMHB4LCBzYTogMjBweCwgc2I6IDIwcHgsIHNjOiAyMHB4LCBzZDogMjBweCwgc2U6IDIwcHgsIHNnOiAyMHB4LCBzaDogMjBweCwgc2k6IDIwcHgsIHNqOiAyMHB4LCBzazogMjBweCwgc2w6IDIwcHgsIHNtOiAyMHB4LCBzbjogMjBweCwgc286IDIwcHgsIHNyOiAyMHB4LCBzczogMjBweCwgc3Q6IDIwcHgsIHN2OiAyMHB4LCBzeDogMjBweCwgc3k6IDIwcHgsIHN6OiAyMHB4LCB0YTogMjBweCwgdGM6IDIwcHgsIHRkOiAyMHB4LCB0ZjogMjBweCwgdGc6IDIwcHgsIHRoOiAyMHB4LCB0ajogMjBweCwgdGs6IDIwcHgsIHRsOiAyMHB4LCB0bTogMjBweCwgdG46IDIwcHgsIHRvOiAyMHB4LCB0cjogMjBweCwgdHQ6IDIwcHgsIHR2OiAyMHB4LCB0dzogMjBweCwgdHo6IDIwcHgsIHVhOiAyMHB4LCB1ZzogMjBweCwgdW06IDIwcHgsIHVuOiAyMHB4LCB1czogMjBweCwgdXk6IDIwcHgsIHV6OiAyMHB4LCB2YTogMTVweCwgdmM6IDIwcHgsIHZlOiAyMHB4LCB2ZzogMjBweCwgdmk6IDIwcHgsIHZuOiAyMHB4LCB2dTogMjBweCwgd2Y6IDIwcHgsIHdzOiAyMHB4LCB4azogMjBweCwgeWU6IDIwcHgsIHl0OiAyMHB4LCB6YTogMjBweCwgem06IDIwcHgsIHp3OiAyMHB4LCApO1xuICAkc3RhbmRhcmQtY291bnRyeTogJ2FjJztcbiAgd2lkdGg6IG1hcC1nZXQoJGl0ZW0td2lkdGgtbWFwcywgJHN0YW5kYXJkLWNvdW50cnkpO1xuXG4gIEBlYWNoICRrZXksICR3aWR0aCBpbiAkaXRlbS13aWR0aC1tYXBzIHtcbiAgICBAaWYgJHdpZHRoICE9IG1hcC1nZXQoJGl0ZW0td2lkdGgtbWFwcywgJHN0YW5kYXJkLWNvdW50cnkpIHtcbiAgICAgICYuaXRpX18jeyRrZXl9IHtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1NjUycHggMTVweDtcbiAgfVxuXG4gICYuaXRpX19hYyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FkIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIycHggMHB4O1xuICB9XG4gICYuaXRpX19hZSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IDBweDtcbiAgfVxuICAmLml0aV9fYWYge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjZweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FnIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg4cHggMHB4O1xuICB9XG4gICYuaXRpX19haSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FsIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzMnB4IDBweDtcbiAgfVxuICAmLml0aV9fYW0ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU0cHggMHB4O1xuICB9XG4gICYuaXRpX19hbyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FxIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5OHB4IDBweDtcbiAgfVxuICAmLml0aV9fYXIge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIwcHggMHB4O1xuICB9XG4gICYuaXRpX19hcyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDJweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2F0IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2NHB4IDBweDtcbiAgfVxuICAmLml0aV9fYXUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg2cHggMHB4O1xuICB9XG4gICYuaXRpX19hdyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMDhweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2F4IHtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMzMHB4IDBweDtcbiAgfVxuICAmLml0aV9fYXoge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzUycHggMHB4O1xuICB9XG4gICYuaXRpX19iYSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzRweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JiIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5NnB4IDBweDtcbiAgfVxuICAmLml0aV9fYmQge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDE4cHggMHB4O1xuICB9XG4gICYuaXRpX19iZSB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JmIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2MHB4IDBweDtcbiAgfVxuICAmLml0aV9fYmcge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDgycHggMHB4O1xuICB9XG4gICYuaXRpX19iaCB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDRweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JpIHtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUyNnB4IDBweDtcbiAgfVxuICAmLml0aV9fYmoge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTQ4cHggMHB4O1xuICB9XG4gICYuaXRpX19ibCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NzBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JtIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU5MnB4IDBweDtcbiAgfVxuICAmLml0aV9fYm4ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjE0cHggMHB4O1xuICB9XG4gICYuaXRpX19ibyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MzZweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JxIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1OHB4IDBweDtcbiAgfVxuICAmLml0aV9fYnIge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjgwcHggMHB4O1xuICB9XG4gICYuaXRpX19icyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03MDJweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2J0IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcyNHB4IDBweDtcbiAgfVxuICAmLml0aV9fYnYge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzQ2cHggMHB4O1xuICB9XG4gICYuaXRpX19idyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03NjhweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2J5IHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc5MHB4IDBweDtcbiAgfVxuICAmLml0aV9fYnoge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODEycHggMHB4O1xuICB9XG4gICYuaXRpX19jYSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC04MzRweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2NjIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg1NnB4IDBweDtcbiAgfVxuICAmLml0aV9fY2Qge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODc4cHggMHB4O1xuICB9XG4gICYuaXRpX19jZiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MDBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2NnIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTkyMnB4IDBweDtcbiAgfVxuICAmLml0aV9fY2gge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTQ0cHggMHB4O1xuICB9XG4gICYuaXRpX19jaSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05NjFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2NrIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk4M3B4IDBweDtcbiAgfVxuICAmLml0aV9fY2wge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwNXB4IDBweDtcbiAgfVxuICAmLml0aV9fY20ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAyN3B4IDBweDtcbiAgfVxuICAmLml0aV9fY24ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA0OXB4IDBweDtcbiAgfVxuICAmLml0aV9fY28ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA3MXB4IDBweDtcbiAgfVxuICAmLml0aV9fY3Age1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA5M3B4IDBweDtcbiAgfVxuICAmLml0aV9fY3Ige1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTExNXB4IDBweDtcbiAgfVxuICAmLml0aV9fY3Uge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEzN3B4IDBweDtcbiAgfVxuICAmLml0aV9fY3Yge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTE1OXB4IDBweDtcbiAgfVxuICAmLml0aV9fY3cge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTE4MXB4IDBweDtcbiAgfVxuICAmLml0aV9fY3gge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwM3B4IDBweDtcbiAgfVxuICAmLml0aV9fY3kge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIyNXB4IDBweDtcbiAgfVxuICAmLml0aV9fY3oge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI0N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZGUge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI2OXB4IDBweDtcbiAgfVxuICAmLml0aV9fZGcge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI5MXB4IDBweDtcbiAgfVxuICAmLml0aV9fZGoge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMxM3B4IDBweDtcbiAgfVxuICAmLml0aV9fZGsge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMzNXB4IDBweDtcbiAgfVxuICAmLml0aV9fZG0ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM1N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZG8ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM3OXB4IDBweDtcbiAgfVxuICAmLml0aV9fZHoge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQwMXB4IDBweDtcbiAgfVxuICAmLml0aV9fZWEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQyM3B4IDBweDtcbiAgfVxuICAmLml0aV9fZWMge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZWUge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ2N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZWcge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ4OXB4IDBweDtcbiAgfVxuICAmLml0aV9fZWgge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUxMXB4IDBweDtcbiAgfVxuICAmLml0aV9fZXIge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUzM3B4IDBweDtcbiAgfVxuICAmLml0aV9fZXMge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU1NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZXQge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU3N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZXUge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU5OXB4IDBweDtcbiAgfVxuICAmLml0aV9fZmkge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYyMXB4IDBweDtcbiAgfVxuICAmLml0aV9fZmoge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY0M3B4IDBweDtcbiAgfVxuICAmLml0aV9fZmsge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY2NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZm0ge1xuICAgIGhlaWdodDogMTFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY4N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZm8ge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTcwOXB4IDBweDtcbiAgfVxuICAmLml0aV9fZnIge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTczMXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ2Ege1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc1M3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ2Ige1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc3NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ2Qge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc5N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ2Uge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgxOXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ2Yge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTg0MXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ2cge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTg2M3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ2gge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTg4NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ2kge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkwN3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ2wge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkyOXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ20ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk1MXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ24ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk3M3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Age1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk5NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Ege1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAxN3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Ige1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAzOXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Mge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA2MXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Qge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4M3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Uge1xuICAgIGhlaWdodDogMTFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjEwNXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ3cge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjEyN3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ3kge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjE0OXB4IDBweDtcbiAgfVxuICAmLml0aV9faGsge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjE3MXB4IDBweDtcbiAgfVxuICAmLml0aV9faG0ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjE5M3B4IDBweDtcbiAgfVxuICAmLml0aV9faG4ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIxNXB4IDBweDtcbiAgfVxuICAmLml0aV9faHIge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIzN3B4IDBweDtcbiAgfVxuICAmLml0aV9faHQge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI1OXB4IDBweDtcbiAgfVxuICAmLml0aV9faHUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI4MXB4IDBweDtcbiAgfVxuICAmLml0aV9faWMge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMwM3B4IDBweDtcbiAgfVxuICAmLml0aV9faWQge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMyNXB4IDBweDtcbiAgfVxuICAmLml0aV9faWUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjM0N3B4IDBweDtcbiAgfVxuICAmLml0aV9faWwge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjM2OXB4IDBweDtcbiAgfVxuICAmLml0aV9faW0ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjM5MXB4IDBweDtcbiAgfVxuICAmLml0aV9faW4ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQxM3B4IDBweDtcbiAgfVxuICAmLml0aV9faW8ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQzNXB4IDBweDtcbiAgfVxuICAmLml0aV9faXEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQ1N3B4IDBweDtcbiAgfVxuICAmLml0aV9faXIge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQ3OXB4IDBweDtcbiAgfVxuICAmLml0aV9faXMge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjUwMXB4IDBweDtcbiAgfVxuICAmLml0aV9faXQge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjUyM3B4IDBweDtcbiAgfVxuICAmLml0aV9famUge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU0NXB4IDBweDtcbiAgfVxuICAmLml0aV9fam0ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU2N3B4IDBweDtcbiAgfVxuICAmLml0aV9fam8ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU4OXB4IDBweDtcbiAgfVxuICAmLml0aV9fanAge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjYxMXB4IDBweDtcbiAgfVxuICAmLml0aV9fa2Uge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjYzM3B4IDBweDtcbiAgfVxuICAmLml0aV9fa2cge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY1NXB4IDBweDtcbiAgfVxuICAmLml0aV9fa2gge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY3N3B4IDBweDtcbiAgfVxuICAmLml0aV9fa2kge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY5OXB4IDBweDtcbiAgfVxuICAmLml0aV9fa20ge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjcyMXB4IDBweDtcbiAgfVxuICAmLml0aV9fa24ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjc0M3B4IDBweDtcbiAgfVxuICAmLml0aV9fa3Age1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjc2NXB4IDBweDtcbiAgfVxuICAmLml0aV9fa3Ige1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjc4N3B4IDBweDtcbiAgfVxuICAmLml0aV9fa3cge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjgwOXB4IDBweDtcbiAgfVxuICAmLml0aV9fa3kge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjgzMXB4IDBweDtcbiAgfVxuICAmLml0aV9fa3oge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg1M3B4IDBweDtcbiAgfVxuICAmLml0aV9fbGEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg3NXB4IDBweDtcbiAgfVxuICAmLml0aV9fbGIge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg5N3B4IDBweDtcbiAgfVxuICAmLml0aV9fbGMge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjkxOXB4IDBweDtcbiAgfVxuICAmLml0aV9fbGkge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjk0MXB4IDBweDtcbiAgfVxuICAmLml0aV9fbGsge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjk2M3B4IDBweDtcbiAgfVxuICAmLml0aV9fbHIge1xuICAgIGhlaWdodDogMTFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjk4NXB4IDBweDtcbiAgfVxuICAmLml0aV9fbHMge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzAwN3B4IDBweDtcbiAgfVxuICAmLml0aV9fbHQge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzAyOXB4IDBweDtcbiAgfVxuICAmLml0aV9fbHUge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA1MXB4IDBweDtcbiAgfVxuICAmLml0aV9fbHYge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA3M3B4IDBweDtcbiAgfVxuICAmLml0aV9fbHkge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA5NXB4IDBweDtcbiAgfVxuICAmLml0aV9fbWEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzExN3B4IDBweDtcbiAgfVxuICAmLml0aV9fbWMge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzEzOXB4IDBweDtcbiAgfVxuICAmLml0aV9fbWQge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzE2MHB4IDBweDtcbiAgfVxuICAmLml0aV9fbWUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzE4MnB4IDBweDtcbiAgfVxuICAmLml0aV9fbWYge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzIwNHB4IDBweDtcbiAgfVxuICAmLml0aV9fbWcge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzIyNnB4IDBweDtcbiAgfVxuICAmLml0aV9fbWgge1xuICAgIGhlaWdodDogMTFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI0OHB4IDBweDtcbiAgfVxuICAmLml0aV9fbWsge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI3MHB4IDBweDtcbiAgfVxuICAmLml0aV9fbWwge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI5MnB4IDBweDtcbiAgfVxuICAmLml0aV9fbW0ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzMxNHB4IDBweDtcbiAgfVxuICAmLml0aV9fbW4ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzMzNnB4IDBweDtcbiAgfVxuICAmLml0aV9fbW8ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM1OHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXAge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM4MHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQwMnB4IDBweDtcbiAgfVxuICAmLml0aV9fbXIge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQyNHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXMge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQ0NnB4IDBweDtcbiAgfVxuICAmLml0aV9fbXQge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQ2OHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXUge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQ5MHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXYge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzUxMnB4IDBweDtcbiAgfVxuICAmLml0aV9fbXcge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzUzNHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXgge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzU1NnB4IDBweDtcbiAgfVxuICAmLml0aV9fbXkge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzU3OHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXoge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzYwMHB4IDBweDtcbiAgfVxuICAmLml0aV9fbmEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzYyMnB4IDBweDtcbiAgfVxuICAmLml0aV9fbmMge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzY0NHB4IDBweDtcbiAgfVxuICAmLml0aV9fbmUge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzY2NnB4IDBweDtcbiAgfVxuICAmLml0aV9fbmYge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzY4NnB4IDBweDtcbiAgfVxuICAmLml0aV9fbmcge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzcwOHB4IDBweDtcbiAgfVxuICAmLml0aV9fbmkge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzczMHB4IDBweDtcbiAgfVxuICAmLml0aV9fbmwge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzc1MnB4IDBweDtcbiAgfVxuICAmLml0aV9fbm8ge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzc3NHB4IDBweDtcbiAgfVxuICAmLml0aV9fbnAge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzc5NnB4IDBweDtcbiAgfVxuICAmLml0aV9fbnIge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzgxMXB4IDBweDtcbiAgfVxuICAmLml0aV9fbnUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzgzM3B4IDBweDtcbiAgfVxuICAmLml0aV9fbnoge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg1NXB4IDBweDtcbiAgfVxuICAmLml0aV9fb20ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg3N3B4IDBweDtcbiAgfVxuICAmLml0aV9fcGEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg5OXB4IDBweDtcbiAgfVxuICAmLml0aV9fcGUge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzkyMXB4IDBweDtcbiAgfVxuICAmLml0aV9fcGYge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzk0M3B4IDBweDtcbiAgfVxuICAmLml0aV9fcGcge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzk2NXB4IDBweDtcbiAgfVxuICAmLml0aV9fcGgge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzk4N3B4IDBweDtcbiAgfVxuICAmLml0aV9fcGsge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDAwOXB4IDBweDtcbiAgfVxuICAmLml0aV9fcGwge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDAzMXB4IDBweDtcbiAgfVxuICAmLml0aV9fcG0ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA1M3B4IDBweDtcbiAgfVxuICAmLml0aV9fcG4ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA3NXB4IDBweDtcbiAgfVxuICAmLml0aV9fcHIge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA5N3B4IDBweDtcbiAgfVxuICAmLml0aV9fcHMge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDExOXB4IDBweDtcbiAgfVxuICAmLml0aV9fcHQge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDE0MXB4IDBweDtcbiAgfVxuICAmLml0aV9fcHcge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDE2M3B4IDBweDtcbiAgfVxuICAmLml0aV9fcHkge1xuICAgIGhlaWdodDogMTFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDE4NXB4IDBweDtcbiAgfVxuICAmLml0aV9fcWEge1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MjA3cHggMHB4O1xuICB9XG4gICYuaXRpX19yZSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MjI5cHggMHB4O1xuICB9XG4gICYuaXRpX19ybyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MjUxcHggMHB4O1xuICB9XG4gICYuaXRpX19ycyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MjczcHggMHB4O1xuICB9XG4gICYuaXRpX19ydSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00Mjk1cHggMHB4O1xuICB9XG4gICYuaXRpX19ydyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MzE3cHggMHB4O1xuICB9XG4gICYuaXRpX19zYSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MzM5cHggMHB4O1xuICB9XG4gICYuaXRpX19zYiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MzYxcHggMHB4O1xuICB9XG4gICYuaXRpX19zYyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MzgzcHggMHB4O1xuICB9XG4gICYuaXRpX19zZCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDA1cHggMHB4O1xuICB9XG4gICYuaXRpX19zZSB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDI3cHggMHB4O1xuICB9XG4gICYuaXRpX19zZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDQ5cHggMHB4O1xuICB9XG4gICYuaXRpX19zaCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDcxcHggMHB4O1xuICB9XG4gICYuaXRpX19zaSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDkzcHggMHB4O1xuICB9XG4gICYuaXRpX19zaiB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NTE1cHggMHB4O1xuICB9XG4gICYuaXRpX19zayB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NTM3cHggMHB4O1xuICB9XG4gICYuaXRpX19zbCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NTU5cHggMHB4O1xuICB9XG4gICYuaXRpX19zbSB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NTgxcHggMHB4O1xuICB9XG4gICYuaXRpX19zbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjAzcHggMHB4O1xuICB9XG4gICYuaXRpX19zbyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjI1cHggMHB4O1xuICB9XG4gICYuaXRpX19zciB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjQ3cHggMHB4O1xuICB9XG4gICYuaXRpX19zcyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjY5cHggMHB4O1xuICB9XG4gICYuaXRpX19zdCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjkxcHggMHB4O1xuICB9XG4gICYuaXRpX19zdiB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NzEzcHggMHB4O1xuICB9XG4gICYuaXRpX19zeCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NzM1cHggMHB4O1xuICB9XG4gICYuaXRpX19zeSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NzU3cHggMHB4O1xuICB9XG4gICYuaXRpX19zeiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00Nzc5cHggMHB4O1xuICB9XG4gICYuaXRpX190YSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODAxcHggMHB4O1xuICB9XG4gICYuaXRpX190YyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODIzcHggMHB4O1xuICB9XG4gICYuaXRpX190ZCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODQ1cHggMHB4O1xuICB9XG4gICYuaXRpX190ZiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODY3cHggMHB4O1xuICB9XG4gICYuaXRpX190ZyB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODg5cHggMHB4O1xuICB9XG4gICYuaXRpX190aCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00OTExcHggMHB4O1xuICB9XG4gICYuaXRpX190aiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00OTMzcHggMHB4O1xuICB9XG4gICYuaXRpX190ayB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00OTU1cHggMHB4O1xuICB9XG4gICYuaXRpX190bCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00OTc3cHggMHB4O1xuICB9XG4gICYuaXRpX190bSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00OTk5cHggMHB4O1xuICB9XG4gICYuaXRpX190biB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDIxcHggMHB4O1xuICB9XG4gICYuaXRpX190byB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDQzcHggMHB4O1xuICB9XG4gICYuaXRpX190ciB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDY1cHggMHB4O1xuICB9XG4gICYuaXRpX190dCB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDg3cHggMHB4O1xuICB9XG4gICYuaXRpX190diB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MTA5cHggMHB4O1xuICB9XG4gICYuaXRpX190dyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MTMxcHggMHB4O1xuICB9XG4gICYuaXRpX190eiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MTUzcHggMHB4O1xuICB9XG4gICYuaXRpX191YSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MTc1cHggMHB4O1xuICB9XG4gICYuaXRpX191ZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MTk3cHggMHB4O1xuICB9XG4gICYuaXRpX191bSB7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MjE5cHggMHB4O1xuICB9XG4gICYuaXRpX191biB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MjQxcHggMHB4O1xuICB9XG4gICYuaXRpX191cyB7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MjYzcHggMHB4O1xuICB9XG4gICYuaXRpX191eSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01Mjg1cHggMHB4O1xuICB9XG4gICYuaXRpX191eiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MzA3cHggMHB4O1xuICB9XG4gICYuaXRpX192YSB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MzI5cHggMHB4O1xuICB9XG4gICYuaXRpX192YyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MzQ2cHggMHB4O1xuICB9XG4gICYuaXRpX192ZSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MzY4cHggMHB4O1xuICB9XG4gICYuaXRpX192ZyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MzkwcHggMHB4O1xuICB9XG4gICYuaXRpX192aSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NDEycHggMHB4O1xuICB9XG4gICYuaXRpX192biB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NDM0cHggMHB4O1xuICB9XG4gICYuaXRpX192dSB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NDU2cHggMHB4O1xuICB9XG4gICYuaXRpX193ZiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NDc4cHggMHB4O1xuICB9XG4gICYuaXRpX193cyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NTAwcHggMHB4O1xuICB9XG4gICYuaXRpX194ayB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NTIycHggMHB4O1xuICB9XG4gICYuaXRpX195ZSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NTQ0cHggMHB4O1xuICB9XG4gICYuaXRpX195dCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NTY2cHggMHB4O1xuICB9XG4gICYuaXRpX196YSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NTg4cHggMHB4O1xuICB9XG4gICYuaXRpX196bSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NjEwcHggMHB4O1xuICB9XG4gICYuaXRpX196dyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NjMycHggMHB4O1xuICB9XG59IiwiJHN0aWNreS1mb290ZXItaGVpZ2h0OiAzMHB4O1xuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvL21pbi1oZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuYm9keXtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvL2JhY2tncm91bmQ6ICNjY2M7XG4gLy8gbWFyZ2luLWJvdHRvbTogJHN0aWNreS1mb290ZXItaGVpZ2h0O1xufVxuXG4jZm9vdGVyIHtcbiAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTk5OTk5O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgaGVpZ2h0OiAkc3RpY2t5LWZvb3Rlci1oZWlnaHQ7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuLmNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYWRtaW4tbGF5b3V0IHtcbiAgPiAuY29udGVudCB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IC00MHB4O1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuXG4gICAgJjphZnRlcntcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6ICRzdGlja3ktZm9vdGVyLWhlaWdodDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vKlxuLmRhdGUge1xuICBmb250LXNpemU6IDAuNjVlbTtcbn1cbi50aW1lIHtcbiAgZm9udC1zaXplOiAwLjg1ZW07XG59XG4qL1xuXG5cbi5vbiB7XG4gIGNvbG9yOiAkY29sb3Itc3RhdHVzLW9uICFpbXBvcnRhbnQ7XG59XG5cbltkYXRhLWRldmljZT1cInN0YXR1c1wiXSxcbi5kZXZpY2Utc3RhdHVzLFxuLnN0YXR1cyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctMzAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmctMzAwO1xuXG4gIHRleHQtaW5kZW50OiA5OTk5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuW2RhdGEtZGV2aWNlPVwiZW5naW5lXCJdLFxuW2RhdGEtZGV2aWNlPVwiZGV0ZWN0X2VuZ2luZVwiXXtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbltkYXRhLXRvZ2dsZT1cInNjcm9sbFwiXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbiNzaWRlYmFyIFtkYXRhLWRldmljZT1cInNwZWVkXCJdIHtcbiAgQGV4dGVuZCAucnViYmVyQmFuZDtcbiAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG5cbiAgY29sb3I6ICRjb2xvci10ZXh0LTYwMDtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuXG4uYWN0aW9uLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgd2lkdGg6IDE5cHg7XG4gIGhlaWdodDogMTlweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDlweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbiAgY29sb3I6ICMwMDA7XG5cbiAgLmV2ZW50LWFjdGlvbiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWE0ZjRmO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2VhNGY0ZjtcbiAgfVxuICAucGFyay1hY3Rpb24gJiB7XG4gICAgYmFja2dyb3VuZDogIzg0ODQ4NDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICM4NDg0ODQ7XG4gIH1cbiAgLmRyaXZlLWFjdGlvbiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWI5OWJkO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzFiOTliZDtcbiAgfVxufVxuXG4uZGF0ZXRpbWUge1xuICAuZGF0ZSxcbiAgLnRpbWUge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLmNlbnRlci12ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5zY3JvbGxib3gge1xuICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAyNTBweDtcblxuICA+IC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuLnNjcm9sbGJveC1sYXJnZSB7XG4gIEBleHRlbmQgLnNjcm9sbGJveDtcblxuICBtYXgtaGVpZ2h0OiAzODVweDtcbn1cbi5zY3JvbGxib3gtdmVydGljYWwge1xuICBAZXh0ZW5kIC5zY3JvbGxib3g7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5zY3JvbGxib3gtdmVydGljYWwtbGFyZ2Uge1xuICBAZXh0ZW5kIC5zY3JvbGxib3gtdmVydGljYWw7XG5cbiAgbWF4LWhlaWdodDogMzg1cHg7XG59XG5cbi5pY29uLWxpc3Qge1xuICAucmFkaW8sXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveCxcbiAgLmNoZWNrYm94LWlubGluZSB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsYWJlbCB7XG4gICAgICBwYWRkaW5nOiA3cHg7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG4gICAgfVxuICB9XG59XG5cbi5hY3Rpb24tYmxvY2sge1xuICBAZXh0ZW5kIC50ZXh0LXJpZ2h0O1xuXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgLmJ0biB7XG4gICAgQGV4dGVuZCAuYnRuLXNtO1xuICB9XG59XG5cbi51aS1zb3J0YWJsZS1oYW5kbGUge1xuICBjdXJzb3I6bW92ZTtcbn1cblxuLmxhbmctbGlzdCB7XG4gIEBleHRlbmQgLmNsZWFyZml4O1xuXG4gIC5sYW5nLWl0ZW0ge1xuICAgIEBleHRlbmQgLmNvbC14cy02O1xuICAgIEBleHRlbmQgLmNvbC1zbS00O1xuXG4gICAgLmJ0biB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4ucC1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG5cbi5pbWctZnVsbC13aWR0aCB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4jbWFwRm9yUGhvdG8ge1xuICBoZWlnaHQ6IDE0MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuI3JlcXVlc3RQaG90byB7XG4gIC5hdHRyaWJ1dGVzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC5mb3JtLWdyb3VwID4gbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnJvdy5uby1wYWRkaW5nIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICA+IFtjbGFzc149XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4udG9vbHRpcC1tYXJrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDZweDtcbiAgcGFkZGluZzogMnB4IDVweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTMwMDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnRvb2x0aXAudG9vbHRpcC1pbWd7XG4gIC50b29sdGlwLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLnRvb2x0aXAudG9vbHRpcC1pbWVpe1xuICAudG9vbHRpcC1pbm5lciB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbDtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIG1heC13aWR0aDogMzYwcHg7IHdpZHRoOiAzNjBweDsgaGVpZ2h0OiAxOTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZXI7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTEwMDtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTMwcHg7XG4gICAgfVxuICB9XG59XG5cbmltZyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbn1cblxuaW1nW2RhdGEtc3JjXSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jaGVja2xpc3Qtc3RhdHVzIHtcbiAgJi5jb21wbGV0ZSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG5cbiAgJi5pbmNvbXBsZXRlIHtcbiAgICBjb2xvcjogcmVkO1xuICB9XG59XG5cbi5jaGVja2xpc3Qtcm93LWFjdGl2aXR5IHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59IiwiQG1peGluIGljb24tY29sb3IoJGljb24tZWxlbWVudCwgJGljb24tY29sb3I6ICRpY29uLWNvbG9yLCAkYWN0aW9uLXNlbGVjdDogJyYuYWN0aXZlLCY6aG92ZXInLCAkaWNvbi1hY3Rpb24tY29sb3I6IGluaGVyaXQpIHtcbiAgI3skaWNvbi1lbGVtZW50fSB7XG4gICAgY29sb3I6ICRpY29uLWNvbG9yO1xuICB9XG4gICN7JGFjdGlvbi1zZWxlY3R9IHtcbiAgICAjeyRpY29uLWVsZW1lbnR9IHtcbiAgICAgIGNvbG9yOiAkaWNvbi1hY3Rpb24tY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG59XG5cbi5pY29uICsgLnRleHQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvL2Ryb3Bkb3dubWVudSBidWdcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuaW1nLnNlbnNvci1pY29uIHtcbiAgbWF4LXdpZHRoOiAyNXB4O1xuICBtYXgtaGVpZ2h0OiAyNXB4O1xufVxuXG4uaWNvbi1mYSB7XG4gICY6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICB9XG59XG5cbi5pY28uaWNvLW9iamVjdC1hcnJvdyB7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgdGV4dC1zaGFkb3c6IDBweCAwcHggMnB4ICRjb2xvci1ib3JkZXItMTAwO1xufVxuXG4uaWNvbiB7XG4gIEBleHRlbmQgLmljbztcblxuICAmLmltcG9ydCB7XG4gICAgQGV4dGVuZCAuaWNvLXVwbG9hZDtcbiAgfVxuXG4gICYuY2hlY2sge1xuICAgIEBleHRlbmQgLmljby1jaGVjaztcbiAgfVxuICAmLnRhc2sge1xuICAgIEBleHRlbmQgLmljby1jaGVjaztcbiAgfVxuICAmLnRhc2staW1wb3J0IHtcbiAgICBAZXh0ZW5kIC5pY28tdXBsb2FkO1xuICB9XG4gICYuc3R5bGl6ZS0xIHtcbiAgICBAZXh0ZW5kIC5pY28tc3R5bGl6ZS0xO1xuICB9XG4gICYuY2hhdCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1jb21tZW50cy1vO1xuICB9XG4gICYuc2hhcmluZyB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1zaGFyZS1hbHQ7XG4gIH1cbiAgJi5leHRlcm5hbC1saW5rIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWxpc3Q7XG4gIH1cbiAgJi5zZW5kIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXNlbmQtbztcbiAgfVxuICAmLmZvcndhcmRzIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXNoYXJlO1xuICB9XG5cbiAgJi5leWUge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtZXllO1xuICB9XG4gICYuc3RyZWV0dmlldyxcbiAgJi5jYW1lcmEge1xuICAgIEBleHRlbmQgLmljby1jYW1lcmE7XG4gIH1cbiAgJi5lbWFpbCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1lbnZlbG9wZTtcbiAgfVxuICAmLnJlc3RhcnQge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtcmVmcmVzaDtcbiAgfVxuICAmLnJlc2V0IHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXJlcGVhdDtcbiAgfVxuICAmLnRyYXNoIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXRyYXNoO1xuICB9XG4gICYubW9uZXkge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtbW9uZXk7XG4gIH1cbiAgJi5kYXNoYm9hcmQge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtZGFzaGJvYXJkO1xuICB9XG4gICYudW5pdC1kaXN0YW5jZSB7XG4gICAgQGV4dGVuZCAuaWNvLWFycm93LWxlZnQtcmlnaHQ7XG4gIH1cbiAgJi51bml0LWFsdGl0dWRlIHtcbiAgICBAZXh0ZW5kIC5pY28tYXJyb3ctdXAtZG93bjtcbiAgfVxuICAmLnVuaXQtY2FwYWNpdHkge1xuICAgIEBleHRlbmQgLmljby1mdWVsO1xuICB9XG4gICYucGxheSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1wbGF5O1xuICB9XG4gICYucGF1c2Uge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtcGF1c2U7XG4gIH1cbiAgJi5zdG9wIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXN0b3A7XG4gIH1cbiAgJi5wbHVzIHtcbiAgICBAZXh0ZW5kIC5pY28tcGx1cztcbiAgfVxuICAmLm1pbnVzIHtcbiAgICBAZXh0ZW5kIC5pY28tbWludXM7XG4gIH1cbiAgJi5zZWFyY2gge1xuICAgIEBleHRlbmQgLmljby1zZWFyY2g7XG4gIH1cbiAgJi5nbG9iZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1nbG9iZTtcbiAgfVxuICAmLm1hcCB7XG4gICAgQGV4dGVuZCAuaWNvLWxvY2F0aW9uO1xuICB9XG4gICYubG9ncyB7XG4gICAgQGV4dGVuZCAuaWNvLWxvZ3M7XG4gIH1cbiAgJi5jb250ZW50IHtcbiAgICBAZXh0ZW5kIC5pY28tZGV0YWlscztcbiAgfVxuICAmLmxvb2t1cCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS10YWJsZTtcbiAgfVxuICAmLmxpc3Qge1xuICAgIEBleHRlbmQgLmljby1kZXRhaWxzO1xuICB9XG4gICYubWFwLWNoYW5nZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1tYXAtbztcbiAgfVxuICAmLm1hcC1leHBhbmQge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtYXJyb3dzLWFsdDtcbiAgfVxuICAmLnpvb21JbiB7XG4gICAgQGV4dGVuZCAuaWNvLXpvb207XG4gIH1cbiAgJi56b29tT3V0IHtcbiAgICBAZXh0ZW5kIC5pY28tbWludXM7XG4gIH1cbiAgJi5maXRCb3VuZHMge1xuICAgIEBleHRlbmQgLmljby1maXRib3VuZHM7XG4gIH1cbiAgJi5ncm91cC1kZXZpY2VzIHtcbiAgICBAZXh0ZW5kIC5pY28tZ3JvdXBpbmc7XG4gIH1cbiAgJi5wYXJraW5nIHtcbiAgICBAZXh0ZW5kIC5pY28tcGFya2luZztcbiAgfVxuICAmLnJlbW92ZS1hbGwge1xuICAgIEBleHRlbmQgLmljby14O1xuICB9XG4gICYucmVtb3ZlLFxuICAmLmRlbGV0ZSB7XG4gICAgQGV4dGVuZCAuaWNvLXg7XG4gIH1cbiAgJi5hZGQge1xuICAgIEBleHRlbmQgLmljby1wbHVzO1xuICB9XG4gICYub3B0aW9ucyB7XG4gICAgQGV4dGVuZCAuaWNvLW9wdGlvbnMtdjtcbiAgfVxuICAmLmVkaXQge1xuICAgIEBleHRlbmQgLmljby1nZWFyO1xuICB9XG4gICYubXVsdGktZWRpdCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1jb2dzO1xuICB9XG4gICYuZmlsdGVyIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWZpbHRlcjtcbiAgfVxuICAmLmhpc3RvcnktY2xlYW4ge1xuICAgIEBleHRlbmQgLmljby14O1xuICB9XG4gICYuaGlzdG9yeS1leHBvcnQge1xuICAgIEBleHRlbmQgLmljby1kb3dubG9hZDtcbiAgfVxuICAmLmRvd25sb2FkIHtcbiAgICBAZXh0ZW5kIC5pY28tZG93bmxvYWQ7XG4gIH1cbiAgJi51cGxvYWQge1xuICAgIEBleHRlbmQgLmljby11cGxvYWQ7XG4gIH1cbiAgJi5jYWxlbmRhciB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1jYWxlbmRhcjtcbiAgfVxuICAmLnRpbWUge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtY2xvY2stbztcbiAgfVxuICAmLmxhc3QtaG91ciB7XG4gICAgQGV4dGVuZCAuaWNvLXRpbWUtaG91cjtcbiAgfVxuICAmLnRvZGF5IHtcbiAgICBAZXh0ZW5kIC5pY28tdGltZS10b2RheTtcbiAgfVxuICAmLnllc3RlcmRheSB7XG4gICAgQGV4dGVuZCAuaWNvLXRpbWUteWVzdGVyZGF5O1xuICB9XG4gICYuZm9sbG93IHtcbiAgICBAZXh0ZW5kIC5pY28tZm9sbG93O1xuICB9XG4gICYuc2VuZC1jb21tYW5kIHtcbiAgICBAZXh0ZW5kIC5pY28tYXJyb3ctcmlnaHQ7XG4gIH1cbiAgJi5hZG1pbiB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1jb2dzO1xuICB9XG4gICYudG9vbHMge1xuICAgIEBleHRlbmQgLmljby10b29sO1xuICB9XG4gICYuZHJpdmVyIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXVzZXI7XG4gIH1cbiAgJi5yZmlkIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWNyZWRpdC1jYXJkO1xuICB9XG4gICYucm91dGVzIHtcbiAgICBAZXh0ZW5kIC5pY28tc3RyZWV0O1xuICB9XG4gICYucm91dGUtaW1wb3J0IHtcbiAgICBAZXh0ZW5kIC5pY28tc3RyZWV0O1xuICB9XG4gICYucmVwb3J0cyB7XG4gICAgQGV4dGVuZCAuaWNvLXJlcG9ydHM7XG4gIH1cbiAgJi5ydWxlciB7XG4gICAgQGV4dGVuZCAuaWNvLXJ1bGVyLW87XG4gIH1cbiAgJi5wb2ludCB7XG4gICAgQGV4dGVuZCAuaWNvLXBvaW50O1xuICB9XG4gICYuYWRkcmVzcyB7XG4gICAgQGV4dGVuZCAuaWNvLWhvdXNlO1xuICB9XG4gICYuc2V0dGluZ3MsXG4gICYuc2V0dGluZyxcbiAgJi5zZXR1cCB7XG4gICAgQGV4dGVuZCAuaWNvLWdlYXItbztcbiAgfVxuICAmLm1lbWJlcnNoaXAge1xuICAgIEBleHRlbmQgLmljby11c2VyO1xuICB9XG4gICYucGFzc3dvcmQge1xuICAgIEBleHRlbmQgLmljby11c2VyLXNldHRpbmdzO1xuICB9XG4gICYubG9nb3V0IHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWtleTtcbiAgfVxuICAmLmRldGVjdF9lbmdpbmUsXG4gICYuZW5naW5lIHtcbiAgICBAZXh0ZW5kIC5pY28tZW5naW5lO1xuICB9XG5cbiAgJi5hY2NvdW50IHtcbiAgICBAZXh0ZW5kIC5pY28tYWNjb3VudDtcbiAgfVxuICAmLnVzZXJzIHtcbiAgICBAZXh0ZW5kIC5pY28tdXNlcjtcbiAgfVxuICAmLnVzZXIge1xuICAgIEBleHRlbmQgLmljby11c2VyO1xuICB9XG4gICYudXNlci1hZGQge1xuICAgIEBleHRlbmQgLmljby11c2VyLWFkZDtcbiAgfVxuICAmLnVzZXItZWRpdCB7XG4gICAgQGV4dGVuZCAuaWNvLXVzZXItc2V0dGluZ3M7XG4gIH1cblxuICAmLmRldmljZXMge1xuICAgIEBleHRlbmQgLmljby1vYmplY3QtbztcbiAgfVxuICAmLmRldmljZSB7XG4gICAgQGV4dGVuZCAuaWNvLW9iamVjdDtcbiAgfVxuICAmLmRldmljZS1hZGQge1xuICAgIEBleHRlbmQgLmljby1vYmplY3QtYWRkO1xuICB9XG4gICYuZGV2aWNlLWltcG9ydCB7XG4gICAgQGV4dGVuZCAuaWNvLW9iamVjdC1pbXBvcnQ7XG4gIH1cblxuICAmLmRldmljZS1kaXN0YW5jZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1yb2FkO1xuICB9XG5cbiAgJi5wb2lzIHtcbiAgICBAZXh0ZW5kIC5pY28tcG9pO1xuICB9XG4gICYucG9pIHtcbiAgICBAZXh0ZW5kIC5pY28tcG9pO1xuICB9XG4gICYucG9pLWltcG9ydCB7XG4gICAgQGV4dGVuZCAuaWNvLXBvaS1pbXBvcnQ7XG4gIH1cblxuICAmLmdlb2ZlbmNlcyB7XG4gICAgQGV4dGVuZCAuaWNvLWdlb2ZlbmNlO1xuICB9XG4gICYuZ2VvZmVuY2Uge1xuICAgIEBleHRlbmQgLmljby1nZW9mZW5jZTtcbiAgfVxuICAmLmdlb2ZlbmNlLWltcG9ydCB7XG4gICAgQGV4dGVuZCAuaWNvLWdlb2ZlbmNlLWltcG9ydDtcbiAgfVxuXG4gICYuYWxlcnQge1xuICAgIEBleHRlbmQgLmljby1ldmVudDtcbiAgfVxuICAmLmFsZXJ0cyB7XG4gICAgQGV4dGVuZCAuaWNvLWV2ZW50O1xuICB9XG4gICYuZXZlbnRzIHtcbiAgICBAZXh0ZW5kIC5pY28tZXZlbnQ7XG4gIH1cbiAgJi5ldmVudCB7XG4gICAgQGV4dGVuZCAuaWNvLWV2ZW50O1xuICB9XG4gICYuZXZlbnQtYWRkIHtcbiAgICBAZXh0ZW5kIC5pY28tYWRkLWV2ZW50O1xuICB9XG5cbiAgJi5zaG93LW5hbWUge1xuICAgIEBleHRlbmQgLmljby1zaG93LW5hbWVzMjtcbiAgfVxuICAmLnNob3ctdGFpbCB7XG4gICAgQGV4dGVuZCAuaWNvLXNob3ctdHJhaWw7XG4gIH1cbiAgJi50cmFmZmljIHtcbiAgICBAZXh0ZW5kIC5pY28tdHJhZmZpYztcbiAgfVxuXG4gICYuc2Vuc29ycyB7XG4gICAgQGV4dGVuZCAuaWNvLXNlbnNvcjtcbiAgfVxuICAmLnNlcnZpY2VzIHtcbiAgICBAZXh0ZW5kIC5pY28tdG9vbDtcbiAgfVxuICAmLmRvb3IsXG4gICYuZG9vcnMge1xuICAgIEBleHRlbmQgLmljby1kb29ycztcbiAgfVxuICAmLmFjYyxcbiAgJi5pZ25pdGlvbiB7XG4gICAgQGV4dGVuZCAuaWNvLWlnbml0aW9uO1xuICB9XG5cbiAgJi5mdWVsX3RhbmtfY29uc3VtcHRpb24sXG4gICYuZnVlbF9jb25zdW1wdGlvbixcbiAgJi5mdWVsX3RhbmtfY2FsaWJyYXRpb24sXG4gICYuZnVlbF90YW5rLFxuICAmLmZ1ZWwge1xuICAgIEBleHRlbmQgLmljby1mdWVsO1xuICB9XG4gICYuY291bnRlcixcbiAgJi5vZG9tZXRlciB7XG4gICAgQGV4dGVuZCAuaWNvLW9kb21ldGVyO1xuICB9XG4gICYuc3BlZWQge1xuICAgIEBleHRlbmQgLmljby1zcGVlZDtcbiAgfVxuICAmLnNwZWVkX2VjbSB7XG4gICAgQGV4dGVuZCAuaWNvLXNwZWVkO1xuICB9XG4gICYudGFjaG9tZXRlciB7XG4gICAgQGV4dGVuZCAuaWNvLXJwbTtcbiAgfVxuICAmLnRlbXBlcmF0dXJlLFxuICAmLnRlbXBlcmF0dXJlX2NhbGlicmF0aW9ue1xuICAgIEBleHRlbmQgLmljby10ZW1wO1xuICB9XG4gICYuc2F0ZWxsaXRlcyB7XG4gICAgQGV4dGVuZCAuaWNvLXNpZ25hbDtcbiAgfVxuICAmLnNlYXRiZWx0IHtcbiAgICBAZXh0ZW5kIC5pY28tc2VhdGJlbHQ7XG4gIH1cbiAgJi5lbmdpbmVfaG91cnMge1xuICAgIEBleHRlbmQgLmljby1lbmdpbmUtaG91cnM7XG4gIH1cbiAgJi5wbHVnZ2VkIHtcbiAgICBAZXh0ZW5kIC5pY28tbG9naWNhbDtcbiAgfVxuICAmLmxvZ2ljYWwge1xuICAgIEBleHRlbmQgLmljby1sb2dpY2FsO1xuICB9XG4gICYubnVtZXJpY2FsIHtcbiAgICBAZXh0ZW5kIC5pY28tb2RvbWV0ZXI7XG4gIH1cbiAgJi50ZXh0dWFsIHtcbiAgICBAZXh0ZW5kIC5pY28tdGV4dHVhbDtcbiAgfVxuICAmLnZpbiB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1iYXJjb2RlO1xuICB9XG4gICYubG9hZCxcbiAgJi5sb2FkX2NhbGlicmF0aW9uIHtcbiAgICBAZXh0ZW5kIC5pY28tbG9hZDtcbiAgfVxuICAmLmxvY2sge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtbG9jaztcbiAgfVxuICAmLnVubG9jayB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS11bmxvY2s7XG4gIH1cbiAgJi5jaGVja2xpc3Qge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtdGFza3M7XG4gIH1cbiAgJi5wcmUtY2hlY2tsaXN0IHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWNsaXBib2FyZDtcbiAgfVxuICAmLnFyY29kZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1xcmNvZGU7XG4gIH1cbiAgJi5waG90byB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1waG90bztcbiAgfVxuICAmLmNhbGxfYWN0aW9uIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXBob25lO1xuICB9XG4gICYuY29tcGxldGUge1xuICAgIEBleHRlbmQgLmljby1jaGVjaztcbiAgfVxuICAmLmluY29tcGxldGUge1xuICAgIEBleHRlbmQgLmljby14O1xuICB9XG4gICYuY3VzdG9tLWZpZWxkIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLW9iamVjdC1ncm91cDtcbiAgfVxuICAmLnJvdXRlX3R5cGUge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtYnJpZWZjYXNlO1xuICB9XG5cbiAgJi5nc20tMCxcbiAgJi5nc20tMSxcbiAgJi5nc20tMixcbiAgJi5nc20tMyxcbiAgJi5nc20tNCxcbiAgJi5nc20tNSxcbiAgJi5iYXR0ZXJ5LTAsXG4gICYuYmF0dGVyeS0xLFxuICAmLmJhdHRlcnktMixcbiAgJi5iYXR0ZXJ5LTMsXG4gICYuYmF0dGVyeS00LFxuICAmLmJhdHRlcnktNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLy9saW5lLWhlaWdodDogMTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itc3RhdHVzLW9uO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gICYuZ3NtLTAsXG4gICYuZ3NtLTEsXG4gICYuZ3NtLTIsXG4gICYuZ3NtLTMsXG4gICYuZ3NtLTQsXG4gICYuZ3NtLTUge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU5MTlcIjtcbiAgICB9XG4gIH1cblxuICAmLmdzbS0xOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWFcIjtcbiAgfVxuICAmLmdzbS0yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWJcIjtcbiAgfVxuICAmLmdzbS0zOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWNcIjtcbiAgfVxuICAmLmdzbS00OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWRcIjtcbiAgfVxuICAmLmdzbS01OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWVcIjtcbiAgfVxuXG4gICYuYmF0dGVyeSxcbiAgJi5iYXR0ZXJ5LTAsXG4gICYuYmF0dGVyeS0xLFxuICAmLmJhdHRlcnktMixcbiAgJi5iYXR0ZXJ5LTMsXG4gICYuYmF0dGVyeS00LFxuICAmLmJhdHRlcnktNSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwNlwiO1xuICAgIH1cbiAgfVxuICAmLmJhdHRlcnkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG4gICAgfVxuICAgICYuYmF0dGVyeS0wOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgICAmLmJhdHRlcnktMTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDdcIjtcbiAgICB9XG4gICAgJi5iYXR0ZXJ5LTI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG4gICAgfVxuICAgICYuYmF0dGVyeS0zOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICAgIH1cbiAgICAmLmJhdHRlcnktNDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgICB9XG4gICAgJi5iYXR0ZXJ5LTU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG4gICAgfVxuICB9XG59IiwiJG5hdmJhci10b2dnbGUtaGVpZ2h0OiBmbG9vcigkbmF2YmFyLWhlaWdodCAqIDAuNjUpO1xuJG5hdmJhci10b2dnbGUtcGFkZGluZy12ZXJ0aWNhbDogZmxvb3IoKCRuYXZiYXItdG9nZ2xlLWhlaWdodCAtIDE0KSAvIDIpO1xuJG5hdmJhci10b2dnbGUtcGFkZGluZy1ob3Jpem9udGFsOiAkbmF2YmFyLXRvZ2dsZS1wYWRkaW5nLXZlcnRpY2FsIC0gMTtcblxuJG5hdmJhci1mb2xkZWQtbWluOiA1MDBweDtcblxuLm5hdmJhci1uYXYge1xuICA+IGxpLmxhbmd1YWdlLXNlbGVjdGlvbiB7XG4gICAgPiBhIHtcbiAgICAgIHBhZGRpbmctdG9wOiBjZWlsKCgkbmF2YmFyLWhlaWdodCAtIDIyKSAvIDIpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGZsb29yKCgkbmF2YmFyLWhlaWdodCAtIDIyKSAvIDIpO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWJyYW5kIGltZyB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm5hdmJhci10b2dnbGUge1xuICBwYWRkaW5nOiAkbmF2YmFyLXRvZ2dsZS1wYWRkaW5nLXZlcnRpY2FsICRuYXZiYXItdG9nZ2xlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRuYXZiYXItdG9nZ2xlLWhlaWdodCk7XG59XG5cbiRoZWFkZXItZm9sZGVkLWhlaWdodDogMTBweDtcblxuI2hlYWRlci5mb2xkZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyO1xuXG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRuYXZiYXItZm9sZGVkLW1pbikge1xuICAgIC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICAgIC5pY29uICsgLnRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICA+IC5iYWRnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHNldHRpbmdcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAkaGVhZGVyLWZvbGRlZC1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tYmc7XG4gICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2YmFyLW1haW4tYm9yZGVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAubmF2YmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgLm5hdmJhci1icmFuZCxcbiAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tYmc7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2YmFyLW1haW4tYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcblxuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206ICgkbmF2YmFyLWhlaWdodCAtICRoZWFkZXItZm9sZGVkLWhlaWdodCArIDEpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogOTBweCBzb2xpZCAkbmF2YmFyLW1haW4tYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA5MHB4IHNvbGlkICRuYXZiYXItbWFpbi1iZztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbTogKCRuYXZiYXItaGVpZ2h0IC0gJGhlYWRlci1mb2xkZWQtaGVpZ2h0ICsgMSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogKCRuYXZiYXItaGVpZ2h0IC0gJGhlYWRlci1mb2xkZWQtaGVpZ2h0ICsgMykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogOTBweCBzb2xpZCAkbmF2YmFyLW1haW4tYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogOTBweCBzb2xpZCAkbmF2YmFyLW1haW4tYmc7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNoZWFkZXIge1xuICAubWFpbi1uYXZiYXIge1xuICAgIEBleHRlbmQgLm5hdmJhci1tYWluO1xuICAgIEBleHRlbmQgLm5hdmJhci1maXhlZC10b3A7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAubmF2YmFyLW5hdiA+IGxpID4gYSA+IC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWRhbmdlcjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbmF2YmFyLWZvbGRlZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgIC5uYXZiYXItaGVhZGVyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5uYXZiYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm5hdmJhci1uYXYge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6ICAgICRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuXG4gICAgICAgICAgLmljb24gKyAudGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5iYWRnZSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgID4gbGkubGFuZ3VhZ2Utc2VsZWN0aW9uIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogY2VpbCgoJG5hdmJhci1oZWlnaHQgLSAyMikgLyAyKTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZmxvb3IoKCRuYXZiYXItaGVpZ2h0IC0gMjIpIC8gMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFkbWluLWxheW91dCAuaGVhZGVyIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgIGxpID4gYSB7XG4gICAgICAgID4gLmljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc2Nyb2xsYmFyIHtcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAkc2Nyb2xsYmFyLXNpemU7XG4gICAgaGVpZ2h0OiAkc2Nyb2xsYmFyLXNpemU7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJHNjcm9sbGJhci10cmFjay1iZztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Nyb2xsYmFyLXRyYWNrLWJvcmRlcjtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLXRodW1iLWJnO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzY3JvbGxiYXItdGh1bWItYm9yZGVyO1xuICB9XG59XG5cbmJvZHkge1xuICBzY3JvbGxiYXItZmFjZS1jb2xvcjogJHNjcm9sbGJhci10cmFjay1iZztcbiAgc2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiAkc2Nyb2xsYmFyLXRodW1iLWJnO1xufSIsIi50YWItcGFuZSB7XG4gIEBleHRlbmQgLmZhZGVJbjtcbiAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG59XG5cbi5zaWRlYmFyIHtcbiAgJi5sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuXG4gICAgLnNpZGViYXItY29udGVudCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTEwMDtcbiAgICB9XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICAuc2lkZWJhci1jb250ZW50IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG4gICAgfVxuICB9XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTk5O1xuICBib3R0b206IDA7XG5cbiAgQGluY2x1ZGUgY2FsYygnbWF4LWhlaWdodCcsIDkwJSwgJzEwMCUgLSAjeyRzaWRlYmFyLXRvcC1zcGFjZX0nKTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIHdpZHRoOiAyNTBweDtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHdpZHRoOiAzMzBweDtcbiAgfVxuXG4gIC5idG4tY29sbGFwc2Uge1xuICAgIEBleHRlbmQgLmNvbGxhcHNlLWxlZnQ7XG4gIH1cblxuICAmLmNvbGxhcHNlZCB7XG4gICAgd2lkdGg6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAwLjVzIGVhc2UpO1xuXG4gICAgLnNpZGViYXItY29udGVudCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAuZ3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tY29sbGFwc2Uge1xuICAgICAgQGV4dGVuZCAuY29sbGFwc2VkO1xuICAgIH1cbiAgfVxuICAuc2lkZWJhci1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1iZztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm5hdi10YWJzIHtcbiAgICAgPiBsaSB7XG4gICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICB3aWR0aDogMSU7XG4gICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICA+IGEge1xuICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgIH1cbiAgICAgfVxuICB9XG5cbiAgLnRhYi1wYW5lLWhlYWRlciB7XG4gICAgcGFkZGluZzogJHNpZGViYXItdGFiLWhlYWRlci1wYWRkaW5nO1xuICB9XG4gIC50YWItcGFuZS1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkc2lkZWJhci10YWItYm9keS1wYWRkaW5nO1xuXG4gICAgQGV4dGVuZCAuc2Nyb2xsYmFyO1xuICB9XG4gIC50YWItcGFuZS1mb290ZXIge1xuICAgIHBhZGRpbmc6ICRzaWRlYmFyLXRhYi1mb290ZXItcGFkZGluZztcbiAgfVxuXG4gIC5uby1yZXN1bHRzIHtcbiAgICBtYXJnaW46IDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAjZXZlbnRzX3RhYiB7XG4gICAgLmRhdGV0aW1lIHtcbiAgICAgIC50aW1lLFxuICAgICAgLmRhdGV7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgfVxuICAgIH1cbiAgICAudGFiLXBhbmUtYm9keSA+IHRhYmxlIHtcbiAgICAgID4gdGhlYWQgPiB0ciB7XG4gICAgICAgID4gdGgsXG4gICAgICAgID4gdGQge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc2lkZWJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZWJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2dlb2ZlbmNpbmdfY3JlYXRlLFxuICAjZ2VvZmVuY2luZ19lZGl0LFxuICAjcm91dGVzX2NyZWF0ZSxcbiAgI3JvdXRlc19lZGl0LFxuICAjcG9pc19jcmVhdGUsXG4gICNwb2lzX2VkaXRcbiAge1xuICAgIC50YWItcGFuZS1ib2R5IHtcbiAgICAgIHBhZGRpbmc6ICRzaWRlYmFyLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbi5oaXN0b3J5e1xuICBwYWRkaW5nOiA1cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTEwMDtcblxuICAtbW96LWJveC1zaGFkb3c6ICAgIGluc2V0ICAwICAxMHB4IDEwcHggLTEwcHggJGNvbG9yLXNoYWRvdywgaW5zZXQgIDAgLTEwcHggMTBweCAtMTBweCAkY29sb3Itc2hhZG93O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0ICAwICAxMHB4IDEwcHggLTEwcHggJGNvbG9yLXNoYWRvdywgaW5zZXQgIDAgLTEwcHggMTBweCAtMTBweCAkY29sb3Itc2hhZG93O1xuICBib3gtc2hhZG93OiAgICAgICAgIGluc2V0ICAwICAxMHB4IDEwcHggLTEwcHggJGNvbG9yLXNoYWRvdywgaW5zZXQgIDAgLTEwcHggMTBweCAtMTBweCAkY29sb3Itc2hhZG93O1xuXG4gIC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIHRyLmFjdGl2ZSA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0wMDA7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlLWhpc3Rvcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6IDE0cHg7XG4gICAgcGFkZGluZzogMXB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkY29sb3ItdGV4dC00MDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTAwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNjAlO1xuICB9XG59XG5cbiNhamF4LWV2ZW50cyAudGFibGUgdGJvZHksXG4jYWpheC1oaXN0b3J5IC50YWJsZSB0Ym9keXtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuXG4iLCIudGFiLWNvbnRlbnQge1xuICAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLm5hdi10YWJzIHtcbiAgPiBsaSB7XG4gICAgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcblxuICAgICAgJi5oYXMtZXJyb3Ige1xuICAgICAgICBjb2xvcjogJHN0YXRlLWRhbmdlci10ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc3RhdGUtZGFuZ2VyLWJnO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjcpO1xuXG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcbiAgICB9XG4gIH1cblxuICAmLm5hdi10YWJzLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgID4gbGkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB6b29tOiAxO1xuICAgIH1cbiAgfVxuXG4gICYubmF2LXRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuXG4gICAgPiBsaSB7XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2LWRlZmF1bHQge1xuICBmb250LXdlaWdodDogJG5hdi10YWJzLXdlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWJnO1xuXG4gID4gbGkge1xuICAgID4gYSB7XG4gICAgICBjb2xvcjogJG5hdi1saW5rLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1saW5rLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogJG5hdi10YWJzLWJvcmRlci1yYWRpdXMgJG5hdi10YWJzLWJvcmRlci1yYWRpdXMgMCAwO1xuICAgIH1cblxuXG4gICAgJi5jb21wbGV0ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgICAvL2JvcmRlci1jb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgLy9ib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXYtYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG5cbiAgPiBsaSB7XG4gICAgPiBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBjb2xvcjogJG5hdi1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgICAmLmFjdGl2ZSB7XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXYtaWNvbnMge1xuICBAZXh0ZW5kIC5uYXYtYmFja2dyb3VuZDtcblxuICA+IGxpIHtcbiAgICA+IGEge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICB9XG4gIH1cbn1cblxuLm5hdi10YWJzLWp1c3RpZmllZCxcbi5uYXYtdGFicy5uYXYtanVzdGlmaWVkIHtcbiAgPiBsaSA+IGEge1xuICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cbn1cblxuIiwiLm5hdmJhci1kZWZhdWx0IHtcbiAgZm9udC1zaXplOiAkbmF2YmFyLWRlZmF1bHQtc2l6ZTtcblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBwYWRkaW5nOiA1cHggJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSB7XG4gICAgICBAaW5jbHVkZSBpY29uLWNvbG9yKCc+IGEgPiAuaWNvbicsICRuYXZiYXItZGVmYXVsdC1pY29uLWNvbG9yKTtcbiAgICB9XG4gICAgPiBsaSA+IGEgLmljb24ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgfVxuICB9XG59XG5cbi5jb2xsIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYmc7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAubmF2YmFyLWRlZmF1bHQge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIC5uYXZiYXItaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1iZztcbiAgICB9XG4gICAgLm5hdmJhci1icmFuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYmc7XG4gICAgfVxuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1iZztcblxuICAgICAgPiBsaSA+IGEgLmljb24gKyAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItbWFpbiB7XG4gIGZvbnQtc2l6ZTogJG5hdmJhci1tYWluLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkbmF2YmFyLW1haW4td2VpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tYmc7XG4gIGJvcmRlci1jb2xvcjogJG5hdmJhci1tYWluLWJvcmRlcjtcblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1tYWluLWJyYW5kLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1tYWluLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1tYWluLWJyYW5kLWhvdmVyLWJnO1xuICAgIH1cbiAgICBwYWRkaW5nOiA1cHggJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSB7XG4gICAgICBAaW5jbHVkZSBpY29uLWNvbG9yKCc+IGEgPiAuaWNvbicsICRuYXZiYXItbWFpbi1pY29uLWNvbG9yKTtcbiAgICB9XG4gICAgPiBsaSA+IGEgLmljb24ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgfVxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6aG92ZXI6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpob3Zlcjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpob3Zlcjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1tYWluLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1tYWluLXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmhvdmVyOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLW1haW4tYm9yZGVyO1xuICB9XG5cbiAgLy8gRHJvcGRvd24gbWVudSBpdGVtc1xuICAubmF2YmFyLW5hdiB7XG4gICAgLy8gUmVtb3ZlIGJhY2tncm91bmQgY29sb3IgZnJvbSBvcGVuIGRyb3Bkb3duXG4gICAgPiAub3BlbiA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmhvdmVyOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1tYWluLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWNvbG9yO1xuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpob3Zlcjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1ob3Zlci1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6aG92ZXI6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpob3Zlcjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1kaXNhYmxlZC1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuYnRuLWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6aG92ZXI6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci12ZXJ0aWNhbC5uYXZiYXIge1xuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIH1cblxuICB1bCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgXG4gICAgJjpub3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgIH1cbiAgfVxufVxuIiwiLmJ0bi5pY29uIHtcbiAgcGFkZGluZzogMXB4IDNweDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctMjAwO1xuICAgIGNvbG9yOiAkY29sb3ItdGV4dC01MDA7XG4gIH1cbn1cblxuLmJ0bi1hY3Rpb24ge1xuICBAZXh0ZW5kIC5idG4tcHJpbWFyeTtcbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktYmcsICRjb2xvci1iZy0wMDAsICRidG4tcHJpbWFyeS1ib3JkZXIpO1xufVxuXG4uYnRuLWNvbGxhcHNlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjb2xvci10ZXh0LTcwMDtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWJnLTEwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmLmNvbGxhcHNlZCB7XG4gICAgJi5jb2xsYXBzZS1sZWZ0IGkge1xuICAgICAgQGV4dGVuZCAuaWNvLWFycm93LXJpZ2h0O1xuICAgIH1cbiAgICAmLmNvbGxhcHNlLXJpZ2h0IGkge1xuICAgICAgQGV4dGVuZCAuaWNvLWFycm93LWxlZnQ7XG4gICAgfVxuICAgICYuY29sbGFwc2UtdG9wIGkge1xuICAgICAgQGV4dGVuZCAuaWNvLWFycm93LXVwO1xuICAgIH1cbiAgICAmLmNvbGxhcHNlLWJvdHRvbSBpIHtcbiAgICAgIEBleHRlbmQgLmljby1hcnJvdy1kb3duO1xuICAgIH1cbiAgfVxuXG4gIGkge1xuICAgIEBleHRlbmQgLmljbztcblxuICAgICY6YmVmb3Jle1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgJi5jb2xsYXBzZS1sZWZ0IHtcbiAgICAgd2lkdGg6IDIwcHg7XG4gICAgIGhlaWdodDogNDBweDtcbiAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgIGxlZnQ6IDEwMCU7XG4gICAgIHRvcDogMzAlO1xuICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDNweCAwcHggN3B4IHJnYmEoMCwwLDAsLjE3NSkpO1xuXG4gICAgIGkge1xuICAgICAgIEBleHRlbmQgLmljby1hcnJvdy1sZWZ0O1xuICAgICB9XG5cbiAgICAgJjpiZWZvcmUge1xuICAgICAgIGxlZnQ6IDA7XG4gICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgJGNvbG9yLWJnLTEwMDtcbiAgICAgICBib3JkZXItcmlnaHQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgIH1cbiAgICAgJjphZnRlciB7XG4gICAgICAgbGVmdDogMDtcbiAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCAkY29sb3ItYmctMTAwO1xuICAgICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgfVxuICB9XG5cbiAgJi5jb2xsYXBzZS1yaWdodCB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogMzAlO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coLTNweCAwcHggN3B4IHJnYmEoMCwwLDAsLjE3NSkpO1xuXG4gICAgaSB7XG4gICAgICBAZXh0ZW5kIC5pY28tYXJyb3ctcmlnaHQ7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICRjb2xvci1iZy0xMDA7XG4gICAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvcmRlci10b3A6IDIwcHggc29saWQgJGNvbG9yLWJnLTEwMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gICYuY29sbGFwc2UtdG9wIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDBweCAtM3B4IDdweCByZ2JhKDAsMCwwLC4xNzUpKTtcblxuICAgIGkge1xuICAgICAgQGV4dGVuZCAuaWNvLWFycm93LWRvd247XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICRjb2xvci1iZy0xMDA7XG4gICAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAkY29sb3ItYmctMTAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gICYuY29sbGFwc2UtYm90dG9tIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDBweCAzcHggN3B4IHJnYmEoMCwwLDAsLjE3NSkpO1xuXG4gICAgaSB7XG4gICAgICBAZXh0ZW5kIC5pY28tYXJyb3ctdXA7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkICRjb2xvci1iZy0xMDA7XG4gICAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCAkY29sb3ItYmctMTAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuIiwiJGlucHV0LWdyb3VwLWJ1dHRvbi1tYXJnaW46IDRweDtcblxuLmlucHV0LWdyb3VwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1idG4ge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuZm9ybS1jb250cm9sLnRpbWVzZWxlY3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAkaW5wdXQtZ3JvdXAtYnV0dG9uLW1hcmdpbjtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbC50aW1lc2VsZWN0IHtcbiAgICB3aWR0aDogNzBweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgIH1cblxuICAgICYub3BlbiB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxufSIsIi8vIERyb3Bkb3duIGFycm93L2NhcmV0XG4uY2FyZXQge1xuICAmLFxuICAuZHJvcHVwICYsXG4gIC5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAmIHtcbiAgICBib3JkZXI6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgQGV4dGVuZCAuZmE7XG4gICAgQGV4dGVuZCAuZmEtYW5nbGUtZG93bjtcbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIEBleHRlbmQgLnNjcm9sbGJhcjtcblxuICA+IGxpIHtcbiAgICA+IGEge1xuICAgICAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgPiAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICRkcm9wZG93bi1pY29uLWhvdmVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICA+IC5pY29uIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY29sb3I6ICRkcm9wZG93bi1pY29uLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYm9vdHN0cmFwLXNlbGVjdCB7XG4gICYge1xuICAgIEBleHRlbmQgLnNob3ctbWVudS1hcnJvdztcbiAgfVxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgID4gLmljb24ge1xuICAgICAgbGVmdDogJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICArIC5maWx0ZXItb3B0aW9uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYnRuLWdyb3VwLnNob3ctdGljayAuZHJvcGRvd24tbWVudSA+IGxpIHtcbiAgICAuY2hlY2stbWFyayB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94KCcmJywgJ3NwYW4udGV4dCcpO1xuXG4gICAgICBzcGFuLnRleHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWxlY3RlZCBhIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWNoZWNrZWQoJ3NwYW4udGV4dCcpO1xuXG4gICAgICBzcGFuLnRleHQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkY2hlY2tib3gtYWN0aXZlLWNvbG9yO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGVja2JveC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tib3gtYWN0aXZlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgQGlmICRjaGVja2JveC1hY3RpdmUtYm9yZGVyLWNvbG9yLXNhbWUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2hlY2tib3gtYWN0aXZlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiRhcnJvdy1zaXplOiA3cHg7XG4kYXJyb3ctYm9yZGVyLXNpemU6IDFweDtcbiRhcnJvdy1zaXplLWlubmVyOiAkYXJyb3ctc2l6ZTtcbiRhcnJvdy1zaXplLW91dHRlcjogKCRhcnJvdy1zaXplICsgJGFycm93LWJvcmRlci1zaXplKTtcblxuJGFycm93LW9mZnNldDogMTBweDtcblxuXG4uZHJvcGFycm93IHtcbiAgJi5kcm9wZG93bixcbiAgJi5kcm9wdXAsXG4gICYuZHJvcGxlZnQsXG4gICYuZHJvcHJpZ2h0IHtcbiAgICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAkYXJyb3ctc2l6ZS1vdXR0ZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiAkYXJyb3ctc2l6ZS1pbm5lciBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5kcm9wbGVmdCA+IC5kcm9wZG93bi1tZW51LFxuICAmLmRyb3ByaWdodC5sZWZ0ID4gLmRyb3Bkb3duLW1lbnV7XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IC0oJGFycm93LXNpemUtb3V0dGVyIC8gMiArICRhcnJvdy1vZmZzZXQgLyAyKTtcbiAgICBtYXJnaW4tbGVmdDogJGFycm93LXNpemUtb3V0dGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAkYXJyb3ctb2Zmc2V0IC0gJGFycm93LWJvcmRlci1zaXplO1xuICAgICAgbGVmdDogLSRhcnJvdy1zaXplLW91dHRlcjtcbiAgICAgIGJvcmRlcjogJGFycm93LXNpemUtb3V0dGVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkZHJvcGRvd24tYm9yZGVyO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG5cbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogJGFycm93LW9mZnNldDtcbiAgICAgIGxlZnQ6IC0kYXJyb3ctc2l6ZS1pbm5lcjtcbiAgICAgIGJvcmRlcjogJGFycm93LXNpemUtaW5uZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuXG4gICAgICBib3R0b206IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgJi5kcm9wcmlnaHQgPiAuZHJvcGRvd24tbWVudSxcbiAgJi5kcm9wbGVmdC5yaWdodCA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBsZWZ0OiBpbmhlcml0O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogLSgkYXJyb3ctc2l6ZS1vdXR0ZXIgLyAyICsgJGFycm93LW9mZnNldCAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogJGFycm93LXNpemUtb3V0dGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAkYXJyb3ctb2Zmc2V0IC0gJGFycm93LWJvcmRlci1zaXplO1xuICAgICAgcmlnaHQ6IC0kYXJyb3ctc2l6ZS1vdXR0ZXI7XG4gICAgICBib3JkZXI6ICRhcnJvdy1zaXplLW91dHRlciBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkZHJvcGRvd24tYm9yZGVyO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuXG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogJGFycm93LW9mZnNldDtcbiAgICAgIHJpZ2h0OiAtJGFycm93LXNpemUtaW5uZXI7XG4gICAgICBib3JkZXI6ICRhcnJvdy1zaXplLWlubmVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgICAgIGJvcmRlci1yaWdodDogMDtcblxuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgJi5kcm9wZG93biA+IC5kcm9wZG93bi1tZW51LFxuICAmLmRyb3B1cC5kb3duID4gLmRyb3Bkb3duLW1lbnV7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IC0oJGFycm93LXNpemUtb3V0dGVyIC8gMiArICRhcnJvdy1vZmZzZXQpO1xuICAgIG1hcmdpbi10b3A6ICRhcnJvdy1zaXplLW91dHRlcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogLSRhcnJvdy1zaXplLW91dHRlcjtcbiAgICAgIGxlZnQ6ICRhcnJvdy1vZmZzZXQgLSAkYXJyb3ctYm9yZGVyLXNpemU7XG4gICAgICBib3JkZXI6ICRhcnJvdy1zaXplLW91dHRlciBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZHJvcGRvd24tYm9yZGVyO1xuXG4gICAgICBib3R0b206IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IC0kYXJyb3ctc2l6ZS1pbm5lcjtcbiAgICAgIGxlZnQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICBib3JkZXI6ICRhcnJvdy1zaXplLWlubmVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRkcm9wZG93bi1iZztcblxuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG4gICYuZHJvcHVwID4gLmRyb3Bkb3duLW1lbnUsXG4gICYuZHJvcGRvd24udXAgPiAuZHJvcGRvd24tbWVudXtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogLSgkYXJyb3ctc2l6ZS1vdXR0ZXIgLyAyICsgJGFycm93LW9mZnNldCAvIDIpO1xuICAgIG1hcmdpbi1ib3R0b206ICRhcnJvdy1zaXplLW91dHRlcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGxlZnQ6ICRhcnJvdy1vZmZzZXQgLSAkYXJyb3ctYm9yZGVyLXNpemU7XG4gICAgICBib3R0b206IC0kYXJyb3ctc2l6ZS1vdXR0ZXI7XG4gICAgICBib3JkZXI6ICRhcnJvdy1zaXplLW91dHRlciBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkZHJvcGRvd24tYm9yZGVyO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICBib3R0b206IC0kYXJyb3ctc2l6ZS1pbm5lcjtcbiAgICAgIGJvcmRlcjogJGFycm93LXNpemUtaW5uZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICAgIH1cbiAgfVxuXG4gICYuZHJvcGxlZnQsXG4gICYuZHJvcHJpZ2h0IHtcbiAgICAmLnVwID4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAtKCRhcnJvdy1zaXplLW91dHRlciAvIDIgKyAkYXJyb3ctb2Zmc2V0IC8gMik7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206ICRhcnJvdy1vZmZzZXQ7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206ICRhcnJvdy1vZmZzZXQgKyAkYXJyb3ctYm9yZGVyLXNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5kcm9wZG93bixcbiAgJi5kcm9wdXAge1xuICAgICYucmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IC0oJGFycm93LXNpemUtb3V0dGVyIC8gMiArICRhcnJvdy1vZmZzZXQgLyAyKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogJGFycm93LW9mZnNldCAtICRhcnJvdy1ib3JkZXItc2l6ZTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtbGFiZWwtZm9udC13ZWlnaHQ7XG5cbiAgJi5yZXF1aXJlZCB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OicqJztcbiAgICAgIHBhZGRpbmctbGVmdDo1cHg7XG4gICAgfVxuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIHJlc2l6ZTogbm9uZTtcbn1cblxuLmZvcm0taG9yaXpvbnRhbCB7XG4gIC5jb250cm9sLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLnJhZGlvLFxuICAuY2hlY2tib3gge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICAuY2hlY2tib3hlcyB7XG4gICAgLmNoZWNrYm94LFxuICAgIC5yYWRpbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1ob3Jpem9udGFsIC5oYXMtZmVlZGJhY2ssXG4uaGFzLWZlZWRiYWNrIHtcbiAgPiAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1iYXNlO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wge1xuICAgICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1ncm91cC5zZWFyY2gsXG4uYnMtc2VhcmNoYm94IHtcbiAgJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2s7XG4gICAgQGV4dGVuZCAuZmE7XG4gICAgY29udGVudDogXCJcXGYwMDJcIjtcblxuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMztcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgfVxuICA+IC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1iYXNlO1xuICB9XG59XG5cbi5ib290c3RyYXAtc2VsZWN0IHtcbiAgJGNvbG9yLXJnYmE6IHJnYmEocmVkKCRpbnB1dC1ib3JkZXItZm9jdXMpLCBncmVlbigkaW5wdXQtYm9yZGVyLWZvY3VzKSwgYmx1ZSgkaW5wdXQtYm9yZGVyLWZvY3VzKSwgLjYpO1xuXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyk7XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgICAvLyY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmVcbiAgICB7XG4gICAgICBjb2xvcjogJGlucHV0LWNvbG9yLWZvY3VzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWZvY3VzO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggJGNvbG9yLXJnYmEpO1xuICAgIH1cbiAgfVxuICAmLm9wZW4ge1xuICAgID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAmLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICYuZm9jdXMsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUsXG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICY6YWN0aXZlOmhvdmVyLFxuICAgICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZS5mb2N1c1xuICAgICAge1xuICAgICAgICBjb2xvcjogJGlucHV0LWNvbG9yLWZvY3VzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZm9jdXM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYW5lbCAucGFuZWwtZm9ybSAuZm9ybS1jb250cm9sIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnBhbmVsLWRlZmF1bHQgLnBhbmVsLWZvcm0ge1xuICAuZm9ybS1jb250cm9sLFxuICAuYm9vdHN0cmFwLXNlbGVjdCA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkaW5wdXQtYm9yZGVyLWZvY3VzKSwgZ3JlZW4oJGlucHV0LWJvcmRlci1mb2N1cyksIGJsdWUoJGlucHV0LWJvcmRlci1mb2N1cyksIC42KTtcblxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3ItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWZvY3VzO1xuICAgIC8vYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyO1xuICAgIC8vQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gIH1cbn1cblxuLmNoZWNrYm94ZXMge1xuICBAZXh0ZW5kIC5yb3c7XG5cbiAgLmNoZWNrYm94IHtcbiAgICBAZXh0ZW5kIC5jb2wtc20tNjtcbiAgICBAZXh0ZW5kIC5jb2wteHMtNjtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IGluaGVyaXQ7XG4gIH1cbn1cblxuLmZvcm0taW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuXG4gIC5mb3JtLWltYWdlLWNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIGltZyArIC5uby1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGVscC1ibG9jayB7XG4gIEBleHRlbmQgLmFsZXJ0O1xuICBwYWRkaW5nOiAxMHB4O1xuXG4gICYuZXJyb3Ige1xuICAgIEBleHRlbmQgLmFsZXJ0LWRhbmdlcjtcbiAgfVxufVxuXG4uZXhwbGFuYXRpb24ge1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGxlcjtcbn0iLCIubW9kYWwtc2Nyb2xsYWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1vZGFsLWNvbnRlbnR7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBib3JkZXItcmFkaXVzOiAkbW9kYWwtYm9yZGVyLXJhZGl1cztcbn1cblxuLm1vZGFsLWhlYWRlciB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogJG1vZGFsLWhlYWRlci1iZztcblxuICAuY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG59XG4ubW9kYWwtdGl0bGUge1xuICAuaWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gIH1cbn1cbi5tb2RhbC1ib2R5IHtcbiAgPiAubmF2IHtcbiAgICBtYXJnaW46IC0oJG1vZGFsLWlubmVyLXBhZGRpbmcpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICB9XG5cbiAgJi5uby1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4ubW9kYWwtZm9vdGVyIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiAkbW9kYWwtZm9vdGVyLWJnO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4kbW9kYWwtbWQ6IDc2MHB4O1xuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgLm1vZGFsLW1kIHsgd2lkdGg6ICRtb2RhbC1tZDsgfVxufVxuXG4ubW9kYWwtZnVsbCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi5tb2RhbCB7XG4gICYuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5tb2RhbC1wb3B1cCB7XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuXG4gICYuY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuICAmLnRvcF9sZWZ0IHtcbiAgICB0b3A6LTFweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG4gICYudG9wX3JpZ2h0IHtcbiAgICB0b3A6LTFweDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbiAgJi5ib3R0b21fbGVmdCB7XG4gICAgYm90dG9tOi0xcHg7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxuICAmLmJvdHRvbV9yaWdodCB7XG4gICAgYm90dG9tOi0xcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubW9kYWwtY29udGVudHtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRtb2RhbC1oZWFkZXItYmc7XG5cbiAgICA+IC5jbG9zZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBvcGFjaXR5OiAwLjk7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBjb2xvcjogJGNvbG9yLXRleHQtODAwO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIge1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gICAgcGFkZGluZzogJG1vZGFsLXRpdGxlLXBhZGRpbmcgJG1vZGFsLXRpdGxlLXBhZGRpbmcqMjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG5cbiAgICAuY2xvc2Uge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nICRtb2RhbC1pbm5lci1wYWRkaW5nKjI7XG4gIH1cblxufVxuXG4uZGFzaGJvYXJkIHtcbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgfVxuICAubW9kYWwtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIH1cbn0iLCIudGFibGUgLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTAwMDtcbn1cbi50YWJsZSB7XG4gICAgJi50YWJsZS1saXN0IHtcbiAgICAgIEBleHRlbmQgLnRhYmxlLWhvdmVyO1xuICAgICAgQGV4dGVuZCAudGFibGUtY29uZGVuc2VkO1xuXG4gICAgICAucHJvZ3Jlc3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICB0ZFtkYXRhLWVkaXRhYmxlLWZpZWxkXSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgICAgICAgY29udGVudDogXCJcXGYwNDBcIjtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtNzAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZyAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZyAqIDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubm8tZGF0YSB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0bi5pY29uIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTcwMDtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5yb3ctdGFibGUtaW5uZXIge1xuICAgICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgICAgICAgICAgPiAubG9hZGluZyAubWlkZGxlIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICA+IHRoZWFkID4gdHIge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWxpc3QtaGVhZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWxpc3QtaGVhZC1iZztcblxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy9Db2xzXG4gICAgICAudGFibGUtY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogMSU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudXNlci1saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdygpO1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgfVxuXG4gICAgICAuYWN0aW9ucyB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAuc29ydGluZyxcbiAgICAgIC5zb3J0aW5nX2Rlc2MsXG4gICAgICAuc29ydGluZ19hc2Mge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGV4dGVuZCAuaWNvO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC04MDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTU0XCI7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgICAgY29udGVudDogXCJcXGU5MTBcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucG9pbnRlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICAgIC5zb3J0aW5nX2FzYzpiZWZvcmUgeyBjb2xvcjogJGJyYW5kLXByaW1hcnk7IH1cbiAgICAgIC5zb3J0aW5nX2Rlc2M6YWZ0ZXIgeyBjb2xvcjogJGJyYW5kLXByaW1hcnk7IH1cblxuICAgICAgJi5zdGlja3ktaGVhZGVyIHtcbiAgICAgICAgPiB0aGVhZCB7XG4gICAgICAgICAgPiB0ciB7XG4gICAgICAgICAgICA+IHRoIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgICBjb2xvcjogJHRhYmxlLWxpc3QtaGVhZC1jb2xvcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWxpc3QtaGVhZC1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IHRib2R5OmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICA+IHRoLFxuICAgICAgICA+IHRkIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrYm94IHtcbiAgICAgIEBleHRlbmQgLmNoZWNrYm94LWlubGluZTtcbiAgICB9XG5cbiAgdHIge1xuICAgICYuY29sbGFwc2UuaW4ge1xuICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIH1cbiAgfVxuXG4gIHRoLFxuICB0ZCB7XG4gICAgJi5jb2xsYXBzZS5pbiB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxuXG4gIHRkIHtcbiAgICAudGV4dGFyZWEtY29udHJvbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRyb2xzLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgLmZhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7XG5cbiAgICAgICAgICAmLmZhLWNoZWNrIHtcbiAgICAgICAgICAgIGNvbG9yOiBncmVlbjtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5mYS10aW1lcyB7XG4gICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1pY29uIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAuaXRlbSB7XG4gICAgQGV4dGVuZCAuY29sLXhzLTM7XG4gICAgQGV4dGVuZCAuY29sLXNtLTI7XG4gICAgQGV4dGVuZCAuY29sLW1kLTE7XG5cbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW46IC0ycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjokY29sb3ItYm9yZGVyLTEwMDtcblxuICAgICAgLmNvbnRyb2xzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRyb2xzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuW2RhdGEtdGFibGVdIHtcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcblxuICAgID4gLnRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgPiAudGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLnRhYmxlLnRhYmxlLXdlZWt0aW1lIHtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAmLmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICA+IHRoZWFkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTEwMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgICB0aCBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IHRib2R5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTEwMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgID4gdHIge1xuICAgICAgPiB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJnLTEwMDtcblxuICAgICAgICAmLmRzLXNlbGVjdGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaG91ciB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTIwMDtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTEwMDtcbiAgICAgICAgfVxuICAgICAgICAmLnF1YXJ0ZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59IiwiI21hcFdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4jbWFwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG5cbiAgJi5sZWFmbGV0LWhpZGRlbi1uYW1lIHtcbiAgICAubGVhZmxldC1tYXJrZXItaWNvbjpub3QoLmxlYWZsZXQtaG92ZXIpIHtcbiAgICAgIC5uYW1lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1hcC1jb250cm9scyB7XG4gICYudG9wLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMCU7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAmLnRvcC1sZWZ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMCU7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gICYuYm90dG9tLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHotaW5kZXg6ICRsZWFmbGV0LWNvbnRyb2wtei1pbmRleDtcblxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5idG4ge1xuICAgICsgLmJ0biB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG1hcC1jb250cm9scy1idG4tYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiAzM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbWFwLWNvbnRyb2xzLWJ0bi1iZztcbiAgICBjb2xvcjogJG1hcC1jb250cm9scy1idG4tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtYXAtY29udHJvbHMtYnRuLWhvdmVyLWJnO1xuICAgICAgY29sb3I6ICRtYXAtY29udHJvbHMtYnRuLWhvdmVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtYXAtY29udHJvbHMtYnRuLWFjdGl2ZS1iZztcbiAgICAgIGNvbG9yOiAkbWFwLWNvbnRyb2xzLWJ0bi1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbiIsIi5uYXYtcGFnaW5hdGlvbiB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuXG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAZXh0ZW5kIC5wdWxsLXJpZ2h0O1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIjd2lkZ2V0cyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIGZsb2F0OiByaWdodDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gIC5idG4tY29sbGFwc2Uge1xuICAgIEBleHRlbmQgLmNvbGxhcHNlLXRvcDtcblxuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxuXG4gICYuY29sbGFwc2VkIHtcbiAgICAud2lkZ2V0cy1jb250ZW50IHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICB9XG5cbiAgICAuYnRuLWNvbGxhcHNlIHtcbiAgICAgIEBleHRlbmQgLmNvbGxhcHNlZDtcbiAgICB9XG4gIH1cblxuICAud2lkZ2V0cy1jb250ZW50IHtcbiAgICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG5cbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogMDtcblxuICAgIC8vaGVpZ2h0OiAxNjVweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2lkZ2V0LWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJHdpZGdldC1jb250ZW50LWNvbG9yO1xuICB9XG5cbiAgLnRhYmxlIHtcbiAgICBAZXh0ZW5kIC50YWJsZS1jb25kZW5zZWQ7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgKyAudGFibGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG5cbiAgICB0ciA+IHRkIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG4gICAgICBtYXgtd2lkdGg6IDFweDtcblxuICAgICAgKyB0ZCB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDFweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2lkZ2V0IHtcbiAgICBAZXh0ZW5kIC5wYW5lbC1kZWZhdWx0O1xuXG4gICAgJjplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTEwMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXG4gICAgKyAud2lkZ2V0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtaGVhZGluZyB7XG4gICAgQGV4dGVuZCAucGFuZWwtaGVhZGluZztcbiAgICBmb250LXNpemU6IDEuMWVtO1xuXG4gICAgLndpZGdldC1hY3Rpb25zIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbiAgLndpZGdldC10aXRsZSB7XG4gICAgQGV4dGVuZCAucGFuZWwtdGl0bGU7XG4gICAgPiAuaWNvbiB7XG4gICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgW2RhdGEtZGV2aWNlPVwibmFtZVwiXSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIFtkYXRhLWRldmljZT1cInN0YXR1c1wiXSB7XG4gICAgICB3aWR0aDogN3B4OyBoZWlnaHQ6IDdweDtcbiAgICB9XG4gICAgW2RhdGEtZGV2aWNlPVwic3RhdHVzLXRleHRcIl0ge1xuICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB9XG4gIH1cblxuICAud2lkZ2V0LWJvZHkge1xuICAgIEBleHRlbmQgLnBhbmVsLWJvZHk7XG4gICAgQGV4dGVuZCAuc2Nyb2xsYmFyO1xuXG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgIGhlaWdodDogMTI2cHg7XG4gICAgLy9taW4taGVpZ2h0OiAxMjVweDtcbiAgICAvL21heC1oZWlnaHQ6IDEyNnB4O1xuXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuXG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICA+ICogKyAud2lkZ2V0LWVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRhYmxlOmVtcHR5ICsgLndpZGdldC1lbXB0eSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAud2lkZ2V0LWVtcHR5IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL25vLWRhdGEucG5nJykgcmlnaHQgYm90dG9tIG5vLXJlcGVhdDtcblxuICAgICAgPiAuYnRue1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgfVxuICAgICAgPiBwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZ1bGwtdGV4dCB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtZHJpdmVyLFxuICAud2lkZ2V0LXNlcnZpY2VzLFxuICAud2lkZ2V0LWRldmljZSxcbiAgLndpZGdldC1sb2NraW5nLFxuICAud2lkZ2V0LWdwcnMtY29tbWFuZCxcbiAgLndpZGdldC1yZWNlbnQtZXZlbnRzIHtcbiAgICAudGFibGUge1xuICAgICAgQGV4dGVuZCAuZmFkZUluO1xuICAgICAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG5cbiAgICAgIHdpZHRoOiAyNjBweDtcbiAgICB9XG4gIH1cblxuICAud2lkZ2V0LXNlbnNvcnMge1xuICAgIC50YWJsZSB7XG4gICAgICBAZXh0ZW5kIC5mYWRlSW47XG4gICAgICBAZXh0ZW5kIC5hbmltYXRlZDtcblxuICAgICAgd2lkdGg6IDIwMHB4O1xuXG4gICAgICB0ciA+IHRkIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBjb2xvcjogJHdpZGdldC1jb250ZW50LWljb24tY29sb3I7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAud2lkZ2V0LXN0cmVldHZpZXcge1xuICAgIC53aWRnZXQtYm9keSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBleHRlbmQgLmZhZGVJbjtcbiAgICAgICAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG5cbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2lkZ2V0LWNhbWVyYSB7XG4gICAgLndpZGdldC1ib2R5IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2FtZXJhLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC5uYW1lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZzogMXB4IDVweDtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgfVxuICAgICAgLmltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTI1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLndpZGdldC1ib2R5IHtcbiAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICA+IC5pbWFnZSArIC53aWRnZXQtZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAud2lkZ2V0LWVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIH1cblxuICAgICAgLm5hbWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC53aWRnZXQtc2Vuc29yLWdyYXBoIHtcbiAgICAud2lkZ2V0LWJvZHkge1xuICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLnNlbnNvci1ncmFwaCB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgaGVpZ2h0OiAxMjZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2lkZ2V0LWdwcnMtY29tbWFuZCB7XG4gICAgLnRhYmxlIHtcbiAgICAgIHRkICsgdGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2lkZ2V0LXJlY2VudC1ldmVudHMge1xuICAgIHRhYmxlIHtcbiAgICAgIHRyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICZbb25jbGlja10ge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLndpZGdldC1jb2wge1xuICA+IGRpdiB7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgYmFja2dyb3VuZDogJHdpZGdldC1jb2wtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufSIsIi5ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICArIC5ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICB9XG4gIC5jaGVja2JveCB7XG4gICAgQGV4dGVuZCAuY2hlY2tib3gtaW5saW5lO1xuICB9XG59XG4uZ3JvdXAtaGVhZGluZyB7XG4gIHBhZGRpbmc6ICRncm91cC1oZWFkaW5nLXBhZGRpbmctdmVydGljYWwgJGdyb3VwLWhlYWRpbmctcGFkZGluZy1ob3Jpem9udGFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JvdXAtaGVhZGluZy1iZztcbiAgYm9yZGVyLXJhZGl1czogJGdyb3VwLWhlYWRpbmctYm9yZGVyLXJhZGl1cztcblxuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAkZ3JvdXAtaGVhZGluZy1jb2xvcjtcbiAgZm9udC1zaXplOiAkZ3JvdXAtaGVhZGluZy1mb250LXNpemU7XG5cbiAgPiAuY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDElO1xuICB9XG5cbiAgPiAuZ3JvdXAtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogJGdyb3VwLWNlbGwtcGFkZGluZy1sZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdygpO1xuICAgIG1heC13aWR0aDogMXB4O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgPiAuY291bnQge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiKFwiO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiKVwiO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgLy9jb250ZW50OiAkZmEtdmFyLW1pbnVzO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIHRvcDogYXV0bztcblxuICAgICAgQGV4dGVuZCAuaWNvO1xuICAgICAgY29udGVudDogXCJcXGU5MmVcIjtcblxuICAgICAgZm9udC1zaXplOiAkZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbGxhcHNlLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbGxhcHNlLWZvbnQtd2VpZ2h0O1xuICAgICAgY29sb3I6ICRncm91cC1jb2xsYXBzZS1zdGF0dXMtY29sbGFwc2UtY29sb3I7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICYuY29sbGFwc2VkIHtcbiAgICAgIGNvbG9yOiAkZ3JvdXAtaGVhZGluZy1jb2xsYXBzZS1jb2xvcjtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgICAgIGNvbG9yOiAkZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRncm91cC1jb2xsYXBzZS1zdGF0dXMtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGdyb3VwLWNvbGxhcHNlLXN0YXR1cy1mb250LXdlaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5pY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGdyb3VwLWhlYWRpbmctcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cbiAgICAvKlxuICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBleHRlbmQgLmZhZGVJbjtcbiAgICAgICAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG4gICAgICB9XG4gICAgfVxuICAgICZbYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAZXh0ZW5kIC5yb3RhdGVJbjtcbiAgICAgICAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG4gICAgICB9XG4gICAgfSovXG4gIH1cblxuICA+IC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuXG4gICAgLmJ0bi5vcHRpb25zOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0zMDA7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRncm91cC1oZWFkaW5nLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncm91cC1oZWFkaW5nLWhvdmVyLWJnO1xuXG4gICAgLnN0YXR1cy1jb2xsYXBzZSB7XG4gICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgfVxuXG4gICAgLmdyb3VwLXRpdGxlIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJGdyb3VwLWNvbGxhcHNlLXN0YXR1cy1jb2xsYXBzZS1ob3Zlci1jb2xvcjtcbiAgICAgIH1cbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICRncm91cC1jb2xsYXBzZS1zdGF0dXMtaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmdyb3VwLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ncm91cC1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuXG4gIGNvbG9yOiAkZ3JvdXAtbGlzdC1jb2xvcjtcbiAgZm9udC1zaXplOiAkZ3JvdXAtbGlzdC1mb250LXNpemU7XG4gIGJhY2tncm91bmQ6ICRncm91cC1saXN0LWJnO1xuXG4gIGRpc3BsYXk6IHRhYmxlO1xuXG4gID4gbGkge1xuICAgIGJvcmRlcjogJGdyb3VwLWxpc3QtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRncm91cC1saXN0LWJvcmRlci1yYWRpdXM7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdyb3VwLWxpc3QtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JvdXAtbGlzdC1ob3Zlci1iZztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICA+IC5jaGVja2JveCB7XG4gICAgICBwYWRkaW5nLXRvcDogJGdyb3VwLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZ3JvdXAtaXRlbS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JvdXAtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICA+IC5uYW1lIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAkZ3JvdXAtaXRlbS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgcGFkZGluZy1ib3R0b206ICRncm91cC1pdGVtLXBhZGRpbmctdmVydGljYWw7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRncm91cC1jZWxsLXBhZGRpbmctbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRncm91cC1jZWxsLXBhZGRpbmctcmlnaHQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdygpO1xuICAgICAgbWF4LXdpZHRoOiAxcHg7XG5cbiAgICAgIFtkYXRhLWRldmljZT1cInRpbWVcIl0ge1xuICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTYwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZ3JvdXAtaXRlbS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgcGFkZGluZy1ib3R0b206ICRncm91cC1pdGVtLXBhZGRpbmctdmVydGljYWw7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRncm91cC1jZWxsLXBhZGRpbmctbGVmdDtcbiAgICAgIC8vcGFkZGluZy1yaWdodDogJGdyb3VwLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTkwMDtcblxuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgID4gKiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgID4gKiArICoge1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgfVxuXG4gICAgICBbZGF0YS1kZXZpY2U9XCJ0aW1lXCJdIHtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtOTAwO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0xMDA7XG5cbiAgICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufSIsIkBtaXhpbiBwYW5lbC1oZWFkaW5nLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRoZWFkaW5nLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCgkaGVhZGluZy1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG5cbi5wYW5lbCB7XG4gIC5wYW5lbC1oZWFkaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG4gIC5wYW5lbC10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcbiAgfVxuICAucGFuZWwtdGl0bGUsXG4gIC5wYW5lbC10aXRsZS1vdmVyZmxvdyB7XG4gICAgcGFkZGluZzogJHBhbmVsLWhlYWRpbmctcGFkZGluZztcbiAgICBmb250LXNpemU6ICRwYW5lbC10aXRsZS1zaXplO1xuXG5cbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6ICRwYW5lbC10aXRsZS1pY29uLXNpemU7XG4gICAgICBjb2xvcjogJHBhbmVsLXRpdGxlLWljb24tY29sb3I7XG5cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuICAuY2xvc2UgKyAucGFuZWwtdGl0bGUge1xuICAgIG1heC13aWR0aDogOTUlO1xuICB9XG59XG5cbi5wYW5lbC10cmFuc3BhcmVudCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG59XG5cbi5wYW5lbC1mb3JtIHtcbiAgcGFkZGluZzogMTBweCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgQGluY2x1ZGUgZm9ybS1pbmxpbmU7XG5cbiAgLy9vdmVyd3JpdGUgaW5jbHVkZSBmb3JtLWlubGluZSB3aWR0aCBhdXRvXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi5wYW5lbC1mb3JtLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuICAvLyBVbmRvIDEwMCUgd2lkdGggZm9yIHB1bGwgY2xhc3Nlc1xuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBwYW5lbC1oZWFkaW5nLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG4gICAgLy9mbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn0iLCIjbG9hZGluZyxcbi5sb2FkaW5ne1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTk7XG4gIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbn1cblxuI2xvYWRpbmcge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTAwMDtcbn1cbiNsb2FkaW5nLFxuLmxvYWRpbmd7XG4gIC5iYWNrZHJvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTAwMDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLm91dHRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubWlkZGxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuaW5uZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHNjYWxlKDAuNik7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSBzY2FsZSgwLjYpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIHNjYWxlKDEpOyB9XG59XG5cbi5sb2FkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG87XG4gIGhlaWdodDogMzVweDtcbiAgd2lkdGg6IDM1cHg7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDBweDtcbiAgICB0b3A6ICAwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJyYW5kLXByaW1hcnk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZSAxcyAwcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IHJvdGF0ZSAxcyAwcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0b3A6IDEwcHg7XG4gICAgbGVmdDogMTBweDtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgICBib3JkZXItY29sb3I6ICRicmFuZC1wcmltYXJ5IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgJi5sYXJnZSB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiA2MHB4O1xuXG4gICAgJjpiZWZvcmV7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIH1cbiAgfVxuXG4gICYuc21hbGwge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcblxuICAgICY6YmVmb3Jle1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIGxlZnQ6IDVweDtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgfVxuICB9XG59IiwiYm9keS5zaWduLWluLWxheW91dCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIC5zaWduLWluLXRleHQge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLnBhbmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAxNXB4IHJnYmEoMCwgMCwgMCwgMC41KSk7XG4gIH1cblxuICAucGFuZWwtYm9keSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnBhbmVsLWJhY2tncm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwYW5lbC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFwcC1saW5rcyB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gIH1cbn0iLCIudWktZGlhbG9nIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG59XG5cbi51aS1kaWFsb2ctdGl0bGViYXIudWktd2lkZ2V0LWhlYWRlciB7XG4gIEBleHRlbmQgLm1vZGFsLWhlYWRlcjtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuLnVpLWRpYWxvZy10aXRsZSB7XG4gIEBleHRlbmQgLm1vZGFsLXRpdGxlO1xufVxuXG4udWktZGlhbG9nLnVpLXdpZGdldC51aS13aWRnZXQtY29udGVudCB7XG4gIHotaW5kZXg6IDEwNDY7XG4gIG91dGxpbmU6IG5vbmU7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuYnV0dG9uLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gIEBleHRlbmQgLmNsb3NlO1xufSIsIi5wbGFucyB7XG4gIEBleHRlbmQgLnJvdztcbn1cblxuLnBsYW4tY29sIHtcbiAgQGV4dGVuZCAuY29sLXhzLTEyO1xuICBAZXh0ZW5kIC5jb2wtc20tNDtcbiAgQGV4dGVuZCAuY29sLW1kLTM7XG59XG5cbi5wbGFuIHtcbiAgQGV4dGVuZCAucGFuZWw7XG4gIEBleHRlbmQgLnBhbmVsLWRlZmF1bHQ7XG5cbiAgLnBsYW4taGVhZGluZyB7XG4gICAgQGV4dGVuZCAucGFuZWwtaGVhZGluZztcbiAgfVxuICAucGxhbi10aXRsZSB7XG4gICAgQGV4dGVuZCAucGFuZWwtdGl0bGU7XG4gICAgQGV4dGVuZCAudGV4dC1jZW50ZXI7XG4gIH1cbiAgLnBsYW4tYm9keSB7XG4gICAgQGV4dGVuZCAucGFuZWwtYm9keTtcblxuICAgIC5pY29uLmNoZWNrIHtcbiAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxLjZlbTtcblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBsYW4tZm9vdGVyIHtcbiAgICBAZXh0ZW5kIC5wYW5lbC1mb290ZXI7XG4gICAgQGV4dGVuZCAudGV4dC1jZW50ZXI7XG4gIH1cbn0iLCIjYm90dG9tYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTc7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbiNib3R0b20taGlzdG9yeSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRjb2xvci1iZy0wMDA7XG4gIHotaW5kZXg6IDk5ODtcblxuICAuYm90dG9tLWhpc3RvcnktaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0xMDA7XG4gIH1cblxuICAjZ3JhcGgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKlxuICAgICNncmFwaF9zZW5zb3JzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBAZXh0ZW5kIC5wdWxsLWxlZnQ7XG4gICAgfVxuICAgICovXG4gIH1cblxuICAuZ3JhcGgtY29udHJvbHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0wMDA7XG4gIH1cblxuICAjaG92ZXJkYXRhLFxuICAjaG92ZXJkYXRhLWRhdGUge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBjb2xvcjogJGNvbG9yLXRleHQtNDAwO1xuICB9XG5cbn1cblxuLmdyYXBoLTEtd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE1MHB4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuLmdyYXBoLTEtd3JhcCAuZ3JhcGgtMSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE1MHB4O1xufSIsIiNjb252ZXJzYXRpb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTk5OTk7XG5cbiAgLmNvbnZlcnNhdGlvbiB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuI2NvbnZlcnNhdGlvbiB7XG4gIC5jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tZXNzYWdlcyB7XG4gICAgbWF4LWhlaWdodDogMzUwcHg7XG4gIH1cbn1cblxuXG4uY29udmVyc2F0aW9uIHtcbiAgLnBhbmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5tZXNzYWdlcyB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbWF4LWhlaWdodDogMjUwcHg7XG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIEBleHRlbmQgLnNjcm9sbGJhcjtcblxuICAubWVzc2FnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgLnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctMjAwO1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTEwMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygyMHB4KTtcbiAgICB9XG4gICAgLmF1dGhvciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbGVyO1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTYwMDtcbiAgICB9XG5cbiAgICAmLm1lIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufSIsIiNkYXNoYm9hcmQge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjBweCk7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjBweCk7XG4gICAgYmFja2dyb3VuZDogJGdyYXk7XG4gIH1cblxuICAuZGFzaGJvYXJkLWJsb2NrIHtcbiAgICAmLmF1dG8taGVpZ2h0IHtcbiAgICAgIC5wYW5lbC5wYW5lbC1kZWZhdWx0IHtcbiAgICAgICAgLnBhbmVsLWJvZHkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wYW5lbC5wYW5lbC1kZWZhdWx0IHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLnBhbmVsLWhlYWRpbmcge1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgLnBhbmVsLXRpdGxlIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucGFuZWwtYm9keSB7XG4gICAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgLmxlZ2VuZENvbG9yQm94IHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgfVxuICAgICAgLmxlZ2VuZExhYmVsIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN0YXQtYm94IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRhbGVydC1ib3JkZXItcmFkaXVzO1xuICAgICAgY29sb3I6ICRzdGF0LWJveC10ZXh0LWNvbG9yO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAudGl0bGUgeyB9XG5cbiAgICAgIC5jb3VudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IGxhcmdlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhLmxpbmsge1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIH1cbiAgICAubGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2Jsb2NrX2RldmljZV9vdmVydmlldyB7XG4gIC5wYW5lbC10cmFuc3BhcmVudCB7XG4gICAgPiAucGFuZWwtYm9keSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuI2Rhc2hib2FyZCwgI3NldHVwLWZvcm0tZGFzaGJvYXJkIHtcbiAgLm9wdGlvbnMtZHJvcGRvd24ge1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMTVweDtcblxuICAgIGhyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5kYXNoYm9hcmQtd2lkZ2V0IHtcbiAgYmFja2dyb3VuZDogJGdyYXktbGlnaHQ7XG4gIHBhZGRpbmc6IDEwcHggNXB4IDhweCAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBoZWlnaHQ6IDM4cHg7XG59XG4iLCIuYm9vdHN0cmFwLXNlbGVjdCB7XG4gICYuaGlkZS1waWNrZXIge1xuICAgIGhlaWdodDogMDtcblxuICAgIC5kcm9wZG93bi10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi50aHVtYm5haWwtcHJldmlldyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gID4uaWNvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDJweDtcbiAgfVxuXG4gIC5mdWxsLXByZXZpZXcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdG9wOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDUwO1xuXG4gICAgLmZ1bGwtcHJldmlldyB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxufVxuIiwidGFibGUuZGF0YVRhYmxlIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi10b3A6IDZweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiA2cHggIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDtcblxuICAmLm5vd3JhcCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIH1cbiAgdGQuZGF0YVRhYmxlc19lbXB0eSxcbiAgdGguZGF0YVRhYmxlc19lbXB0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgdGhlYWQgPiB0ciA+IHRoOmFjdGl2ZSxcbiAgdGhlYWQgPiB0ciA+IHRkOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG5kaXYuZGF0YVRhYmxlc193cmFwcGVyIHtcbiAgLmJvdHRvbSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuICB9XG5cbiAgZGl2LmRhdGFUYWJsZXNfbGVuZ3RoIHtcbiAgICBsYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICB3aWR0aDogNzVweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICBkaXYuZGF0YVRhYmxlc19maWx0ZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIGRpdi5kYXRhVGFibGVzX2ZpbHRlciBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgZGl2LmRhdGFUYWJsZXNfZmlsdGVyIGlucHV0IHtcbiAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2w7XG5cbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIGRpdi5kYXRhVGFibGVzX2luZm8ge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG4gICAgLy9tYXJnaW46IDA7XG4gICAgLy93aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8vdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUgdWwucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAycHggMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIGRpdi5kYXRhVGFibGVzX3Byb2Nlc3Npbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTI2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFlbSAwO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBkaXYuZGF0YVRhYmxlc19sZW5ndGgsXG4gICAgZGl2LmRhdGFUYWJsZXNfZmlsdGVyLFxuICAgIGRpdi5kYXRhVGFibGVzX2luZm8sXG4gICAgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG5kaXYudGFibGUtcmVzcG9uc2l2ZSA+IGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgPiBkaXYucm93IHtcbiAgbWFyZ2luOiAwO1xufVxuZGl2LnRhYmxlLXJlc3BvbnNpdmUgPiBkaXYuZGF0YVRhYmxlc193cmFwcGVyID4gZGl2LnJvdyA+IGRpdltjbGFzc149XCJjb2wtXCJdOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuZGl2LnRhYmxlLXJlc3BvbnNpdmUgPiBkaXYuZGF0YVRhYmxlc193cmFwcGVyID4gZGl2LnJvdyA+IGRpdltjbGFzc149XCJjb2wtXCJdOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IDdweCAwO1xuICAvL21hcmdpbjogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgPiBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIH1cblxuICAucGFnaW5hdGVfYnV0dG9uIHtcbiAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL2Zsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlcjtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgICB9XG5cbiAgICAmLmN1cnJlbnQge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */
