@charset "UTF-8";
.clearfix:before, .clearfix:after {
  display: table;
  content: " ";
}
.clearfix:after {
  clear: both;
}

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

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

.pull-left, ul li .list-number, ol li .list-number {
  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;
}

/*! 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: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

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

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

small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

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

figure {
  margin: 1em 40px;
}

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

pre {
  overflow: auto;
}

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

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

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

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

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

input {
  line-height: normal;
}

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

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

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

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

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

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

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

td,
th {
  padding: 0;
}

* {
  -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: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.428571429;
  color: #333333;
  background-color: #fff;
}

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

a {
  color: #4068AA;
  text-decoration: none;
}
a:hover, a:focus {
  color: rgb(43.0769230769, 70, 114.4230769231);
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

figure {
  margin: 0;
}

img {
  vertical-align: middle;
}

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

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

.img-thumbnail {
  padding: 4px;
  line-height: 1.428571429;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -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: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid rgb(238.425, 238.425, 238.425);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  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, .content.reports.edit fieldset legend, .content.reports.view fieldset legend, h5, h6,
.h1, .h2, .h3, .h4, .panel .panel-heading, .h5, .modulelist .panel-heading, .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, .content.reports.edit fieldset legend small, .content.reports.view fieldset legend small,
h4 .small,
.content.reports.edit fieldset legend .small,
.content.reports.view fieldset legend .small, h5 small,
h5 .small, h6 small,
h6 .small,
.h1 small,
.h1 .small, .h2 small,
.h2 .small, .h3 small,
.h3 .small, .h4 small, .panel .panel-heading small,
.h4 .small,
.panel .panel-heading .small, .h5 small, .modulelist .panel-heading small,
.h5 .small,
.modulelist .panel-heading .small, .h6 small,
.h6 .small {
  font-weight: 400;
  line-height: 1;
  color: rgb(119.085, 119.085, 119.085);
}

h1, .h1,
h2, .h2,
h3, .h3 {
  margin-top: 20px;
  margin-bottom: 10px;
}
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, .content.reports.edit fieldset legend, .content.reports.view fieldset legend, .h4, .panel .panel-heading,
h5, .h5, .modulelist .panel-heading,
h6, .h6 {
  margin-top: 10px;
  margin-bottom: 10px;
}
h4 small, .content.reports.edit fieldset legend small, .content.reports.view fieldset legend small,
h4 .small,
.content.reports.edit fieldset legend .small,
.content.reports.view fieldset legend .small, .h4 small, .panel .panel-heading small,
.h4 .small,
.panel .panel-heading .small,
h5 small,
h5 .small, .h5 small, .modulelist .panel-heading small,
.h5 .small,
.modulelist .panel-heading .small,
h6 small,
h6 .small, .h6 small,
.h6 .small {
  font-size: 75%;
}

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

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

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

h4, .content.reports.edit fieldset legend, .content.reports.view fieldset legend, .h4, .panel .panel-heading {
  font-size: 18px;
}

h5, .h5, .modulelist .panel-heading {
  font-size: 14px;
}

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

p {
  margin: 0 0 10px;
}

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

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

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

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

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

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

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

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

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

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

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

.text-muted {
  color: rgb(119.085, 119.085, 119.085);
}

.text-primary {
  color: #4068AA;
}

a.text-primary:hover,
a.text-primary:focus {
  color: rgb(50.0512820513, 81.3333333333, 132.9487179487);
}

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

a.text-success:hover,
a.text-success:focus {
  color: rgb(42.808988764, 84.191011236, 43.5224719101);
}

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

a.text-info:hover,
a.text-info:focus {
  color: rgb(35.984375, 82.25, 105.015625);
}

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

a.text-warning:hover,
a.text-warning:focus {
  color: rgb(102.2741116751, 80.7817258883, 43.7258883249);
}

.text-danger {
  color: #a94442;
}

a.text-danger:hover,
a.text-danger:focus {
  color: rgb(132.3234042553, 53.2425531915, 51.6765957447);
}

.bg-primary {
  color: #fff;
}

.bg-primary {
  background-color: #4068AA;
}

a.bg-primary:hover,
a.bg-primary:focus {
  background-color: rgb(50.0512820513, 81.3333333333, 132.9487179487);
}

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

a.bg-success:hover,
a.bg-success:focus {
  background-color: rgb(192.7777777778, 225.8333333333, 179.1666666667);
}

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

a.bg-info:hover,
a.bg-info:focus {
  background-color: rgb(174.8695652174, 217.0434782609, 238.1304347826);
}

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

a.bg-warning:hover,
a.bg-warning:focus {
  background-color: rgb(247.064516129, 236.4838709677, 180.935483871);
}

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

a.bg-danger:hover,
a.bg-danger:focus {
  background-color: rgb(227.5869565217, 185.4130434783, 185.4130434783);
}

.page-header {
  padding-bottom: 9px;
  margin: 40px 0 20px;
  border-bottom: 1px solid rgb(238.425, 238.425, 238.425);
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 10px;
}
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-right: 5px;
  padding-left: 5px;
}

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

dt,
dd {
  line-height: 1.428571429;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

.dl-horizontal dd:before, .dl-horizontal dd:after {
  display: table;
  content: " ";
}
.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;
}

.initialism {
  font-size: 90%;
}

blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 17.5px;
  border-left: 5px solid rgb(238.425, 238.425, 238.425);
}
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: rgb(119.085, 119.085, 119.085);
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: "— ";
}

.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  text-align: right;
  border-right: 5px solid rgb(238.425, 238.425, 238.425);
  border-left: 0;
}
.blockquote-reverse footer:before,
.blockquote-reverse small:before,
.blockquote-reverse .small:before,
blockquote.pull-right footer:before,
blockquote.pull-right small:before,
blockquote.pull-right .small:before {
  content: "";
}
.blockquote-reverse footer:after,
.blockquote-reverse small:after,
.blockquote-reverse .small:after,
blockquote.pull-right footer:after,
blockquote.pull-right small:after,
blockquote.pull-right .small:after {
  content: " —";
}

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

.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
.container:before, .container:after {
  display: table;
  content: " ";
}
.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 {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
.container-fluid:before, .container-fluid:after {
  display: table;
  content: " ";
}
.container-fluid:after {
  clear: both;
}

.row {
  margin-right: -15px;
  margin-left: -15px;
}
.row:before, .row:after {
  display: table;
  content: " ";
}
.row:after {
  clear: both;
}

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

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

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

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

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

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

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

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

.col-xs-6 {
  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 {
  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, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-1 {
    width: 8.3333333333%;
  }
  .col-sm-2 {
    width: 16.6666666667%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-4 {
    width: 33.3333333333%;
  }
  .col-sm-5 {
    width: 41.6666666667%;
  }
  .col-sm-6 {
    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 {
    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, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-1 {
    width: 8.3333333333%;
  }
  .col-md-2 {
    width: 16.6666666667%;
  }
  .col-md-3 {
    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;
}
table col[class*=col-] {
  position: static;
  display: table-column;
  float: none;
}
table td[class*=col-],
table th[class*=col-] {
  position: static;
  display: table-cell;
  float: none;
}

caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: rgb(119.085, 119.085, 119.085);
  text-align: left;
}

th {
  text-align: left;
}

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}
.table > thead > tr > th,
.table > thead > tr > td,
.table > tbody > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > th,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.428571429;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > th,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}

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

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

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

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

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

.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th {
  background-color: rgb(232.25, 232.25, 232.25);
}

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

.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th {
  background-color: rgb(207.8888888889, 232.9166666667, 197.5833333333);
}

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

.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th {
  background-color: rgb(195.9347826087, 227.0217391304, 242.5652173913);
}

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

.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th {
  background-color: rgb(249.5322580645, 242.2419354839, 203.9677419355);
}

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

.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th {
  background-color: rgb(234.7934782609, 203.7065217391, 203.7065217391);
}

.table-responsive {
  min-height: 0.01%;
  overflow-x: auto;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 15px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}

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

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

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

input[type=search] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

input[type=radio],
input[type=checkbox] {
  margin: 4px 0 0;
  margin-top: 1px \9 ;
  line-height: normal;
}
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;
}

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

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

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

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

output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.428571429;
  color: rgb(85.425, 85.425, 85.425);
}

.form-control, .suggest-result {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.428571429;
  color: rgb(85.425, 85.425, 85.425);
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -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);
  -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, .suggest-result:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder, .suggest-result::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder, .suggest-result:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder, .suggest-result::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand, .suggest-result::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control[disabled], [disabled].suggest-result, .form-control[readonly], [readonly].suggest-result, fieldset[disabled] .form-control, fieldset[disabled] .suggest-result {
  background-color: rgb(238.425, 238.425, 238.425);
  opacity: 1;
}
.form-control[disabled], [disabled].suggest-result, fieldset[disabled] .form-control, fieldset[disabled] .suggest-result {
  cursor: not-allowed;
}

textarea.form-control, textarea.suggest-result {
  height: auto;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type=date].form-control, input[type=date].suggest-result,
  input[type=time].form-control,
  input[type=time].suggest-result,
  input[type=datetime-local].form-control,
  input[type=datetime-local].suggest-result,
  input[type=month].form-control,
  input[type=month].suggest-result {
    line-height: 34px;
  }
  input[type=date].input-sm, input[type=date].form-control.input-table-date, input[type=date].input-table-date.suggest-result,
  .input-group-sm > .input-group-btn > input[type=date].btn,
  .error_dev .input-group-sm > .input-group-btn > input[type=date].toggle-link, .input-group-sm input[type=date],
  input[type=time].input-sm,
  input[type=time].form-control.input-table-date,
  input[type=time].input-table-date.suggest-result,
  .input-group-sm > .input-group-btn > input[type=time].btn,
  .error_dev .input-group-sm > .input-group-btn > input[type=time].toggle-link,
  .input-group-sm input[type=time],
  input[type=datetime-local].input-sm,
  input[type=datetime-local].form-control.input-table-date,
  input[type=datetime-local].input-table-date.suggest-result,
  .input-group-sm > .input-group-btn > input[type=datetime-local].btn,
  .error_dev .input-group-sm > .input-group-btn > input[type=datetime-local].toggle-link,
  .input-group-sm input[type=datetime-local],
  input[type=month].input-sm,
  input[type=month].form-control.input-table-date,
  input[type=month].input-table-date.suggest-result,
  .input-group-sm > .input-group-btn > input[type=month].btn,
  .error_dev .input-group-sm > .input-group-btn > input[type=month].toggle-link,
  .input-group-sm input[type=month] {
    line-height: 30px;
  }
  input[type=date].input-lg,
  .input-group-lg > .input-group-btn > input[type=date].btn,
  .error_dev .input-group-lg > .input-group-btn > input[type=date].toggle-link, .input-group-lg input[type=date],
  input[type=time].input-lg,
  .input-group-lg > .input-group-btn > input[type=time].btn,
  .error_dev .input-group-lg > .input-group-btn > input[type=time].toggle-link,
  .input-group-lg input[type=time],
  input[type=datetime-local].input-lg,
  .input-group-lg > .input-group-btn > input[type=datetime-local].btn,
  .error_dev .input-group-lg > .input-group-btn > input[type=datetime-local].toggle-link,
  .input-group-lg input[type=datetime-local],
  input[type=month].input-lg,
  .input-group-lg > .input-group-btn > input[type=month].btn,
  .error_dev .input-group-lg > .input-group-btn > input[type=month].toggle-link,
  .input-group-lg input[type=month] {
    line-height: 46px;
  }
}
.form-group {
  margin-bottom: 15px;
}

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio.disabled label, .radio-btn-group label input[type=radio]:disabled + span.radio.btn label, .radio-btn-group label .error_dev input[type=radio]:disabled + span.radio.toggle-link label, .error_dev .radio-btn-group label input[type=radio]:disabled + span.radio.toggle-link label, .checkbox-btn-group label input[type=radio]:disabled + span.radio.btn label, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.radio.toggle-link label, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.radio.toggle-link label, fieldset[disabled] .radio label,
.checkbox.disabled label,
.radio-btn-group label input[type=radio]:disabled + span.checkbox.btn label,
.radio-btn-group label .error_dev input[type=radio]:disabled + span.checkbox.toggle-link label,
.error_dev .radio-btn-group label input[type=radio]:disabled + span.checkbox.toggle-link label,
.checkbox-btn-group label input[type=radio]:disabled + span.checkbox.btn label,
.checkbox-btn-group label .error_dev input[type=radio]:disabled + span.checkbox.toggle-link label,
.error_dev .checkbox-btn-group label input[type=radio]:disabled + span.checkbox.toggle-link label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.radio label,
.checkbox label {
  min-height: 20px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: 400;
  cursor: pointer;
}

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

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

.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: 400;
  vertical-align: middle;
  cursor: pointer;
}
.radio-inline.disabled, .radio-btn-group label input[type=radio]:disabled + span.radio-inline.btn, .radio-btn-group label .error_dev input[type=radio]:disabled + span.radio-inline.toggle-link, .error_dev .radio-btn-group label input[type=radio]:disabled + span.radio-inline.toggle-link, .checkbox-btn-group label input[type=radio]:disabled + span.radio-inline.btn, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.radio-inline.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.radio-inline.toggle-link, fieldset[disabled] .radio-inline,
.checkbox-inline.disabled,
.radio-btn-group label input[type=radio]:disabled + span.checkbox-inline.btn,
.radio-btn-group label .error_dev input[type=radio]:disabled + span.checkbox-inline.toggle-link,
.error_dev .radio-btn-group label input[type=radio]:disabled + span.checkbox-inline.toggle-link,
.checkbox-btn-group label input[type=radio]:disabled + span.checkbox-inline.btn,
.checkbox-btn-group label .error_dev input[type=radio]:disabled + span.checkbox-inline.toggle-link,
.error_dev .checkbox-btn-group label input[type=radio]:disabled + span.checkbox-inline.toggle-link,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}

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

.form-control-static, .suggest-result {
  min-height: 34px;
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
}
.form-control-static.input-lg, .input-lg.suggest-result, .input-group-lg > .form-control-static.form-control, .input-group-lg > .suggest-result,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn,
.error_dev .input-group-lg > .input-group-btn > .form-control-static.toggle-link,
.input-group-lg > .input-group-btn > .btn.suggest-result,
.error_dev .input-group-lg > .input-group-btn > .suggest-result.toggle-link, .form-control-static.input-sm, .input-sm.suggest-result, .form-control-static.form-control.input-table-date, .input-table-date.suggest-result, .input-group-sm > .form-control-static.form-control, .input-group-sm > .suggest-result,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn,
.error_dev .input-group-sm > .input-group-btn > .form-control-static.toggle-link,
.input-group-sm > .input-group-btn > .btn.suggest-result,
.error_dev .input-group-sm > .input-group-btn > .suggest-result.toggle-link {
  padding-right: 0;
  padding-left: 0;
}

.input-sm, .form-control.input-table-date, .input-table-date.suggest-result, .input-group-sm > .form-control, .input-group-sm > .suggest-result,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn,
.error_dev .input-group-sm > .input-group-btn > .toggle-link {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}

select.input-sm, select.form-control.input-table-date, select.input-table-date.suggest-result, .input-group-sm > select.form-control, .input-group-sm > select.suggest-result,
.input-group-sm > select.input-group-addon,
.input-group-sm > .input-group-btn > select.btn,
.error_dev .input-group-sm > .input-group-btn > select.toggle-link {
  height: 30px;
  line-height: 30px;
}

textarea.input-sm, textarea.form-control.input-table-date, textarea.input-table-date.suggest-result, .input-group-sm > textarea.form-control, .input-group-sm > textarea.suggest-result,
.input-group-sm > textarea.input-group-addon,
.input-group-sm > .input-group-btn > textarea.btn,
.error_dev .input-group-sm > .input-group-btn > textarea.toggle-link,
select[multiple].input-sm,
select[multiple].form-control.input-table-date,
select[multiple].input-table-date.suggest-result,
.input-group-sm > select[multiple].form-control,
.input-group-sm > select[multiple].suggest-result,
.input-group-sm > select[multiple].input-group-addon,
.input-group-sm > .input-group-btn > select[multiple].btn,
.error_dev .input-group-sm > .input-group-btn > select[multiple].toggle-link {
  height: auto;
}

.form-group-sm .form-control, .form-group-sm .suggest-result {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
.form-group-sm select.form-control, .form-group-sm select.suggest-result {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control, .form-group-sm textarea.suggest-result,
.form-group-sm select[multiple].form-control,
.form-group-sm select[multiple].suggest-result {
  height: auto;
}
.form-group-sm .form-control-static, .form-group-sm .suggest-result {
  height: 30px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}

.input-lg, .input-group-lg > .form-control, .input-group-lg > .suggest-result,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn,
.error_dev .input-group-lg > .input-group-btn > .toggle-link {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}

select.input-lg, .input-group-lg > select.form-control, .input-group-lg > select.suggest-result,
.input-group-lg > select.input-group-addon,
.input-group-lg > .input-group-btn > select.btn,
.error_dev .input-group-lg > .input-group-btn > select.toggle-link {
  height: 46px;
  line-height: 46px;
}

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

.form-group-lg .form-control, .form-group-lg .suggest-result {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
.form-group-lg select.form-control, .form-group-lg select.suggest-result {
  height: 46px;
  line-height: 46px;
}
.form-group-lg textarea.form-control, .form-group-lg textarea.suggest-result,
.form-group-lg select[multiple].form-control,
.form-group-lg select[multiple].suggest-result {
  height: auto;
}
.form-group-lg .form-control-static, .form-group-lg .suggest-result {
  height: 46px;
  min-height: 38px;
  padding: 11px 16px;
  font-size: 18px;
  line-height: 1.3333333;
}

.has-feedback {
  position: relative;
}
.has-feedback .form-control, .has-feedback .suggest-result {
  padding-right: 42.5px;
}

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

.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .suggest-result + .form-control-feedback,
.input-group-lg > .input-group-addon + .form-control-feedback,
.input-group-lg > .input-group-btn > .btn + .form-control-feedback,
.error_dev .input-group-lg > .input-group-btn > .toggle-link + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback,
.form-group-lg .suggest-result + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px;
}

.input-sm + .form-control-feedback, .form-control.input-table-date + .form-control-feedback, .input-table-date.suggest-result + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .suggest-result + .form-control-feedback,
.input-group-sm > .input-group-addon + .form-control-feedback,
.input-group-sm > .input-group-btn > .btn + .form-control-feedback,
.error_dev .input-group-sm > .input-group-btn > .toggle-link + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback,
.form-group-sm .suggest-result + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.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, .has-success .suggest-result {
  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:focus, .has-success .suggest-result:focus {
  border-color: rgb(42.808988764, 84.191011236, 43.5224719101);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(102.5280898876, 177.4719101124, 103.8202247191);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(102.5280898876, 177.4719101124, 103.8202247191);
}
.has-success .input-group-addon {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #3c763d;
}
.has-success .form-control-feedback {
  color: #3c763d;
}

.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control, .has-warning .suggest-result {
  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:focus, .has-warning .suggest-result:focus {
  border-color: rgb(102.2741116751, 80.7817258883, 43.7258883249);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(191.807106599, 160.7461928934, 107.192893401);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(191.807106599, 160.7461928934, 107.192893401);
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #8a6d3b;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}

.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control, .has-error .suggest-result {
  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:focus, .has-error .suggest-result:focus {
  border-color: rgb(132.3234042553, 53.2425531915, 51.6765957447);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(206.4127659574, 132.0595744681, 130.5872340426);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(206.4127659574, 132.0595744681, 130.5872340426);
}
.has-error .input-group-addon {
  color: #a94442;
  background-color: #f2dede;
  border-color: #a94442;
}
.has-error .form-control-feedback {
  color: #a94442;
}

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

.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: rgb(114.75, 114.75, 114.75);
}

@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control, .form-inline .suggest-result {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static, .form-inline .suggest-result {
    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 .suggest-result {
    width: auto;
  }
  .form-inline .input-group > .form-control, .form-inline .input-group > .suggest-result {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type=radio],
  .form-inline .checkbox input[type=checkbox] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}

.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  padding-top: 7px;
  margin-top: 0;
  margin-bottom: 0;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 27px;
}
.form-horizontal .form-group {
  margin-right: -15px;
  margin-left: -15px;
}
.form-horizontal .form-group:before, .form-horizontal .form-group:after {
  display: table;
  content: " ";
}
.form-horizontal .form-group:after {
  clear: both;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    padding-top: 7px;
    margin-bottom: 0;
    text-align: right;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 18px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}

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

.input-group-addon,
.input-group-btn,
.input-group .form-control,
.input-group .suggest-result {
  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 .suggest-result: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: 14px;
  font-weight: 400;
  line-height: 1;
  color: rgb(85.425, 85.425, 85.425);
  text-align: center;
  background-color: rgb(238.425, 238.425, 238.425);
  border: 1px solid #ccc;
  border-radius: 4px;
}
.input-group-addon.input-sm, .input-group-addon.form-control.input-table-date, .input-group-addon.input-table-date.suggest-result,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn,
.error_dev .input-group-sm > .input-group-btn > .input-group-addon.toggle-link {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 3px;
}
.input-group-addon.input-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn,
.error_dev .input-group-lg > .input-group-btn > .input-group-addon.toggle-link {
  padding: 10px 16px;
  font-size: 18px;
  border-radius: 6px;
}
.input-group-addon input[type=radio],
.input-group-addon input[type=checkbox] {
  margin-top: 0;
}

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

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

.input-group .form-control:last-child, .input-group .suggest-result:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.error_dev .input-group-btn:last-child > .toggle-link,
.input-group-btn:last-child > .btn-group > .btn,
.error_dev .input-group-btn:last-child > .btn-group > .toggle-link,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.error_dev .input-group-btn:first-child > .toggle-link:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn,
.error_dev .input-group-btn:first-child > .btn-group:not(:first-child) > .toggle-link {
  border-top-left-radius: 0;
  border-bottom-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, .error_dev .input-group-btn > .toggle-link {
  position: relative;
}
.input-group-btn > .btn + .btn, .error_dev .input-group-btn > .toggle-link + .btn, .error_dev .input-group-btn > .btn + .toggle-link, .error_dev .input-group-btn > .toggle-link + .toggle-link {
  margin-left: -1px;
}
.input-group-btn > .btn:hover, .error_dev .input-group-btn > .toggle-link:hover, .input-group-btn > .btn:focus, .error_dev .input-group-btn > .toggle-link:focus, .input-group-btn > .btn:active, .error_dev .input-group-btn > .toggle-link:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn, .error_dev .input-group-btn:first-child > .toggle-link,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn, .error_dev .input-group-btn:last-child > .toggle-link,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}

.btn, .error_dev .toggle-link {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.428571429;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus, .error_dev .toggle-link:focus, .btn.focus, .error_dev .focus.toggle-link, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover, .error_dev .toggle-link:hover, .btn:focus, .error_dev .toggle-link:focus, .btn.focus, .error_dev .focus.toggle-link {
  color: #333;
  text-decoration: none;
}
.btn:active, .error_dev .toggle-link:active, .btn.active, .error_dev .active.toggle-link {
  background-image: none;
  outline: 0;
  -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.disabled, .error_dev .disabled.toggle-link, .radio-btn-group label input[type=radio]:disabled + span.btn, .radio-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .radio-btn-group label input[type=radio]:disabled + span.toggle-link, .checkbox-btn-group label input[type=radio]:disabled + span.btn, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.toggle-link, .btn[disabled], .error_dev [disabled].toggle-link, fieldset[disabled] .btn, fieldset[disabled] .error_dev .toggle-link, .error_dev fieldset[disabled] .toggle-link {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
  -webkit-box-shadow: none;
  box-shadow: none;
}

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

.btn-default, .error_dev .toggle-link, .radio-btn-group label span.btn, .radio-btn-group label .error_dev span.toggle-link, .error_dev .radio-btn-group label span.toggle-link, .checkbox-btn-group label span.btn, .checkbox-btn-group label .error_dev span.toggle-link, .error_dev .checkbox-btn-group label span.toggle-link, .checkbox-btn-list .checkbox label {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus, .error_dev .toggle-link:focus, .radio-btn-group label span.btn:focus, .checkbox-btn-group label span.btn:focus, .checkbox-btn-list .checkbox label:focus, .btn-default.focus, .error_dev .focus.toggle-link, .radio-btn-group label span.focus.btn, .checkbox-btn-group label span.focus.btn, .checkbox-btn-list .checkbox label.focus {
  color: #333;
  background-color: rgb(229.5, 229.5, 229.5);
  border-color: rgb(140.25, 140.25, 140.25);
}
.btn-default:hover, .error_dev .toggle-link:hover, .radio-btn-group label span.btn:hover, .checkbox-btn-group label span.btn:hover, .checkbox-btn-list .checkbox label:hover {
  color: #333;
  background-color: rgb(229.5, 229.5, 229.5);
  border-color: rgb(173.4, 173.4, 173.4);
}
.btn-default:active, .error_dev .toggle-link:active, .radio-btn-group label span.btn:active, .checkbox-btn-group label span.btn:active, .checkbox-btn-list .checkbox label:active, .btn-default.active, .error_dev .active.toggle-link, .radio-btn-group label span.active.btn, .checkbox-btn-group label span.active.btn, .checkbox-btn-list .checkbox label.active, .open > .btn-default.dropdown-toggle, .error_dev .open > .dropdown-toggle.toggle-link, .radio-btn-group label .open > span.dropdown-toggle.btn, .checkbox-btn-group label .open > span.dropdown-toggle.btn, .checkbox-btn-list .checkbox .open > label.dropdown-toggle {
  color: #333;
  background-color: rgb(229.5, 229.5, 229.5);
  background-image: none;
  border-color: rgb(173.4, 173.4, 173.4);
}
.btn-default:active:hover, .error_dev .toggle-link:active:hover, .radio-btn-group label span.btn:active:hover, .checkbox-btn-group label span.btn:active:hover, .checkbox-btn-list .checkbox label:active:hover, .btn-default:active:focus, .error_dev .toggle-link:active:focus, .radio-btn-group label span.btn:active:focus, .checkbox-btn-group label span.btn:active:focus, .checkbox-btn-list .checkbox label:active:focus, .btn-default:active.focus, .error_dev .toggle-link:active.focus, .radio-btn-group label span.btn:active.focus, .checkbox-btn-group label span.btn:active.focus, .checkbox-btn-list .checkbox label:active.focus, .btn-default.active:hover, .error_dev .active.toggle-link:hover, .radio-btn-group label span.active.btn:hover, .checkbox-btn-group label span.active.btn:hover, .checkbox-btn-list .checkbox label.active:hover, .btn-default.active:focus, .error_dev .active.toggle-link:focus, .radio-btn-group label span.active.btn:focus, .checkbox-btn-group label span.active.btn:focus, .checkbox-btn-list .checkbox label.active:focus, .btn-default.active.focus, .error_dev .active.focus.toggle-link, .radio-btn-group label span.active.focus.btn, .checkbox-btn-group label span.active.focus.btn, .checkbox-btn-list .checkbox label.active.focus, .open > .btn-default.dropdown-toggle:hover, .error_dev .open > .dropdown-toggle.toggle-link:hover, .radio-btn-group label .open > span.dropdown-toggle.btn:hover, .checkbox-btn-group label .open > span.dropdown-toggle.btn:hover, .checkbox-btn-list .checkbox .open > label.dropdown-toggle:hover, .open > .btn-default.dropdown-toggle:focus, .error_dev .open > .dropdown-toggle.toggle-link:focus, .radio-btn-group label .open > span.dropdown-toggle.btn:focus, .checkbox-btn-group label .open > span.dropdown-toggle.btn:focus, .checkbox-btn-list .checkbox .open > label.dropdown-toggle:focus, .open > .btn-default.dropdown-toggle.focus, .error_dev .open > .dropdown-toggle.focus.toggle-link, .radio-btn-group label .open > span.dropdown-toggle.focus.btn, .checkbox-btn-group label .open > span.dropdown-toggle.focus.btn, .checkbox-btn-list .checkbox .open > label.dropdown-toggle.focus {
  color: #333;
  background-color: rgb(211.65, 211.65, 211.65);
  border-color: rgb(140.25, 140.25, 140.25);
}
.btn-default.disabled:hover, .error_dev .disabled.toggle-link:hover, .radio-btn-group label span.disabled.btn:hover, .radio-btn-group label .error_dev span.disabled.toggle-link:hover, .error_dev .radio-btn-group label span.disabled.toggle-link:hover, .radio-btn-group label input[type=radio]:disabled + span.btn:hover, .radio-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link:hover, .error_dev .radio-btn-group label input[type=radio]:disabled + span.toggle-link:hover, .checkbox-btn-group label span.disabled.btn:hover, .checkbox-btn-group label .error_dev span.disabled.toggle-link:hover, .error_dev .checkbox-btn-group label span.disabled.toggle-link:hover, .checkbox-btn-group label input[type=radio]:disabled + span.btn:hover, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link:hover, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.toggle-link:hover, .checkbox-btn-list .checkbox label.disabled:hover, .btn-default.disabled:focus, .error_dev .disabled.toggle-link:focus, .radio-btn-group label span.disabled.btn:focus, .radio-btn-group label .error_dev span.disabled.toggle-link:focus, .error_dev .radio-btn-group label span.disabled.toggle-link:focus, .radio-btn-group label input[type=radio]:disabled + span.btn:focus, .radio-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link:focus, .error_dev .radio-btn-group label input[type=radio]:disabled + span.toggle-link:focus, .checkbox-btn-group label span.disabled.btn:focus, .checkbox-btn-group label .error_dev span.disabled.toggle-link:focus, .error_dev .checkbox-btn-group label span.disabled.toggle-link:focus, .checkbox-btn-group label input[type=radio]:disabled + span.btn:focus, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link:focus, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.toggle-link:focus, .checkbox-btn-list .checkbox label.disabled:focus, .btn-default.disabled.focus, .error_dev .disabled.focus.toggle-link, .radio-btn-group label span.disabled.focus.btn, .radio-btn-group label .error_dev span.disabled.focus.toggle-link, .error_dev .radio-btn-group label span.disabled.focus.toggle-link, .radio-btn-group label input[type=radio]:disabled + span.focus.btn, .radio-btn-group label .error_dev input[type=radio]:disabled + span.focus.toggle-link, .error_dev .radio-btn-group label input[type=radio]:disabled + span.focus.toggle-link, .checkbox-btn-group label span.disabled.focus.btn, .checkbox-btn-group label .error_dev span.disabled.focus.toggle-link, .error_dev .checkbox-btn-group label span.disabled.focus.toggle-link, .checkbox-btn-group label input[type=radio]:disabled + span.focus.btn, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.focus.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.focus.toggle-link, .checkbox-btn-list .checkbox label.disabled.focus, .btn-default[disabled]:hover, .error_dev [disabled].toggle-link:hover, .radio-btn-group label span[disabled].btn:hover, .radio-btn-group label .error_dev span[disabled].toggle-link:hover, .error_dev .radio-btn-group label span[disabled].toggle-link:hover, .checkbox-btn-group label span[disabled].btn:hover, .checkbox-btn-group label .error_dev span[disabled].toggle-link:hover, .error_dev .checkbox-btn-group label span[disabled].toggle-link:hover, .checkbox-btn-list .checkbox label[disabled]:hover, .btn-default[disabled]:focus, .error_dev [disabled].toggle-link:focus, .radio-btn-group label span[disabled].btn:focus, .radio-btn-group label .error_dev span[disabled].toggle-link:focus, .error_dev .radio-btn-group label span[disabled].toggle-link:focus, .checkbox-btn-group label span[disabled].btn:focus, .checkbox-btn-group label .error_dev span[disabled].toggle-link:focus, .error_dev .checkbox-btn-group label span[disabled].toggle-link:focus, .checkbox-btn-list .checkbox label[disabled]:focus, .btn-default[disabled].focus, .error_dev [disabled].focus.toggle-link, .radio-btn-group label span[disabled].focus.btn, .radio-btn-group label .error_dev span[disabled].focus.toggle-link, .error_dev .radio-btn-group label span[disabled].focus.toggle-link, .checkbox-btn-group label span[disabled].focus.btn, .checkbox-btn-group label .error_dev span[disabled].focus.toggle-link, .error_dev .checkbox-btn-group label span[disabled].focus.toggle-link, .checkbox-btn-list .checkbox label[disabled].focus, fieldset[disabled] .btn-default:hover, fieldset[disabled] .error_dev .toggle-link:hover, .error_dev fieldset[disabled] .toggle-link:hover, fieldset[disabled] .radio-btn-group label span.btn:hover, fieldset[disabled] .radio-btn-group label .error_dev span.toggle-link:hover, .error_dev fieldset[disabled] .radio-btn-group label span.toggle-link:hover, .radio-btn-group label fieldset[disabled] span.btn:hover, .radio-btn-group label fieldset[disabled] .error_dev span.toggle-link:hover, .error_dev .radio-btn-group label fieldset[disabled] span.toggle-link:hover, fieldset[disabled] .checkbox-btn-group label span.btn:hover, fieldset[disabled] .checkbox-btn-group label .error_dev span.toggle-link:hover, .error_dev fieldset[disabled] .checkbox-btn-group label span.toggle-link:hover, .checkbox-btn-group label fieldset[disabled] span.btn:hover, .checkbox-btn-group label fieldset[disabled] .error_dev span.toggle-link:hover, .error_dev .checkbox-btn-group label fieldset[disabled] span.toggle-link:hover, fieldset[disabled] .checkbox-btn-list .checkbox label:hover, .checkbox-btn-list .checkbox fieldset[disabled] label:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .error_dev .toggle-link:focus, .error_dev fieldset[disabled] .toggle-link:focus, fieldset[disabled] .radio-btn-group label span.btn:focus, fieldset[disabled] .radio-btn-group label .error_dev span.toggle-link:focus, .error_dev fieldset[disabled] .radio-btn-group label span.toggle-link:focus, .radio-btn-group label fieldset[disabled] span.btn:focus, .radio-btn-group label fieldset[disabled] .error_dev span.toggle-link:focus, .error_dev .radio-btn-group label fieldset[disabled] span.toggle-link:focus, fieldset[disabled] .checkbox-btn-group label span.btn:focus, fieldset[disabled] .checkbox-btn-group label .error_dev span.toggle-link:focus, .error_dev fieldset[disabled] .checkbox-btn-group label span.toggle-link:focus, .checkbox-btn-group label fieldset[disabled] span.btn:focus, .checkbox-btn-group label fieldset[disabled] .error_dev span.toggle-link:focus, .error_dev .checkbox-btn-group label fieldset[disabled] span.toggle-link:focus, fieldset[disabled] .checkbox-btn-list .checkbox label:focus, .checkbox-btn-list .checkbox fieldset[disabled] label:focus, fieldset[disabled] .btn-default.focus, fieldset[disabled] .error_dev .focus.toggle-link, .error_dev fieldset[disabled] .focus.toggle-link, fieldset[disabled] .radio-btn-group label span.focus.btn, fieldset[disabled] .radio-btn-group label .error_dev span.focus.toggle-link, .error_dev fieldset[disabled] .radio-btn-group label span.focus.toggle-link, .radio-btn-group label fieldset[disabled] span.focus.btn, .radio-btn-group label fieldset[disabled] .error_dev span.focus.toggle-link, .error_dev .radio-btn-group label fieldset[disabled] span.focus.toggle-link, fieldset[disabled] .checkbox-btn-group label span.focus.btn, fieldset[disabled] .checkbox-btn-group label .error_dev span.focus.toggle-link, .error_dev fieldset[disabled] .checkbox-btn-group label span.focus.toggle-link, .checkbox-btn-group label fieldset[disabled] span.focus.btn, .checkbox-btn-group label fieldset[disabled] .error_dev span.focus.toggle-link, .error_dev .checkbox-btn-group label fieldset[disabled] span.focus.toggle-link, fieldset[disabled] .checkbox-btn-list .checkbox label.focus, .checkbox-btn-list .checkbox fieldset[disabled] label.focus {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge, .error_dev .toggle-link .badge, .radio-btn-group label span.btn .badge, .checkbox-btn-group label span.btn .badge, .checkbox-btn-list .checkbox label .badge {
  color: #fff;
  background-color: #333;
}

.btn-primary, .radio-btn-group label input[type=radio]:checked + span.btn, .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link, .error_dev .radio-btn-group label input[type=radio]:checked + span.toggle-link, .checkbox-btn-group label input[type=radio]:checked + span.btn, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.toggle-link, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label {
  color: #fff;
  background-color: #4068AA;
  border-color: rgb(57.0256410256, 92.6666666667, 151.4743589744);
}
.btn-primary:focus, .radio-btn-group label input[type=radio]:checked + span.btn:focus, .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:focus, .error_dev .radio-btn-group label input[type=radio]:checked + span.toggle-link:focus, .checkbox-btn-group label input[type=radio]:checked + span.btn:focus, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:focus, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.toggle-link:focus, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label:focus, .btn-primary.focus, .radio-btn-group label input[type=radio]:checked + span.focus.btn, .radio-btn-group label .error_dev input[type=radio]:checked + span.focus.toggle-link, .error_dev .radio-btn-group label input[type=radio]:checked + span.focus.toggle-link, .checkbox-btn-group label input[type=radio]:checked + span.focus.btn, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.focus.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.focus.toggle-link, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label.focus {
  color: #fff;
  background-color: rgb(50.0512820513, 81.3333333333, 132.9487179487);
  border-color: rgb(22.1538461538, 36, 58.8461538462);
}
.btn-primary:hover, .radio-btn-group label input[type=radio]:checked + span.btn:hover, .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:hover, .error_dev .radio-btn-group label input[type=radio]:checked + span.toggle-link:hover, .checkbox-btn-group label input[type=radio]:checked + span.btn:hover, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:hover, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.toggle-link:hover, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label:hover {
  color: #fff;
  background-color: rgb(50.0512820513, 81.3333333333, 132.9487179487);
  border-color: rgb(40.2871794872, 65.4666666667, 107.0128205128);
}
.btn-primary:active, .radio-btn-group label input[type=radio]:checked + span.btn:active, .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:active, .error_dev .radio-btn-group label input[type=radio]:checked + span.toggle-link:active, .checkbox-btn-group label input[type=radio]:checked + span.btn:active, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:active, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.toggle-link:active, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label:active, .btn-primary.active, .radio-btn-group label input[type=radio]:checked + span.active.btn, .radio-btn-group label .error_dev input[type=radio]:checked + span.active.toggle-link, .error_dev .radio-btn-group label input[type=radio]:checked + span.active.toggle-link, .checkbox-btn-group label input[type=radio]:checked + span.active.btn, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.active.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.active.toggle-link, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label.active, .open > .btn-primary.dropdown-toggle, .radio-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.btn, .radio-btn-group label .error_dev .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link, .error_dev .radio-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link, .checkbox-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.btn, .checkbox-btn-group label .error_dev .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link, .error_dev .checkbox-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link, .checkbox-btn-list .checkbox .open > input[type=checkbox]:checked + label.dropdown-toggle {
  color: #fff;
  background-color: rgb(50.0512820513, 81.3333333333, 132.9487179487);
  background-image: none;
  border-color: rgb(40.2871794872, 65.4666666667, 107.0128205128);
}
.btn-primary:active:hover, .radio-btn-group label input[type=radio]:checked + span.btn:active:hover, .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:active:hover, .error_dev .radio-btn-group label input[type=radio]:checked + span.toggle-link:active:hover, .checkbox-btn-group label input[type=radio]:checked + span.btn:active:hover, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:active:hover, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.toggle-link:active:hover, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label:active:hover, .btn-primary:active:focus, .radio-btn-group label input[type=radio]:checked + span.btn:active:focus, .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:active:focus, .error_dev .radio-btn-group label input[type=radio]:checked + span.toggle-link:active:focus, .checkbox-btn-group label input[type=radio]:checked + span.btn:active:focus, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:active:focus, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.toggle-link:active:focus, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label:active:focus, .btn-primary:active.focus, .radio-btn-group label input[type=radio]:checked + span.btn:active.focus, .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:active.focus, .error_dev .radio-btn-group label input[type=radio]:checked + span.toggle-link:active.focus, .checkbox-btn-group label input[type=radio]:checked + span.btn:active.focus, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:active.focus, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.toggle-link:active.focus, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label:active.focus, .btn-primary.active:hover, .radio-btn-group label input[type=radio]:checked + span.active.btn:hover, .radio-btn-group label .error_dev input[type=radio]:checked + span.active.toggle-link:hover, .error_dev .radio-btn-group label input[type=radio]:checked + span.active.toggle-link:hover, .checkbox-btn-group label input[type=radio]:checked + span.active.btn:hover, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.active.toggle-link:hover, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.active.toggle-link:hover, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label.active:hover, .btn-primary.active:focus, .radio-btn-group label input[type=radio]:checked + span.active.btn:focus, .radio-btn-group label .error_dev input[type=radio]:checked + span.active.toggle-link:focus, .error_dev .radio-btn-group label input[type=radio]:checked + span.active.toggle-link:focus, .checkbox-btn-group label input[type=radio]:checked + span.active.btn:focus, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.active.toggle-link:focus, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.active.toggle-link:focus, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label.active:focus, .btn-primary.active.focus, .radio-btn-group label input[type=radio]:checked + span.active.focus.btn, .radio-btn-group label .error_dev input[type=radio]:checked + span.active.focus.toggle-link, .error_dev .radio-btn-group label input[type=radio]:checked + span.active.focus.toggle-link, .checkbox-btn-group label input[type=radio]:checked + span.active.focus.btn, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.active.focus.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.active.focus.toggle-link, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label.active.focus, .open > .btn-primary.dropdown-toggle:hover, .radio-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.btn:hover, .radio-btn-group label .error_dev .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link:hover, .error_dev .radio-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link:hover, .checkbox-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.btn:hover, .checkbox-btn-group label .error_dev .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link:hover, .error_dev .checkbox-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link:hover, .checkbox-btn-list .checkbox .open > input[type=checkbox]:checked + label.dropdown-toggle:hover, .open > .btn-primary.dropdown-toggle:focus, .radio-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.btn:focus, .radio-btn-group label .error_dev .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link:focus, .error_dev .radio-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link:focus, .checkbox-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.btn:focus, .checkbox-btn-group label .error_dev .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link:focus, .error_dev .checkbox-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.toggle-link:focus, .checkbox-btn-list .checkbox .open > input[type=checkbox]:checked + label.dropdown-toggle:focus, .open > .btn-primary.dropdown-toggle.focus, .radio-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.focus.btn, .radio-btn-group label .error_dev .open > input[type=radio]:checked + span.dropdown-toggle.focus.toggle-link, .error_dev .radio-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.focus.toggle-link, .checkbox-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.focus.btn, .checkbox-btn-group label .error_dev .open > input[type=radio]:checked + span.dropdown-toggle.focus.toggle-link, .error_dev .checkbox-btn-group label .open > input[type=radio]:checked + span.dropdown-toggle.focus.toggle-link, .checkbox-btn-list .checkbox .open > input[type=checkbox]:checked + label.dropdown-toggle.focus {
  color: #fff;
  background-color: rgb(40.2871794872, 65.4666666667, 107.0128205128);
  border-color: rgb(22.1538461538, 36, 58.8461538462);
}
.btn-primary.disabled:hover, .radio-btn-group label input[type=radio]:disabled + span.btn-primary.btn:hover, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-primary.toggle-link:hover, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-primary.toggle-link:hover, .checkbox-btn-group label input[type=radio]:disabled + span.btn-primary.btn:hover, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-primary.toggle-link:hover, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-primary.toggle-link:hover, .radio-btn-group label input[type=radio]:checked + span.disabled.btn:hover, .radio-btn-group label .error_dev input[type=radio]:checked + span.disabled.toggle-link:hover, .error_dev .radio-btn-group label input[type=radio]:checked + span.disabled.toggle-link:hover, .radio-btn-group label input[type=radio]:checked:disabled + span.btn:hover, .radio-btn-group label .error_dev input[type=radio]:checked:disabled + span.toggle-link:hover, .error_dev .radio-btn-group label input[type=radio]:checked:disabled + span.toggle-link:hover, .checkbox-btn-group label input[type=radio]:checked + span.disabled.btn:hover, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.disabled.toggle-link:hover, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.disabled.toggle-link:hover, .checkbox-btn-group label input[type=radio]:checked:disabled + span.btn:hover, .checkbox-btn-group label .error_dev input[type=radio]:checked:disabled + span.toggle-link:hover, .error_dev .checkbox-btn-group label input[type=radio]:checked:disabled + span.toggle-link:hover, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label.disabled:hover, .btn-primary.disabled:focus, .radio-btn-group label input[type=radio]:disabled + span.btn-primary.btn:focus, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-primary.toggle-link:focus, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-primary.toggle-link:focus, .checkbox-btn-group label input[type=radio]:disabled + span.btn-primary.btn:focus, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-primary.toggle-link:focus, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-primary.toggle-link:focus, .radio-btn-group label input[type=radio]:checked + span.disabled.btn:focus, .radio-btn-group label .error_dev input[type=radio]:checked + span.disabled.toggle-link:focus, .error_dev .radio-btn-group label input[type=radio]:checked + span.disabled.toggle-link:focus, .radio-btn-group label input[type=radio]:checked:disabled + span.btn:focus, .radio-btn-group label .error_dev input[type=radio]:checked:disabled + span.toggle-link:focus, .error_dev .radio-btn-group label input[type=radio]:checked:disabled + span.toggle-link:focus, .checkbox-btn-group label input[type=radio]:checked + span.disabled.btn:focus, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.disabled.toggle-link:focus, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.disabled.toggle-link:focus, .checkbox-btn-group label input[type=radio]:checked:disabled + span.btn:focus, .checkbox-btn-group label .error_dev input[type=radio]:checked:disabled + span.toggle-link:focus, .error_dev .checkbox-btn-group label input[type=radio]:checked:disabled + span.toggle-link:focus, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label.disabled:focus, .btn-primary.disabled.focus, .radio-btn-group label input[type=radio]:disabled + span.btn-primary.focus.btn, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-primary.focus.toggle-link, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-primary.focus.toggle-link, .checkbox-btn-group label input[type=radio]:disabled + span.btn-primary.focus.btn, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-primary.focus.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-primary.focus.toggle-link, .radio-btn-group label input[type=radio]:checked + span.disabled.focus.btn, .radio-btn-group label .error_dev input[type=radio]:checked + span.disabled.focus.toggle-link, .error_dev .radio-btn-group label input[type=radio]:checked + span.disabled.focus.toggle-link, .radio-btn-group label input[type=radio]:checked:disabled + span.focus.btn, .radio-btn-group label .error_dev input[type=radio]:checked:disabled + span.focus.toggle-link, .error_dev .radio-btn-group label input[type=radio]:checked:disabled + span.focus.toggle-link, .checkbox-btn-group label input[type=radio]:checked + span.disabled.focus.btn, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.disabled.focus.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.disabled.focus.toggle-link, .checkbox-btn-group label input[type=radio]:checked:disabled + span.focus.btn, .checkbox-btn-group label .error_dev input[type=radio]:checked:disabled + span.focus.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:checked:disabled + span.focus.toggle-link, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label.disabled.focus, .btn-primary[disabled]:hover, .radio-btn-group label input[type=radio]:checked + span[disabled].btn:hover, .radio-btn-group label .error_dev input[type=radio]:checked + span[disabled].toggle-link:hover, .error_dev .radio-btn-group label input[type=radio]:checked + span[disabled].toggle-link:hover, .checkbox-btn-group label input[type=radio]:checked + span[disabled].btn:hover, .checkbox-btn-group label .error_dev input[type=radio]:checked + span[disabled].toggle-link:hover, .error_dev .checkbox-btn-group label input[type=radio]:checked + span[disabled].toggle-link:hover, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label[disabled]:hover, .btn-primary[disabled]:focus, .radio-btn-group label input[type=radio]:checked + span[disabled].btn:focus, .radio-btn-group label .error_dev input[type=radio]:checked + span[disabled].toggle-link:focus, .error_dev .radio-btn-group label input[type=radio]:checked + span[disabled].toggle-link:focus, .checkbox-btn-group label input[type=radio]:checked + span[disabled].btn:focus, .checkbox-btn-group label .error_dev input[type=radio]:checked + span[disabled].toggle-link:focus, .error_dev .checkbox-btn-group label input[type=radio]:checked + span[disabled].toggle-link:focus, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label[disabled]:focus, .btn-primary[disabled].focus, .radio-btn-group label input[type=radio]:checked + span[disabled].focus.btn, .radio-btn-group label .error_dev input[type=radio]:checked + span[disabled].focus.toggle-link, .error_dev .radio-btn-group label input[type=radio]:checked + span[disabled].focus.toggle-link, .checkbox-btn-group label input[type=radio]:checked + span[disabled].focus.btn, .checkbox-btn-group label .error_dev input[type=radio]:checked + span[disabled].focus.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:checked + span[disabled].focus.toggle-link, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label[disabled].focus, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .radio-btn-group label input[type=radio]:checked + span.btn:hover, fieldset[disabled] .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:hover, .error_dev fieldset[disabled] .radio-btn-group label input[type=radio]:checked + span.toggle-link:hover, .radio-btn-group label fieldset[disabled] input[type=radio]:checked + span.btn:hover, .radio-btn-group label fieldset[disabled] .error_dev input[type=radio]:checked + span.toggle-link:hover, .error_dev .radio-btn-group label fieldset[disabled] input[type=radio]:checked + span.toggle-link:hover, fieldset[disabled] .checkbox-btn-group label input[type=radio]:checked + span.btn:hover, fieldset[disabled] .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:hover, .error_dev fieldset[disabled] .checkbox-btn-group label input[type=radio]:checked + span.toggle-link:hover, .checkbox-btn-group label fieldset[disabled] input[type=radio]:checked + span.btn:hover, .checkbox-btn-group label fieldset[disabled] .error_dev input[type=radio]:checked + span.toggle-link:hover, .error_dev .checkbox-btn-group label fieldset[disabled] input[type=radio]:checked + span.toggle-link:hover, fieldset[disabled] .checkbox-btn-list .checkbox input[type=checkbox]:checked + label:hover, .checkbox-btn-list .checkbox fieldset[disabled] input[type=checkbox]:checked + label:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .radio-btn-group label input[type=radio]:checked + span.btn:focus, fieldset[disabled] .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:focus, .error_dev fieldset[disabled] .radio-btn-group label input[type=radio]:checked + span.toggle-link:focus, .radio-btn-group label fieldset[disabled] input[type=radio]:checked + span.btn:focus, .radio-btn-group label fieldset[disabled] .error_dev input[type=radio]:checked + span.toggle-link:focus, .error_dev .radio-btn-group label fieldset[disabled] input[type=radio]:checked + span.toggle-link:focus, fieldset[disabled] .checkbox-btn-group label input[type=radio]:checked + span.btn:focus, fieldset[disabled] .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:focus, .error_dev fieldset[disabled] .checkbox-btn-group label input[type=radio]:checked + span.toggle-link:focus, .checkbox-btn-group label fieldset[disabled] input[type=radio]:checked + span.btn:focus, .checkbox-btn-group label fieldset[disabled] .error_dev input[type=radio]:checked + span.toggle-link:focus, .error_dev .checkbox-btn-group label fieldset[disabled] input[type=radio]:checked + span.toggle-link:focus, fieldset[disabled] .checkbox-btn-list .checkbox input[type=checkbox]:checked + label:focus, .checkbox-btn-list .checkbox fieldset[disabled] input[type=checkbox]:checked + label:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .radio-btn-group label input[type=radio]:checked + span.focus.btn, fieldset[disabled] .radio-btn-group label .error_dev input[type=radio]:checked + span.focus.toggle-link, .error_dev fieldset[disabled] .radio-btn-group label input[type=radio]:checked + span.focus.toggle-link, .radio-btn-group label fieldset[disabled] input[type=radio]:checked + span.focus.btn, .radio-btn-group label fieldset[disabled] .error_dev input[type=radio]:checked + span.focus.toggle-link, .error_dev .radio-btn-group label fieldset[disabled] input[type=radio]:checked + span.focus.toggle-link, fieldset[disabled] .checkbox-btn-group label input[type=radio]:checked + span.focus.btn, fieldset[disabled] .checkbox-btn-group label .error_dev input[type=radio]:checked + span.focus.toggle-link, .error_dev fieldset[disabled] .checkbox-btn-group label input[type=radio]:checked + span.focus.toggle-link, .checkbox-btn-group label fieldset[disabled] input[type=radio]:checked + span.focus.btn, .checkbox-btn-group label fieldset[disabled] .error_dev input[type=radio]:checked + span.focus.toggle-link, .error_dev .checkbox-btn-group label fieldset[disabled] input[type=radio]:checked + span.focus.toggle-link, fieldset[disabled] .checkbox-btn-list .checkbox input[type=checkbox]:checked + label.focus, .checkbox-btn-list .checkbox fieldset[disabled] input[type=checkbox]:checked + label.focus {
  background-color: #4068AA;
  border-color: rgb(57.0256410256, 92.6666666667, 151.4743589744);
}
.btn-primary .badge, .radio-btn-group label input[type=radio]:checked + span.btn .badge, .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link .badge, .error_dev .radio-btn-group label input[type=radio]:checked + span.toggle-link .badge, .checkbox-btn-group label input[type=radio]:checked + span.btn .badge, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link .badge, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.toggle-link .badge, .checkbox-btn-list .checkbox input[type=checkbox]:checked + label .badge {
  color: #4068AA;
  background-color: #fff;
}

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: rgb(76.0064102564, 174.4935897436, 76.0064102564);
}
.btn-success:focus, .btn-success.focus {
  color: #fff;
  background-color: rgb(68.2692307692, 156.7307692308, 68.2692307692);
  border-color: rgb(37.3205128205, 85.6794871795, 37.3205128205);
}
.btn-success:hover {
  color: #fff;
  background-color: rgb(68.2692307692, 156.7307692308, 68.2692307692);
  border-color: rgb(57.4371794872, 131.8628205128, 57.4371794872);
}
.btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: rgb(68.2692307692, 156.7307692308, 68.2692307692);
  background-image: none;
  border-color: rgb(57.4371794872, 131.8628205128, 57.4371794872);
}
.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: rgb(57.4371794872, 131.8628205128, 57.4371794872);
  border-color: rgb(37.3205128205, 85.6794871795, 37.3205128205);
}
.btn-success.disabled:hover, .radio-btn-group label input[type=radio]:disabled + span.btn-success.btn:hover, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-success.toggle-link:hover, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-success.toggle-link:hover, .checkbox-btn-group label input[type=radio]:disabled + span.btn-success.btn:hover, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-success.toggle-link:hover, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-success.toggle-link:hover, .btn-success.disabled:focus, .radio-btn-group label input[type=radio]:disabled + span.btn-success.btn:focus, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-success.toggle-link:focus, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-success.toggle-link:focus, .checkbox-btn-group label input[type=radio]:disabled + span.btn-success.btn:focus, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-success.toggle-link:focus, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-success.toggle-link:focus, .btn-success.disabled.focus, .radio-btn-group label input[type=radio]:disabled + span.btn-success.focus.btn, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-success.focus.toggle-link, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-success.focus.toggle-link, .checkbox-btn-group label input[type=radio]:disabled + span.btn-success.focus.btn, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-success.focus.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-success.focus.toggle-link, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: rgb(76.0064102564, 174.4935897436, 76.0064102564);
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}

.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: rgb(69.7715736041, 183.845177665, 217.7284263959);
}
.btn-info:focus, .btn-info.focus {
  color: #fff;
  background-color: rgb(48.5431472081, 175.6903553299, 213.4568527919);
  border-color: rgb(26.8020304569, 108.8324873096, 133.1979695431);
}
.btn-info:hover {
  color: #fff;
  background-color: rgb(48.5431472081, 175.6903553299, 213.4568527919);
  border-color: rgb(37.9081218274, 153.9299492386, 188.3918781726);
}
.btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: rgb(48.5431472081, 175.6903553299, 213.4568527919);
  background-image: none;
  border-color: rgb(37.9081218274, 153.9299492386, 188.3918781726);
}
.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: rgb(37.9081218274, 153.9299492386, 188.3918781726);
  border-color: rgb(26.8020304569, 108.8324873096, 133.1979695431);
}
.btn-info.disabled:hover, .radio-btn-group label input[type=radio]:disabled + span.btn-info.btn:hover, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-info.toggle-link:hover, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-info.toggle-link:hover, .checkbox-btn-group label input[type=radio]:disabled + span.btn-info.btn:hover, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-info.toggle-link:hover, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-info.toggle-link:hover, .btn-info.disabled:focus, .radio-btn-group label input[type=radio]:disabled + span.btn-info.btn:focus, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-info.toggle-link:focus, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-info.toggle-link:focus, .checkbox-btn-group label input[type=radio]:disabled + span.btn-info.btn:focus, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-info.toggle-link:focus, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-info.toggle-link:focus, .btn-info.disabled.focus, .radio-btn-group label input[type=radio]:disabled + span.btn-info.focus.btn, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-info.focus.toggle-link, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-info.focus.toggle-link, .checkbox-btn-group label input[type=radio]:disabled + span.btn-info.focus.btn, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-info.focus.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-info.focus.toggle-link, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: rgb(69.7715736041, 183.845177665, 217.7284263959);
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}

.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: rgb(238.0078125, 162.109375, 54.4921875);
}
.btn-warning:focus, .btn-warning.focus {
  color: #fff;
  background-color: rgb(236.015625, 151.21875, 30.984375);
  border-color: rgb(152.109375, 94.53125, 12.890625);
}
.btn-warning:hover {
  color: #fff;
  background-color: rgb(236.015625, 151.21875, 30.984375);
  border-color: rgb(213.2296875, 132.515625, 18.0703125);
}
.btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: rgb(236.015625, 151.21875, 30.984375);
  background-image: none;
  border-color: rgb(213.2296875, 132.515625, 18.0703125);
}
.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: rgb(213.2296875, 132.515625, 18.0703125);
  border-color: rgb(152.109375, 94.53125, 12.890625);
}
.btn-warning.disabled:hover, .radio-btn-group label input[type=radio]:disabled + span.btn-warning.btn:hover, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-warning.toggle-link:hover, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-warning.toggle-link:hover, .checkbox-btn-group label input[type=radio]:disabled + span.btn-warning.btn:hover, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-warning.toggle-link:hover, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-warning.toggle-link:hover, .btn-warning.disabled:focus, .radio-btn-group label input[type=radio]:disabled + span.btn-warning.btn:focus, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-warning.toggle-link:focus, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-warning.toggle-link:focus, .checkbox-btn-group label input[type=radio]:disabled + span.btn-warning.btn:focus, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-warning.toggle-link:focus, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-warning.toggle-link:focus, .btn-warning.disabled.focus, .radio-btn-group label input[type=radio]:disabled + span.btn-warning.focus.btn, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-warning.focus.toggle-link, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-warning.focus.toggle-link, .checkbox-btn-group label input[type=radio]:disabled + span.btn-warning.focus.btn, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-warning.focus.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-warning.focus.toggle-link, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: rgb(238.0078125, 162.109375, 54.4921875);
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}

.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: rgb(212.4719626168, 62.5046728972, 58.0280373832);
}
.btn-danger:focus, .btn-danger.focus {
  color: #fff;
  background-color: rgb(201.4953271028, 48.0841121495, 43.5046728972);
  border-color: rgb(117.6074766355, 28.0654205607, 25.3925233645);
}
.btn-danger:hover {
  color: #fff;
  background-color: rgb(201.4953271028, 48.0841121495, 43.5046728972);
  border-color: rgb(172.1345794393, 41.0775700935, 37.1654205607);
}
.btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: rgb(201.4953271028, 48.0841121495, 43.5046728972);
  background-image: none;
  border-color: rgb(172.1345794393, 41.0775700935, 37.1654205607);
}
.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: rgb(172.1345794393, 41.0775700935, 37.1654205607);
  border-color: rgb(117.6074766355, 28.0654205607, 25.3925233645);
}
.btn-danger.disabled:hover, .radio-btn-group label input[type=radio]:disabled + span.btn-danger.btn:hover, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-danger.toggle-link:hover, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-danger.toggle-link:hover, .checkbox-btn-group label input[type=radio]:disabled + span.btn-danger.btn:hover, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-danger.toggle-link:hover, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-danger.toggle-link:hover, .btn-danger.disabled:focus, .radio-btn-group label input[type=radio]:disabled + span.btn-danger.btn:focus, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-danger.toggle-link:focus, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-danger.toggle-link:focus, .checkbox-btn-group label input[type=radio]:disabled + span.btn-danger.btn:focus, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-danger.toggle-link:focus, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-danger.toggle-link:focus, .btn-danger.disabled.focus, .radio-btn-group label input[type=radio]:disabled + span.btn-danger.focus.btn, .radio-btn-group label .error_dev input[type=radio]:disabled + span.btn-danger.focus.toggle-link, .error_dev .radio-btn-group label input[type=radio]:disabled + span.btn-danger.focus.toggle-link, .checkbox-btn-group label input[type=radio]:disabled + span.btn-danger.focus.btn, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.btn-danger.focus.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.btn-danger.focus.toggle-link, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: rgb(212.4719626168, 62.5046728972, 58.0280373832);
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}

.btn-link {
  font-weight: 400;
  color: #4068AA;
  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: rgb(43.0769230769, 70, 114.4230769231);
  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: rgb(119.085, 119.085, 119.085);
  text-decoration: none;
}

.btn-lg {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}

.btn-sm {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}

.btn-xs {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}

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

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 20px 0;
  border-radius: 4px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.428571429;
  color: #4068AA;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #ddd;
}
.pagination > li > a:hover, .pagination > li > a:focus,
.pagination > li > span:hover,
.pagination > li > span:focus {
  z-index: 2;
  color: rgb(43.0769230769, 70, 114.4230769231);
  background-color: rgb(238.425, 238.425, 238.425);
  border-color: #ddd;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,
.pagination > .active > span,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
  z-index: 3;
  color: #fff;
  cursor: default;
  background-color: #4068AA;
  border-color: #4068AA;
}
.pagination > .disabled > span, .radio-btn-group label .pagination > input[type=radio]:disabled + span.btn > span, .radio-btn-group label .error_dev .pagination > input[type=radio]:disabled + span.toggle-link > span, .error_dev .radio-btn-group label .pagination > input[type=radio]:disabled + span.toggle-link > span, .checkbox-btn-group label .pagination > input[type=radio]:disabled + span.btn > span, .checkbox-btn-group label .error_dev .pagination > input[type=radio]:disabled + span.toggle-link > span, .error_dev .checkbox-btn-group label .pagination > input[type=radio]:disabled + span.toggle-link > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.radio-btn-group label .pagination > input[type=radio]:disabled + span.btn > a,
.radio-btn-group label .error_dev .pagination > input[type=radio]:disabled + span.toggle-link > a,
.error_dev .radio-btn-group label .pagination > input[type=radio]:disabled + span.toggle-link > a,
.checkbox-btn-group label .pagination > input[type=radio]:disabled + span.btn > a,
.checkbox-btn-group label .error_dev .pagination > input[type=radio]:disabled + span.toggle-link > a,
.error_dev .checkbox-btn-group label .pagination > input[type=radio]:disabled + span.toggle-link > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: rgb(119.085, 119.085, 119.085);
  cursor: not-allowed;
  background-color: #fff;
  border-color: #ddd;
}

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

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

.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 0;
}
.alert h4, .alert .content.reports.edit fieldset legend, .content.reports.edit fieldset .alert legend, .alert .content.reports.view fieldset legend, .content.reports.view fieldset .alert legend {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}

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

.alert-success {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: rgb(213.7777777778, 232.9166666667, 197.5833333333);
}
.alert-success hr {
  border-top-color: rgb(200.5555555556, 225.8333333333, 179.1666666667);
}
.alert-success .alert-link {
  color: rgb(42.808988764, 84.191011236, 43.5224719101);
}

.alert-info {
  color: #31708f;
  background-color: #d9edf7;
  border-color: rgb(187.5086956522, 231.9108695652, 240.7913043478);
}
.alert-info hr {
  border-top-color: rgb(166.4434782609, 224.7043478261, 236.3565217391);
}
.alert-info .alert-link {
  color: rgb(35.984375, 82.25, 105.015625);
}

.alert-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: rgb(249.5322580645, 234.6478494624, 203.9677419355);
}
.alert-warning hr {
  border-top-color: rgb(247.064516129, 225.4623655914, 180.935483871);
}
.alert-warning .alert-link {
  color: rgb(102.2741116751, 80.7817258883, 43.7258883249);
}

.alert-danger {
  color: #a94442;
  background-color: #f2dede;
  border-color: rgb(234.7934782609, 203.7065217391, 208.8876811594);
}
.alert-danger hr {
  border-top-color: rgb(227.5869565217, 185.4130434783, 192.4420289855);
}
.alert-danger .alert-link {
  color: rgb(132.3234042553, 53.2425531915, 51.6765957447);
}

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

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

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

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}
.list-group-item.disabled, .radio-btn-group label input[type=radio]:disabled + span.list-group-item.btn, .radio-btn-group label .error_dev input[type=radio]:disabled + span.list-group-item.toggle-link, .error_dev .radio-btn-group label input[type=radio]:disabled + span.list-group-item.toggle-link, .checkbox-btn-group label input[type=radio]:disabled + span.list-group-item.btn, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.list-group-item.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.list-group-item.toggle-link, .list-group-item.disabled:hover, .list-group-item.disabled:focus {
  color: rgb(119.085, 119.085, 119.085);
  cursor: not-allowed;
  background-color: rgb(238.425, 238.425, 238.425);
}
.list-group-item.disabled .list-group-item-heading, .radio-btn-group label input[type=radio]:disabled + span.list-group-item.btn .list-group-item-heading, .radio-btn-group label .error_dev input[type=radio]:disabled + span.list-group-item.toggle-link .list-group-item-heading, .error_dev .radio-btn-group label input[type=radio]:disabled + span.list-group-item.toggle-link .list-group-item-heading, .checkbox-btn-group label input[type=radio]:disabled + span.list-group-item.btn .list-group-item-heading, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.list-group-item.toggle-link .list-group-item-heading, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.list-group-item.toggle-link .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, .radio-btn-group label input[type=radio]:disabled + span.list-group-item.btn .list-group-item-text, .radio-btn-group label .error_dev input[type=radio]:disabled + span.list-group-item.toggle-link .list-group-item-text, .error_dev .radio-btn-group label input[type=radio]:disabled + span.list-group-item.toggle-link .list-group-item-text, .checkbox-btn-group label input[type=radio]:disabled + span.list-group-item.btn .list-group-item-text, .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.list-group-item.toggle-link .list-group-item-text, .error_dev .checkbox-btn-group label input[type=radio]:disabled + span.list-group-item.toggle-link .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {
  color: rgb(119.085, 119.085, 119.085);
}
.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #4068AA;
  border-color: #4068AA;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.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-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {
  color: rgb(202.6923076923, 215, 235.3076923077);
}

a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover, a.list-group-item:focus,
button.list-group-item:hover,
button.list-group-item:focus {
  color: #555;
  text-decoration: none;
  background-color: #f5f5f5;
}

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

.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: rgb(207.8888888889, 232.9166666667, 197.5833333333);
}
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: rgb(195.9347826087, 227.0217391304, 242.5652173913);
}
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: rgb(249.5322580645, 242.2419354839, 203.9677419355);
}
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: rgb(234.7934782609, 203.7065217391, 203.7065217391);
}
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;
}

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

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

.label-default {
  background-color: rgb(119.085, 119.085, 119.085);
}
.label-default[href]:hover, .label-default[href]:focus {
  background-color: rgb(93.585, 93.585, 93.585);
}

.label-primary {
  background-color: #4068AA;
}
.label-primary[href]:hover, .label-primary[href]:focus {
  background-color: rgb(50.0512820513, 81.3333333333, 132.9487179487);
}

.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover, .label-success[href]:focus {
  background-color: rgb(68.2692307692, 156.7307692308, 68.2692307692);
}

.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover, .label-info[href]:focus {
  background-color: rgb(48.5431472081, 175.6903553299, 213.4568527919);
}

.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover, .label-warning[href]:focus {
  background-color: rgb(236.015625, 151.21875, 30.984375);
}

.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover, .label-danger[href]:focus {
  background-color: rgb(201.4953271028, 48.0841121495, 43.5046728972);
}

.panel {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  -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 {
  padding: 15px;
}
.panel-body:before, .panel-body:after {
  display: table;
  content: " ";
}
.panel-body:after {
  clear: both;
}

.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}

.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}

.panel-footer {
  padding: 10px 15px;
  background-color: transparent;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

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

.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}

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

.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-right: 15px;
  padding-left: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .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: 3px;
  border-top-right-radius: 3px;
}
.panel > .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,
.panel > .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,
.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: 3px;
}
.panel > .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,
.panel > .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,
.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: 3px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .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-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .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,
.panel > .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,
.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: 3px;
}
.panel > .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,
.panel > .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,
.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: 3px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .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,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .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,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .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,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .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 {
  margin-bottom: 0;
  border: 0;
}

.panel-group {
  margin-bottom: 20px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}

.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}

.panel-primary {
  border-color: #4068AA;
}
.panel-primary > .panel-heading {
  color: #4068AA;
  background-color: #4068AA;
  border-color: #4068AA;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #4068AA;
}
.panel-primary > .panel-heading .badge {
  color: #4068AA;
  background-color: #4068AA;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #4068AA;
}

.panel-success {
  border-color: rgb(213.7777777778, 232.9166666667, 197.5833333333);
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: rgb(213.7777777778, 232.9166666667, 197.5833333333);
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: rgb(213.7777777778, 232.9166666667, 197.5833333333);
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: rgb(213.7777777778, 232.9166666667, 197.5833333333);
}

.panel-info {
  border-color: rgb(187.5086956522, 231.9108695652, 240.7913043478);
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: rgb(187.5086956522, 231.9108695652, 240.7913043478);
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: rgb(187.5086956522, 231.9108695652, 240.7913043478);
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: rgb(187.5086956522, 231.9108695652, 240.7913043478);
}

.panel-warning {
  border-color: rgb(249.5322580645, 234.6478494624, 203.9677419355);
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: rgb(249.5322580645, 234.6478494624, 203.9677419355);
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: rgb(249.5322580645, 234.6478494624, 203.9677419355);
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: rgb(249.5322580645, 234.6478494624, 203.9677419355);
}

.panel-danger {
  border-color: rgb(234.7934782609, 203.7065217391, 208.8876811594);
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: rgb(234.7934782609, 203.7065217391, 208.8876811594);
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: rgb(234.7934782609, 203.7065217391, 208.8876811594);
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: rgb(234.7934782609, 203.7065217391, 208.8876811594);
}

@-ms-viewport {
  width: device-width;
}
.visible-xs {
  display: none !important;
}

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

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

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

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

@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}

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

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

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}

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

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

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}

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

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

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}

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

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

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}

@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}

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

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

@media print {
  .hidden-print {
    display: none !important;
  }
}
.cake-debug-output {
  background: #fff;
  padding: 6px 12px;
}

h6 {
  font-size: 100%;
}

a:hover, a:focus, a:active, button.btn-link:hover, button.btn-link:focus, button.btn-link:active {
  text-decoration: none;
  outline: none;
}

.btn-link {
  padding: 0;
  border: 0px;
}

abbr[title], abbr[data-original-title] {
  text-decoration: none;
}

.xdebug-var-dump {
  width: 100%;
  padding: 1em;
  background: #fff;
  overflow: auto;
}

hr.hr1 {
  border-width: 1px;
}
hr.hr2 {
  border-width: 2px;
}

@font-face {
  font-family: "icons";
  src: url("../fonts/icons1760706426103.eot");
  src: url("../fonts/icons1760706426103.eot?#iefix") format("eot"), url("../fonts/icons1760706426103.woff") format("woff"), url("../fonts/icons1760706426103.ttf") format("truetype");
}
.icon {
  font-family: "icons";
}

[class|=icon] {
  display: inline-block;
}
[class|=icon]:before {
  position: relative;
  top: 0.1em;
  margin-right: 0.3em;
  font-family: icons;
  font-style: normal;
}
[class|=icon].hide-text, .table tbody td.actions i[class|=icon], .table tbody td.status i[class|=icon], .table tbody td.actions a[class|=icon], .table tbody td.status a[class|=icon] {
  font-size: 0;
}
[class|=icon].hide-text:before, .table tbody td.actions i[class|=icon]:before, .table tbody td.status i[class|=icon]:before, .table tbody td.actions a[class|=icon]:before, .table tbody td.status a[class|=icon]:before {
  position: static;
  margin-right: 0;
  top: 0;
  font-size: 14px;
}

.icon-angle-down:before {
  content: "\e001";
}

.icon-angle-right:before {
  content: "\e002";
}

.icon-arrow-left:before {
  content: "\e003";
}

.icon-arrow-right:before {
  content: "\e004";
}

.icon-bell:before {
  content: "\e005";
}

.icon-checkmark:before {
  content: "\e006";
}

.icon-clock:before {
  content: "\e007";
}

.icon-close:before {
  content: "\e008";
}

.icon-cogs:before {
  content: "\e009";
}

.icon-coin-euro:before {
  content: "\e00a";
}

.icon-copy:before {
  content: "\e00b";
}

.icon-euro:before {
  content: "\e00c";
}

.icon-eye-hide:before {
  content: "\e00d";
}

.icon-eye:before {
  content: "\e00e";
}

.icon-file-code:before {
  content: "\e00f";
}

.icon-file-excel:before {
  content: "\e010";
}

.icon-file-pdf-solid:before {
  content: "\e011";
}

.icon-file-pdf:before {
  content: "\e012";
}

.icon-invoice-ban:before {
  content: "\e013";
}

.icon-invoice-dollar:before {
  content: "\e014";
}

.icon-level-up:before {
  content: "\e015";
}

.icon-list:before {
  content: "\e016";
}

.icon-locked:before {
  content: "\e017";
}

.icon-mask:before {
  content: "\e018";
}

.icon-minus:before {
  content: "\e019";
}

.icon-move-down:before {
  content: "\e01a";
}

.icon-move-up:before {
  content: "\e01b";
}

.icon-open:before {
  content: "\e01c";
}

.icon-paper-plane:before {
  content: "\e01d";
}

.icon-pencil:before {
  content: "\e01e";
}

.icon-plus:before {
  content: "\e01f";
}

.icon-print:before {
  content: "\e020";
}

.icon-question:before {
  content: "\e021";
}

.icon-recycle:before {
  content: "\e022";
}

.icon-repeat:before {
  content: "\e023";
}

.icon-search:before {
  content: "\e024";
}

.icon-sign-out:before {
  content: "\e025";
}

.icon-sitemap:before {
  content: "\e026";
}

.icon-sort-asc:before {
  content: "\e027";
}

.icon-sort-desc:before {
  content: "\e028";
}

.icon-stopwatch:before {
  content: "\e029";
}

.icon-toggle-off:before {
  content: "\e02a";
}

.icon-toggle-on:before {
  content: "\e02b";
}

.icon-trash:before {
  content: "\e02c";
}

.icon-unlocked:before {
  content: "\e02d";
}

.icon-upload-solid:before {
  content: "\e02e";
}

.icon-user:before {
  content: "\e02f";
}

.icon-warning:before {
  content: "\e030";
}

.circled-icon {
  display: inline-block;
  border: 1px solid;
  border-radius: 50%;
  margin: 0 0.1em;
  white-space: nowrap;
  text-align: center;
  padding-top: 2px;
  line-height: 1;
  min-width: 20px;
}
.circled-icon.circled-icon-primary {
  color: #fff;
  background-color: #4068AA;
  border-color: #4068AA;
}
.circled-icon.circled-icon-primary hr {
  border-top-color: rgb(57.0256410256, 92.6666666667, 151.4743589744);
}
.circled-icon.circled-icon-primary .alert-link {
  color: rgb(229.5, 229.5, 229.5);
}
.circled-icon.circled-icon-success {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: rgb(213.7777777778, 232.9166666667, 197.5833333333);
}
.circled-icon.circled-icon-success hr {
  border-top-color: rgb(200.5555555556, 225.8333333333, 179.1666666667);
}
.circled-icon.circled-icon-success .alert-link {
  color: rgb(42.808988764, 84.191011236, 43.5224719101);
}
.circled-icon.circled-icon-info {
  color: #31708f;
  background-color: #d9edf7;
  border-color: rgb(187.5086956522, 231.9108695652, 240.7913043478);
}
.circled-icon.circled-icon-info hr {
  border-top-color: rgb(166.4434782609, 224.7043478261, 236.3565217391);
}
.circled-icon.circled-icon-info .alert-link {
  color: rgb(35.984375, 82.25, 105.015625);
}
.circled-icon.circled-icon-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: rgb(249.5322580645, 234.6478494624, 203.9677419355);
}
.circled-icon.circled-icon-warning hr {
  border-top-color: rgb(247.064516129, 225.4623655914, 180.935483871);
}
.circled-icon.circled-icon-warning .alert-link {
  color: rgb(102.2741116751, 80.7817258883, 43.7258883249);
}
.circled-icon.circled-icon-danger {
  color: #a94442;
  background-color: #f2dede;
  border-color: rgb(234.7934782609, 203.7065217391, 208.8876811594);
}
.circled-icon.circled-icon-danger hr {
  border-top-color: rgb(227.5869565217, 185.4130434783, 192.4420289855);
}
.circled-icon.circled-icon-danger .alert-link {
  color: rgb(132.3234042553, 53.2425531915, 51.6765957447);
}

.card {
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-radius: 0;
  background: #fff;
  padding: 2em;
  border-left: 5px solid #4068AA;
}
.card.card-danger {
  border-color: #d9534f;
}
.card.card-danger h1, .card.card-danger h1 small,
.card.card-danger h2 {
  color: #d9534f;
}

.card-header {
  margin-bottom: 2rem;
  display: flex;
  flex-direction: row;
}
.card-header h1, .card-header h2, .card-header h3 {
  flex: 1 1 auto;
  margin: 0;
}
.card-header .actions {
  flex: 0 1 auto;
  min-width: 310px;
  text-align: right;
}
.card-header .actions a {
  margin-left: 1em;
}
.card-header .actions a:first-child {
  margin-left: 0;
}
.card-header .icon:before {
  position: relative;
  top: 0.1em;
  margin-right: 0.3em;
}

.card-block {
  margin: 2em 0;
}
.card-block:first-child {
  margin-top: 0;
}
.card-block:last-child {
  margin-bottom: 0;
}
.dashboard .card-block .flex-col {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.table thead th {
  border-top: 0;
  border-bottom-color: #4068AA;
  color: #4068AA;
  white-space: nowrap;
}
.table thead th a {
  position: relative;
  display: block;
}
.table thead th a.asc, .table thead th a.desc {
  padding-left: 15px;
}
.table thead th a.asc:before, .table thead th a.desc:before {
  position: absolute;
  top: 0.2em;
  left: 0;
  display: block;
  width: 1em;
  height: 1em;
  font-family: "icons";
}
.table thead th a.asc:before {
  content: "\e027";
}
.table thead th a.desc:before {
  content: "\e028";
}
.table thead td.numeric, .table thead th.numeric {
  text-align: right;
}
.table tbody tr.disabled {
  opacity: 0.4;
}
.table tbody td.actions, .table tbody td.status {
  white-space: nowrap;
  text-align: right;
  width: 10%;
  position: relative;
}
.table tbody td.actions a:before, .table tbody td.status a:before {
  padding: 0.2em;
}
.table tbody td.actions a:first-child:before, .table tbody td.status a:first-child:before {
  padding: 0;
}
.table tbody td.actions i[class|=icon]:before, .table tbody td.status i[class|=icon]:before {
  padding: 0.2em;
}
.table tbody td.status + td.actions {
  width: auto;
}
.table tbody td.numeric, .table tbody th.numeric {
  text-align: right;
}
.table tbody th small {
  font-weight: normal;
}

.insurances.index table th:nth-child(1) {
  width: 10%;
}
.insurances.index table th:nth-child(2) {
  width: auto;
}
.insurances.index table th:nth-child(3) {
  width: 20%;
}
.insurances.index table th:nth-child(4) {
  width: 20%;
}
.practices.index table th:nth-child(1) {
  width: auto;
}
.practices.index table th:nth-child(2) {
  width: 12%;
}
.practices.index table th:nth-child(3) {
  width: 10%;
}
.practices.index table th:nth-child(4) {
  width: 10%;
}
.practices.index table th:nth-child(5) {
  width: 7%;
}
.practices.index table th:nth-child(6) {
  width: 10%;
}
.opss.index table th:nth-child(1), .icds.index table th:nth-child(1) {
  width: 10%;
}
.opss.index table th:nth-child(2), .icds.index table th:nth-child(2) {
  width: auto;
}

.tooltip-container {
  background: #4068AA;
  color: #fff;
  padding: 0.5em;
  margin-bottom: 0.2em;
  z-index: 10;
  font-weight: normal;
}
.tooltip-container :after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
}
.tooltip-container[x-placement=top] {
  text-align: center;
}
.tooltip-container[x-placement=top] :after {
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 5px solid #4068AA;
  bottom: -5px;
  left: 50%;
  margin-left: -6px;
}
.tooltip-container[x-placement=bottom] {
  text-align: center;
}
.tooltip-container[x-placement=bottom] :after {
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 5px solid #4068AA;
  top: -5px;
  left: 50%;
  margin-left: -6px;
}
.tooltip-container[x-placement=left] {
  margin-right: 10px;
  text-align: left;
}
.tooltip-container[x-placement=left] :after {
  border-left: 5px solid #4068AA;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  top: 50%;
  right: 0;
  margin-top: -6px;
  margin-right: -5px;
}
.tooltip-container[x-placement=right] {
  margin-left: 10px;
  text-align: right;
}
.tooltip-container[x-placement=right] :after {
  border-right: 5px solid #4068AA;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  top: 50%;
  left: 0;
  margin-top: -6px;
  margin-left: -5px;
}

.alert {
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
  border-left-width: 5px;
}
.content .card .alert {
  box-shadow: none;
  background-color: transparent;
  padding-top: 5px;
  padding-bottom: 5px;
  border-top: none;
  border-bottom: none;
  border-right: none;
}

.sidepanel {
  position: fixed;
  z-index: 1;
  top: 0;
  right: 0;
  height: 100vh;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-radius: 0;
  background: #fff;
  padding: 2em;
  border-left: 5px solid #4068AA;
  display: none;
}

.sidepanel.open {
  display: block;
  min-width: 50vw;
  z-index: 5;
}
.sidepanel.open + .backdrop {
  display: block;
  position: fixed;
  z-index: 0;
  background: rgba(0, 0, 0, 0.5);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.sidepanel.open [data-sidepanel-content] {
  display: inherit;
  visibility: visible;
}

[data-sidepanel-content] {
  display: none;
  visibility: hidden;
}

select[multiple], select.simple-box {
  display: none;
}

.multiselect {
  margin-right: -15px;
  margin-left: -15px;
}
.multiselect:before, .multiselect:after {
  display: table;
  content: " ";
}
.multiselect:after {
  clear: both;
}
.multiselect label {
  margin-top: 0.3em;
  font-weight: 400;
}
.multiselect .selectableList, .multiselect .selectionList {
  height: 10em;
  overflow-y: scroll;
  list-style: none;
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  -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);
  -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;
}
.multiselect .selectableList li, .multiselect .selectionList li {
  padding: 0.3em 0;
  border-bottom: 1px solid #ddd;
}
.multiselect .selectableList li:hover, .multiselect .selectionList li:hover {
  color: #4068AA;
  cursor: pointer;
}
.multiselect .selectableList li, .multiselect .selectionList li {
  cursor: pointer;
}
.has-error .multiselect .selectableList, .has-error .multiselect .selectionList {
  border-color: #a94442;
}
.multiselect input.form-control, .multiselect input.suggest-result {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-width: 0;
}
.multiselect input.form-control + .selectableList, .multiselect input.suggest-result + .selectableList, .multiselect input.form-control + .selectionList, .multiselect input.suggest-result + .selectionList {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

[class|=col-] .radio, [class|=col-] .checkbox {
  margin-top: 28px;
}

fieldset {
  margin-bottom: 28px;
}

.form-group.password {
  position: relative;
}
.form-group.password .btn, .form-group.password .error_dev .toggle-link, .error_dev .form-group.password .toggle-link {
  position: absolute;
  right: 0;
  top: 0;
  height: 34px;
  background: transparent;
}
.form-group.password .btn:before, .form-group.password .error_dev .toggle-link:before, .error_dev .form-group.password .toggle-link:before {
  font-family: "icons";
}
.form-group.password label ~ .btn, .form-group.password .error_dev label ~ .toggle-link, .error_dev .form-group.password label ~ .toggle-link {
  top: 25px;
}
.form-group.password input {
  padding-right: 2.5em;
}
.form-group.password input[type=password] + .btn:before, .form-group.password .error_dev input[type=password] + .toggle-link:before, .error_dev .form-group.password input[type=password] + .toggle-link:before {
  content: "\e00e";
}
.form-group.password input[type=text] + .btn:before, .form-group.password .error_dev input[type=text] + .toggle-link:before, .error_dev .form-group.password input[type=text] + .toggle-link:before {
  content: "\e00d";
}

.checkbox-btn-list .checkbox label {
  border: 1px solid #ccc;
  border-radius: 4px;
  min-width: 80px;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 23px;
  padding-right: 23px;
}
.checkbox-btn-list .checkbox input[type=checkbox] {
  display: none;
}
.checkbox-btn-list .checkbox input[type=checkbox]:checked + label {
  padding-right: 6px;
}
.checkbox-btn-list .checkbox input[type=checkbox]:checked + label:after {
  display: inline-block;
  width: 12px;
  content: "✔";
  margin-left: 5px;
}

.checkbox-btn-list.has-error .checkbox label {
  border-color: #a94442;
}

.radio-btn-group, .checkbox-btn-group {
  display: block;
}
.radio-btn-group:before, .radio-btn-group:after, .checkbox-btn-group:before, .checkbox-btn-group:after {
  display: table;
  content: " ";
}
.radio-btn-group:after, .checkbox-btn-group:after {
  clear: both;
}
.radio-btn-group label span.btn, .radio-btn-group label .error_dev span.toggle-link, .error_dev .radio-btn-group label span.toggle-link, .checkbox-btn-group label span.btn, .checkbox-btn-group label .error_dev span.toggle-link, .error_dev .checkbox-btn-group label span.toggle-link {
  opacity: 0.65;
  min-width: 80px;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 23px;
  padding-right: 23px;
}
.radio-btn-group label input[type=radio]:checked + span.btn, .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link, .error_dev .radio-btn-group label input[type=radio]:checked + span.toggle-link, .checkbox-btn-group label input[type=radio]:checked + span.btn, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.toggle-link {
  opacity: 1;
  padding-left: 17px;
  padding-right: 12px;
}
.radio-btn-group label input[type=radio]:checked + span.btn:after, .radio-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:after, .error_dev .radio-btn-group label input[type=radio]:checked + span.toggle-link:after, .checkbox-btn-group label input[type=radio]:checked + span.btn:after, .checkbox-btn-group label .error_dev input[type=radio]:checked + span.toggle-link:after, .error_dev .checkbox-btn-group label input[type=radio]:checked + span.toggle-link:after {
  display: inline-block;
  width: 12px;
  content: "✔";
  margin-left: 5px;
}
.radio-btn-group label:not(:first-child) span.btn, .radio-btn-group label:not(:first-child) .error_dev span.toggle-link, .error_dev .radio-btn-group label:not(:first-child) span.toggle-link, .checkbox-btn-group label:not(:first-child) span.btn, .checkbox-btn-group label:not(:first-child) .error_dev span.toggle-link, .error_dev .checkbox-btn-group label:not(:first-child) span.toggle-link {
  margin-left: -1px;
}
.radio-btn-group label:not(:first-child):not(:last-child) span.btn, .radio-btn-group label:not(:first-child):not(:last-child) .error_dev span.toggle-link, .error_dev .radio-btn-group label:not(:first-child):not(:last-child) span.toggle-link, .checkbox-btn-group label:not(:first-child):not(:last-child) span.btn, .checkbox-btn-group label:not(:first-child):not(:last-child) .error_dev span.toggle-link, .error_dev .checkbox-btn-group label:not(:first-child):not(:last-child) span.toggle-link {
  border-radius: 0;
}
.radio-btn-group label:first-child:not(:last-child) span.btn, .radio-btn-group label:first-child:not(:last-child) .error_dev span.toggle-link, .error_dev .radio-btn-group label:first-child:not(:last-child) span.toggle-link, .checkbox-btn-group label:first-child:not(:last-child) span.btn, .checkbox-btn-group label:first-child:not(:last-child) .error_dev span.toggle-link, .error_dev .checkbox-btn-group label:first-child:not(:last-child) span.toggle-link {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.radio-btn-group label:last-child:not(:first-child) span.btn, .radio-btn-group label:last-child:not(:first-child) .error_dev span.toggle-link, .error_dev .radio-btn-group label:last-child:not(:first-child) span.toggle-link, .checkbox-btn-group label:last-child:not(:first-child) span.btn, .checkbox-btn-group label:last-child:not(:first-child) .error_dev span.toggle-link, .error_dev .checkbox-btn-group label:last-child:not(:first-child) span.toggle-link {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.radio-btn-group input[type=radio], .radio-btn-group input[type=checkbox], .checkbox-btn-group input[type=radio], .checkbox-btn-group input[type=checkbox] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

/* suggest lists */
.form-control ~ .input-suggest, .suggest-result ~ .input-suggest {
  width: 100%;
  margin: 0;
  position: absolute;
  z-index: 1000;
  left: 0;
  top: 33px;
}
.form-control ~ .input-suggest ul, .suggest-result ~ .input-suggest ul {
  position: absolute;
  width: 100%;
  padding: 0;
  list-style: none;
  border: 1px solid #ccc;
  background: #fff;
  max-height: 200px;
  overflow-y: auto;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  border-radius: 5px;
}
.form-control ~ .input-suggest ul li, .suggest-result ~ .input-suggest ul li {
  cursor: pointer;
  border-bottom: 1px solid #ccc;
  padding: 5px;
}
.form-control ~ .input-suggest ul li.active, .suggest-result ~ .input-suggest ul li.active {
  color: #fff;
  background-color: #4068AA;
}
.form-control ~ .input-suggest ul li:last-child, .suggest-result ~ .input-suggest ul li:last-child {
  border-bottom: none;
}
.form-control + .input-group-addon + .input-suggest, .suggest-result + .input-group-addon + .input-suggest, .input-group-addon + .form-control + .input-suggest, .input-group-addon + .suggest-result + .input-suggest {
  display: table-row;
}
.form-control.input-table-date, .input-table-date.suggest-result {
  max-width: 100px;
  padding-top: 0;
  padding-bottom: 0;
}
.form-control, .suggest-result {
  /* für Eingabe-Elemente, die wie die Krankenkassensuchfelder
  nur zur Steuerung des Formulars dienen und nicht gespeichert werden */
}
.form-control.input-void, .input-void.suggest-result {
  background-color: #eee;
}

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

textarea[readonly].file-content {
  height: 400px;
}
textarea[readonly].file-content, textarea[readonly].file-content-small {
  font-family: "Courier New", monospace;
  font-size: 11px;
  width: 600px;
}
textarea[readonly].file-content-small {
  height: 100px;
}

.form-group.file {
  position: relative;
}
.form-group.file > input[type=file] {
  display: none;
}
.form-group.file input[type=text] {
  padding-right: 2.5em;
  background: #fff;
}
.form-group.file .btn, .form-group.file .error_dev .toggle-link, .error_dev .form-group.file .toggle-link {
  position: absolute;
  right: 0;
  top: 0;
  height: 34px;
  background: transparent;
}
.form-group.file .btn:before, .form-group.file .error_dev .toggle-link:before, .error_dev .form-group.file .toggle-link:before {
  font-family: "icons";
  content: "\e02e";
}
.form-group.file label ~ .btn, .form-group.file .error_dev label ~ .toggle-link, .error_dev .form-group.file label ~ .toggle-link {
  top: 25px;
}

ul.sortable li:first-child .move-up, ol.sortable li:first-child .move-up {
  visibility: hidden;
}
ul.sortable li:last-child .move-down, ol.sortable li:last-child .move-down {
  visibility: hidden;
}
ul li .list-number, ol li .list-number {
  margin-right: 10px;
}
ul li .list-number:after, ol li .list-number:after {
  content: ")";
}

.list-group .panel {
  margin-top: 22px;
  margin-bottom: 0;
}
.list-group .list-group {
  margin-bottom: 0;
}

.list-group-item-text > .list-group > .list-group-item {
  border: 0;
}

.list-group-item p:last-child {
  margin-bottom: 0;
}

.panel dl {
  margin-bottom: 0;
}
.panel dd {
  margin-bottom: 10px;
}
.panel dd .list-group {
  margin-bottom: 0;
}

.filter-tags {
  margin-bottom: 0.5em;
}
.filter-tags .label {
  margin-left: 0.5em;
  font-size: 12px;
}
.filter-tags .label:first-child {
  margin-left: 0;
}
.filter-tags .label-default a {
  color: #fff;
  font-size: 11px;
}
.filter-tags a {
  margin-left: 0.2em;
}

.panel {
  border: none;
  box-shadow: none;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.panel .panel-heading {
  background-color: transparent;
  padding-left: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.panel .panel-body {
  border-left: 5px solid #ddd;
  padding-top: 8px;
  padding-bottom: 0;
}

.panel-body {
  border-left-color: #4068AA;
}
.panel-primary .panel-body {
  border-left-color: #4068AA;
}
.panel-success .panel-body {
  border-left-color: rgb(213.7777777778, 232.9166666667, 197.5833333333);
}
.panel-info .panel-body {
  border-left-color: rgb(187.5086956522, 231.9108695652, 240.7913043478);
}
.panel-warning .panel-body {
  border-left-color: rgb(249.5322580645, 234.6478494624, 203.9677419355);
}
.panel-danger .panel-body {
  border-left-color: rgb(234.7934782609, 203.7065217391, 208.8876811594);
}

.panel-footer {
  border-left: 5px solid #ddd;
  border-top: 0;
  padding-top: 0;
}
.panel-footer .actions a {
  margin-left: 1em;
}
.panel-footer .actions a:first-child {
  margin-left: 0;
}

.pagination-sm {
  margin: 10px 0;
}

.cardReaderElements .form-control, .cardReaderElements .suggest-result {
  max-width: 160px;
}

.has-error .radio-btn-group label .btn, .has-error .radio-btn-group label .error_dev .toggle-link, .error_dev .has-error .radio-btn-group label .toggle-link {
  border-color: #a94442;
}

.content.view dl dt, .content.details dl dt, .content.sketch dl dt, .content.medicalcases[class*=add] dl dt, .content.medicalcases[class*=insert] dl dt, .content.medicalcases[class*=edit] dl dt, .content.medicalcases[class*=update] dl dt, .content.reports[class*=edit] dl dt, .content.reports[class*=update] dl dt, .content.treatments dl dt {
  margin-top: 1em;
  padding-bottom: 0.1em;
}
.content.view dl dt:first-child, .content.details dl dt:first-child, .content.sketch dl dt:first-child, .content.medicalcases[class*=add] dl dt:first-child, .content.medicalcases[class*=insert] dl dt:first-child, .content.medicalcases[class*=edit] dl dt:first-child, .content.medicalcases[class*=update] dl dt:first-child, .content.reports[class*=edit] dl dt:first-child, .content.reports[class*=update] dl dt:first-child, .content.treatments dl dt:first-child {
  margin-top: 0;
}
.content.view .card-block + .card-block, .content.details .card-block + .card-block, .content.sketch .card-block + .card-block, .content.medicalcases[class*=add] .card-block + .card-block, .content.medicalcases[class*=insert] .card-block + .card-block, .content.medicalcases[class*=edit] .card-block + .card-block, .content.medicalcases[class*=update] .card-block + .card-block, .content.reports[class*=edit] .card-block + .card-block, .content.reports[class*=update] .card-block + .card-block, .content.treatments .card-block + .card-block {
  border-top: 2px solid rgb(238.425, 238.425, 238.425);
  padding-top: 2em;
}
.content.view .card-block + .card-block h1:first-child, .content.view .card-block + .card-block .h1:first-child, .content.view .card-block + .card-block h2:first-child, .content.view .card-block + .card-block .h2:first-child, .content.view .card-block + .card-block h3:first-child, .content.view .card-block + .card-block .h3:first-child, .content.details .card-block + .card-block h1:first-child, .content.details .card-block + .card-block .h1:first-child, .content.details .card-block + .card-block h2:first-child, .content.details .card-block + .card-block .h2:first-child, .content.details .card-block + .card-block h3:first-child, .content.details .card-block + .card-block .h3:first-child, .content.sketch .card-block + .card-block h1:first-child, .content.sketch .card-block + .card-block .h1:first-child, .content.sketch .card-block + .card-block h2:first-child, .content.sketch .card-block + .card-block .h2:first-child, .content.sketch .card-block + .card-block h3:first-child, .content.sketch .card-block + .card-block .h3:first-child, .content.medicalcases[class*=add] .card-block + .card-block h1:first-child, .content.medicalcases[class*=add] .card-block + .card-block .h1:first-child, .content.medicalcases[class*=add] .card-block + .card-block h2:first-child, .content.medicalcases[class*=add] .card-block + .card-block .h2:first-child, .content.medicalcases[class*=add] .card-block + .card-block h3:first-child, .content.medicalcases[class*=add] .card-block + .card-block .h3:first-child, .content.medicalcases[class*=insert] .card-block + .card-block h1:first-child, .content.medicalcases[class*=insert] .card-block + .card-block .h1:first-child, .content.medicalcases[class*=insert] .card-block + .card-block h2:first-child, .content.medicalcases[class*=insert] .card-block + .card-block .h2:first-child, .content.medicalcases[class*=insert] .card-block + .card-block h3:first-child, .content.medicalcases[class*=insert] .card-block + .card-block .h3:first-child, .content.medicalcases[class*=edit] .card-block + .card-block h1:first-child, .content.medicalcases[class*=edit] .card-block + .card-block .h1:first-child, .content.medicalcases[class*=edit] .card-block + .card-block h2:first-child, .content.medicalcases[class*=edit] .card-block + .card-block .h2:first-child, .content.medicalcases[class*=edit] .card-block + .card-block h3:first-child, .content.medicalcases[class*=edit] .card-block + .card-block .h3:first-child, .content.medicalcases[class*=update] .card-block + .card-block h1:first-child, .content.medicalcases[class*=update] .card-block + .card-block .h1:first-child, .content.medicalcases[class*=update] .card-block + .card-block h2:first-child, .content.medicalcases[class*=update] .card-block + .card-block .h2:first-child, .content.medicalcases[class*=update] .card-block + .card-block h3:first-child, .content.medicalcases[class*=update] .card-block + .card-block .h3:first-child, .content.reports[class*=edit] .card-block + .card-block h1:first-child, .content.reports[class*=edit] .card-block + .card-block .h1:first-child, .content.reports[class*=edit] .card-block + .card-block h2:first-child, .content.reports[class*=edit] .card-block + .card-block .h2:first-child, .content.reports[class*=edit] .card-block + .card-block h3:first-child, .content.reports[class*=edit] .card-block + .card-block .h3:first-child, .content.reports[class*=update] .card-block + .card-block h1:first-child, .content.reports[class*=update] .card-block + .card-block .h1:first-child, .content.reports[class*=update] .card-block + .card-block h2:first-child, .content.reports[class*=update] .card-block + .card-block .h2:first-child, .content.reports[class*=update] .card-block + .card-block h3:first-child, .content.reports[class*=update] .card-block + .card-block .h3:first-child, .content.treatments .card-block + .card-block h1:first-child, .content.treatments .card-block + .card-block .h1:first-child, .content.treatments .card-block + .card-block h2:first-child, .content.treatments .card-block + .card-block .h2:first-child, .content.treatments .card-block + .card-block h3:first-child, .content.treatments .card-block + .card-block .h3:first-child {
  margin-top: 0;
}

/* reports */
.content.reports.edit fieldset legend, .content.reports.view fieldset legend {
  border-bottom: none;
}
.content.reports.edit fieldset .form-group, .content.reports.view fieldset .form-group {
  padding-left: 20px;
}

.page-navigation {
  flex: 0 0 300px;
  margin-right: 2em;
  padding: 2em;
  background: #fff;
  border-left: 5px solid #4068AA;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
}
.page-navigation header {
  margin: 0 0 2em;
}
.page-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.page-navigation a {
  color: #333333;
  display: block;
}
.page-navigation a:focus, .page-navigation a:hover {
  text-decoration: none;
  color: #4068AA;
}
.page-navigation .navigation-icon {
  margin-bottom: 1em;
}
.page-navigation .navigation-icon ul {
  display: flex;
  margin: 0 -2em;
}
.page-navigation .navigation-icon li {
  flex: 1 1 auto;
  text-align: center;
}
.page-navigation .navigation-icon a {
  display: inline-block;
  color: #4068AA;
}
.page-navigation .navigation-icon a:before {
  display: block;
  width: 1.5em;
  height: 1.5em;
  font-family: "icons";
}
.page-navigation .navigation-icon .message:before {
  content: "\e005";
}
.page-navigation .navigation-icon .user:before {
  content: "\e02f";
}
.page-navigation .navigation-icon .help:before {
  content: "\e021";
}
.page-navigation .navigation-icon .signout:before {
  content: "\e025";
}
.page-navigation .navigation-main ul {
  margin: 0 -2em 0 -28px;
}
.page-navigation .navigation-main ul li {
  padding: 0 2em 0 28px;
}
.page-navigation .navigation-main ul li:not(.active) {
  padding: 0 2em 0 28px;
}
.page-navigation .navigation-main a {
  padding: 0.5em 0;
}
.page-navigation .navigation-main .has-submenu {
  position: relative;
}
.page-navigation .navigation-main .has-submenu > a {
  font-weight: 700;
  color: #4068AA;
}
.page-navigation .navigation-main .has-submenu > a:after {
  font-family: "icons";
  content: "\e002";
  display: block;
  position: absolute;
  right: 2em;
  top: 0.5em;
  height: 1em;
  cursor: pointer;
  color: #333333;
}
.page-navigation .navigation-main .has-submenu > ul {
  display: none;
}
.page-navigation .navigation-main .has-submenu.open > ul {
  display: inherit;
}
.page-navigation .navigation-main .has-submenu.open > ul > .active {
  background: #4068AA;
}
.page-navigation .navigation-main .has-submenu.open > ul > .active a {
  color: #fff;
}
.page-navigation .navigation-main .has-submenu.open > a:after {
  content: "\e001";
}

.page {
  padding: 2em;
  display: flex;
}
.page > .content {
  flex-basis: 100%;
}

body.is-busy {
  cursor: wait;
}
body.is-busy * {
  cursor: wait;
  pointer-events: none;
}
body.modal-open {
  overflow: hidden;
}
body.dev-host {
  background-image: linear-gradient(-45deg, rgb(170, 64, 78), rgb(96, 36, 58));
}
body.staging-host {
  background-image: linear-gradient(-45deg, rgb(70, 170, 64), rgb(38, 102, 41));
}

.not-allowed {
  cursor: not-allowed;
}

div .disabled, div .radio-btn-group label input[type=radio]:disabled + span.btn, div .radio-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev div .radio-btn-group label input[type=radio]:disabled + span.toggle-link, .radio-btn-group label div input[type=radio]:disabled + span.btn, .radio-btn-group label div .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .radio-btn-group label div input[type=radio]:disabled + span.toggle-link, div .checkbox-btn-group label input[type=radio]:disabled + span.btn, div .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev div .checkbox-btn-group label input[type=radio]:disabled + span.toggle-link, .checkbox-btn-group label div input[type=radio]:disabled + span.btn, .checkbox-btn-group label div .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .checkbox-btn-group label div input[type=radio]:disabled + span.toggle-link, span .disabled, span .radio-btn-group label input[type=radio]:disabled + span.btn, span .radio-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev span .radio-btn-group label input[type=radio]:disabled + span.toggle-link, .radio-btn-group label span input[type=radio]:disabled + span.btn, .radio-btn-group label span .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .radio-btn-group label span input[type=radio]:disabled + span.toggle-link, span .checkbox-btn-group label input[type=radio]:disabled + span.btn, span .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev span .checkbox-btn-group label input[type=radio]:disabled + span.toggle-link, .checkbox-btn-group label span input[type=radio]:disabled + span.btn, .checkbox-btn-group label span .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .checkbox-btn-group label span input[type=radio]:disabled + span.toggle-link, dd .disabled, dd .radio-btn-group label input[type=radio]:disabled + span.btn, dd .radio-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev dd .radio-btn-group label input[type=radio]:disabled + span.toggle-link, .radio-btn-group label dd input[type=radio]:disabled + span.btn, .radio-btn-group label dd .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .radio-btn-group label dd input[type=radio]:disabled + span.toggle-link, dd .checkbox-btn-group label input[type=radio]:disabled + span.btn, dd .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev dd .checkbox-btn-group label input[type=radio]:disabled + span.toggle-link, .checkbox-btn-group label dd input[type=radio]:disabled + span.btn, .checkbox-btn-group label dd .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .checkbox-btn-group label dd input[type=radio]:disabled + span.toggle-link, dt .disabled, dt .radio-btn-group label input[type=radio]:disabled + span.btn, dt .radio-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev dt .radio-btn-group label input[type=radio]:disabled + span.toggle-link, .radio-btn-group label dt input[type=radio]:disabled + span.btn, .radio-btn-group label dt .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .radio-btn-group label dt input[type=radio]:disabled + span.toggle-link, dt .checkbox-btn-group label input[type=radio]:disabled + span.btn, dt .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev dt .checkbox-btn-group label input[type=radio]:disabled + span.toggle-link, .checkbox-btn-group label dt input[type=radio]:disabled + span.btn, .checkbox-btn-group label dt .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .checkbox-btn-group label dt input[type=radio]:disabled + span.toggle-link, li .disabled, li .radio-btn-group label input[type=radio]:disabled + span.btn, li .radio-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev li .radio-btn-group label input[type=radio]:disabled + span.toggle-link, .radio-btn-group label li input[type=radio]:disabled + span.btn, .radio-btn-group label li .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .radio-btn-group label li input[type=radio]:disabled + span.toggle-link, li .checkbox-btn-group label input[type=radio]:disabled + span.btn, li .checkbox-btn-group label .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev li .checkbox-btn-group label input[type=radio]:disabled + span.toggle-link, .checkbox-btn-group label li input[type=radio]:disabled + span.btn, .checkbox-btn-group label li .error_dev input[type=radio]:disabled + span.toggle-link, .error_dev .checkbox-btn-group label li input[type=radio]:disabled + span.toggle-link {
  opacity: 0.4;
}

.login {
  width: 800px;
  height: 432px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -216px 0 0 -400px;
  padding: 1rem;
}
.login > form {
  margin-top: 1rem;
}
.login.modal {
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  margin: 0;
  background: rgba(64, 104, 170, 0.8);
}

.page.error {
  width: 800px;
  height: 400px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -200px 0 0 -400px;
  padding: 1rem;
}
.page.error_dev {
  width: 95%;
  height: auto;
  position: static;
  margin: 0 auto;
}
.page.error .card-block h1, .page.error .card-block h2, .page.error .card-block h3, .page.error .card-block h4, .page.error .card-block .content.reports.edit fieldset legend, .content.reports.edit fieldset .page.error .card-block legend, .page.error .card-block .content.reports.view fieldset legend, .content.reports.view fieldset .page.error .card-block legend, .page.error .card-block h5 {
  color: #333333;
}

.error_dev .toggle-link {
  margin-bottom: 1em;
}
.error_dev .excerpt-number:after {
  content: attr(data-number);
}
.error_dev .code-excerpt {
  display: block;
  margin: 5px 0;
  background: #fff;
}
.error_dev .code-highlight {
  display: block;
  background: #5bc0de;
}
.error_dev .excerpt-line {
  padding-left: 2px;
}
.error_dev .excerpt-number {
  width: 50px;
  text-align: right;
  color: rgb(119.085, 119.085, 119.085);
  border-right: 1px solid rgb(119.085, 119.085, 119.085);
  padding: 2px;
}
.error_dev .excerpt-number:after {
  content: attr(data-number);
}

.cake-error {
  background-color: rgba(255, 255, 255, 0.7);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  height: auto;
}

body {
  min-height: 100%;
  background: linear-gradient(-45deg, #4068AA, rgb(36.1025641026, 58.6666666667, 95.8974358974));
  background-size: cover;
  overflow-y: scroll;
}

@page {
  size: auto;
  margin: 10mm;
}
@media print {
  body {
    background: white;
  }
  .page {
    padding: 0;
  }
  .card {
    border-left: none;
    box-shadow: none;
    padding: 0;
  }
  .card-header .actions {
    display: none;
  }
  .table td.actions, .table th.actions {
    display: none;
  }
  .alert {
    box-shadow: none;
  }
  .alert button {
    display: none;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL191dGlsaXRpZXMuc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fY2VudGVyLWJsb2NrLnNjc3MiLCJob21lLy5zaXRlcy9zaXRlMS93d3dyb290L3dlYi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2hpZGUtdGV4dC5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX25vcm1hbGl6ZS5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3NjYWZmb2xkaW5nLnNjc3MiLCJob21lLy5zaXRlcy9zaXRlMS93d3dyb290L3dlYi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3ZlbmRvci1wcmVmaXhlcy5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzIiwic3R5bGVzLnNjc3MiLCJob21lLy5zaXRlcy9zaXRlMS93d3dyb290L3dlYi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19pbWFnZS5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3R5cGUuc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2dyaWQuc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3RhYmxlcy5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19mb3Jtcy5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19mb3Jtcy5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2lucHV0LWdyb3Vwcy5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJob21lLy5zaXRlcy9zaXRlMS93d3dyb290L3dlYi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fYnV0dG9ucy5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19idXR0b25zLnNjc3MiLCJob21lLy5zaXRlcy9zaXRlMS93d3dyb290L3dlYi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wYWdpbmF0aW9uLnNjc3MiLCJob21lLy5zaXRlcy9zaXRlMS93d3dyb290L3dlYi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19hbGVydHMuc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fYWxlcnRzLnNjc3MiLCJob21lLy5zaXRlcy9zaXRlMS93d3dyb290L3dlYi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fY2xvc2Uuc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19saXN0LWdyb3VwLnNjc3MiLCJob21lLy5zaXRlcy9zaXRlMS93d3dyb290L3dlYi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19sYWJlbHMuc2NzcyIsImhvbWUvLnNpdGVzL3NpdGUxL3d3d3Jvb3Qvd2ViL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbGFiZWxzLnNjc3MiLCJob21lLy5zaXRlcy9zaXRlMS93d3dyb290L3dlYi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcGFuZWxzLnNjc3MiLCJob21lLy5zaXRlcy9zaXRlMS93d3dyb290L3dlYi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwiaG9tZS8uc2l0ZXMvc2l0ZTEvd3d3cm9vdC93ZWIvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3Jlc3BvbnNpdmUtdXRpbGl0aWVzLnNjc3MiLCJob21lLy5zaXRlcy9zaXRlMS93d3dyb290L3dlYi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc3BvbnNpdmUtdmlzaWJpbGl0eS5zY3NzIiwibW9kdWxlcy9fZGVidWcuc2NzcyIsIm1vZHVsZXMvX3R5cG8uc2NzcyIsIm1vZHVsZXMvX2hyLnNjc3MiLCJtb2R1bGVzL19pY29ucy5zY3NzIiwibW9kdWxlcy9fY2lyY2xlZC1pY29ucy5zY3NzIiwibW9kdWxlcy9fY2FyZC5zY3NzIiwibW9kdWxlcy9fdGFibGVzLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJtb2R1bGVzL190b29sdGlwcy5zY3NzIiwibW9kdWxlcy9fYWxlcnQuc2NzcyIsIm1vZHVsZXMvX3NpZGVwYW5lbC5zY3NzIiwibW9kdWxlcy9fbXVsdGlzZWxlY3Quc2NzcyIsIm1vZHVsZXMvX2Zvcm1zLnNjc3MiLCJtb2R1bGVzL19saXN0cy5zY3NzIiwibW9kdWxlcy9fZmlsdGVydGFncy5zY3NzIiwibW9kdWxlcy9fcGFuZWxzLnNjc3MiLCJtb2R1bGVzL19wYWdpbmF0aW9uLnNjc3MiLCJtb2R1bGVzL19jYXJkLXJlYWRlci5zY3NzIiwibW9kdWxlcy9fYnV0dG9ucy5zY3NzIiwiY29udGVudC9fY29udGVudC5zY3NzIiwibGF5b3V0L19uYXZpZ2F0aW9uLnNjc3MiLCJsYXlvdXQvX2xheW91dC5zY3NzIiwicGFnZXMvX2xvZ2luLnNjc3MiLCJwYWdlcy9fZXJyb3Iuc2NzcyIsIl9wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFhRTtFQUVFO0VBQ0E7O0FBRUY7RUFDRTs7O0FDUko7RUNSRTtFQUNBO0VBQ0E7OztBRFNGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQVFGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VFekJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRjhCRjtFQUNFOzs7QUFPRjtFQUNFOzs7QUdyREY7QUFRQTtFQUNFO0VBQ0E7RUFDQTs7O0FBT0Y7RUFDRTs7O0FBYUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFhRTs7O0FBUUY7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFRRjtFQUNFO0VBQ0E7OztBQVFGO0FBQUE7RUFFRTs7O0FBVUY7RUFDRTs7O0FBUUY7QUFBQTtFQUVFOzs7QUFXRjtFQUNFO0VBQ0E7RUFDQTs7O0FBT0Y7QUFBQTtFQUVFOzs7QUFPRjtFQUNFOzs7QUFRRjtFQUNFO0VBQ0E7OztBQU9GO0VBQ0U7RUFDQTs7O0FBT0Y7RUFDRTs7O0FBT0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOzs7QUFH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Q0U7OztBQURGO0VBQ0U7OztBQW1CRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUZZTjtFRTlDRTtJQUNFOztFQU9BO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQW1CRjtJQUNFOztFQU5GO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQU5GO0lBQ0U7O0VBTkY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBbUJGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7OztBRnFCTjtFRXZERTtJQUNFOztFQU9BO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQW1CRjtJQUNFOztFQU5GO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQU5GO0lBQ0U7O0VBTkY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBbUJGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7OztBRjhCTjtFRWhFRTtJQUNFOztFQU9BO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQW1CRjtJQUNFOztFQU5GO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQU5GO0lBQ0U7O0VBTkY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBbUJGO0lBQ0U7O0VBREY7SUFDRTs7RUFE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QnNCO0Vjb0J0QixhZGtDd0I7RWNqQ3hCLGVkcUN3Qjs7O0FjbEMxQjtBQUFBO0FBQUE7QUFBQTtFQUNFLFFkMkk2QjtFYzFJN0IsYWQwSTZCOzs7QWN2SS9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFOzs7QUQ4T0Y7RUFDRSxRYjFHNkI7RWEyRzdCO0VBQ0EsV2JoUnNCO0VhaVJ0QixhYjNOd0I7RWE0TnhCLGVieE53Qjs7QWEwTjFCO0VBQ0UsUWJqSDZCO0Vha0g3QixhYmxINkI7O0Fhb0gvQjtBQUFBO0FBQUE7RUFFRTs7QUFFRjtFQUNFLFFiekg2QjtFYTBIN0I7RUFDQTtFQUNBLFdiaFNzQjtFYWlTdEIsYWIzT3dCOzs7QWN0QzFCO0FBQUE7QUFBQTtBQUFBO0VBQ0UsUWRpSjZCO0VjaEo3QjtFQUNBLFdkcEJzQjtFY3FCdEIsYWRpQ3dCO0VjaEN4QixlZG9Dd0I7OztBY2pDMUI7QUFBQTtBQUFBO0FBQUE7RUFDRSxRZHlJNkI7RWN4STdCLGFkd0k2Qjs7O0FjckkvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFOzs7QUR3UUY7RUFDRSxRYnRJNkI7RWF1STdCO0VBQ0EsV2IzU3NCO0VhNFN0QixhYnRQd0I7RWF1UHhCLGViblB3Qjs7QWFxUDFCO0VBQ0UsUWI3STZCO0VhOEk3QixhYjlJNkI7O0FhZ0ovQjtBQUFBO0FBQUE7RUFFRTs7QUFFRjtFQUNFLFFicko2QjtFYXNKN0I7RUFDQTtFQUNBLFdiM1RzQjtFYTRUdEIsYWJ0UXdCOzs7QWErUTVCO0VBRUU7O0FBR0E7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT2JwTCtCO0VhcUwvQixRYnJMK0I7RWFzTC9CLGFidEwrQjtFYXVML0I7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRSxPYjNMK0I7RWE0TC9CLFFiNUwrQjtFYTZML0IsYWI3TCtCOzs7QWErTGpDO0FB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Q0E7RUFDQSxhakIySStCO0VpQjFJL0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUNzQ0E7RUFDQSxXakJuRGU7RWlCb0RmLGFsQk13QjtFa0JMeEIsZWxCbUQwQjtFRDJHMUIscUJrQnJNcUI7RWxCc01sQixrQmtCdE1rQjtFbEJ1TWpCLGlCa0J2TWlCO0VsQndNYixha0J4TWE7O0FBS25CO0VmbkJGO0VBQ0E7O0Fld0JBO0VBR0UsT2pCc0g2QjtFaUJySDdCOztBQUdGO0VBRUU7RUFDQTtFbEIyQkYsb0JrQjFCRTtFbEIyQk0sWWtCM0JOOztBQUdGO0VBR0UsUWpCd0w2QjtFbUJwTy9CO0VBQ0EsU0Y0Q21CO0VsQm1CbkIsb0JrQmxCRTtFbEJtQk0sWWtCbkJOOzs7QUFPRjtFQUVFOzs7QUFRSjtFQzdERSxPbEJrSitCO0VrQmpKL0Isa0JsQmtKK0I7RWtCakovQixjbEJrSitCOztBa0JoSi9CO0VBRUUsT2xCNEk2QjtFa0IzSTdCO0VBQ0E7O0FBRUY7RUFDRSxPbEJ1STZCO0VrQnRJN0I7RUFDQTs7QUFFRjtFQUdFLE9sQmdJNkI7RWtCL0g3QjtFQUNBO0VBQ0E7O0FBRUE7RUFHRSxPbEJ3SDJCO0VrQnZIM0I7RUFDQTs7QUFNRjtFQUdFLGtCbEI4RzJCO0VrQjdHM0IsY2xCOEcyQjs7QWtCMUcvQjtFQUNFLE9sQndHNkI7RWtCdkc3QixrQmxCc0c2Qjs7O0FpQmxGakM7RUNoRUUsT2xCc0orQjtFa0JySi9CLGtCakJMYztFaUJNZCxjbEJzSitCOztBa0JwSi9CO0VBRUUsT2xCZ0o2QjtFa0IvSTdCO0VBQ0E7O0FBRUY7RUFDRSxPbEIySTZCO0VrQjFJN0I7RUFDQTs7QUFFRjtFQUdFLE9sQm9JNkI7RWtCbkk3QjtFQUNBO0VBQ0E7O0FBRUE7RUFHRSxPbEI0SDJCO0VrQjNIM0I7RUFDQTs7QUFNRjtFQUdFLGtCakJ6Q1U7RWlCMENWLGNsQmtIMkI7O0FrQjlHL0I7RUFDRSxPakIvQ1k7RWlCZ0RaLGtCbEIwRzZCOzs7QWlCbEZqQztFQ3BFRSxPbEIwSitCO0VrQnpKL0Isa0JsQllzQjtFa0JYdEIsY2xCMEorQjs7QWtCeEovQjtFQUVFLE9sQm9KNkI7RWtCbko3QjtFQUNBOztBQUVGO0VBQ0UsT2xCK0k2QjtFa0I5STdCO0VBQ0E7O0FBRUY7RUFHRSxPbEJ3STZCO0VrQnZJN0I7RUFDQTtFQUNBOztBQUVBO0VBR0UsT2xCZ0kyQjtFa0IvSDNCO0VBQ0E7O0FBTUY7RUFHRSxrQmxCeEJrQjtFa0J5QmxCLGNsQnNIMkI7O0FrQmxIL0I7RUFDRSxPbEI5Qm9CO0VrQitCcEIsa0JsQjhHNkI7OztBaUJsRmpDO0VDeEVFLE9sQjhKK0I7RWtCN0ovQixrQmxCYXNCO0VrQlp0QixjbEI4SitCOztBa0I1Si9CO0VBRUUsT2xCd0o2QjtFa0J2SjdCO0VBQ0E7O0FBRUY7RUFDRSxPbEJtSjZCO0VrQmxKN0I7RUFDQTs7QUFFRjtFQUdFLE9sQjRJNkI7RWtCM0k3QjtFQUNBO0VBQ0E7O0FBRUE7RUFHRSxPbEJvSTJCO0VrQm5JM0I7RUFDQTs7QUFNRjtFQUdFLGtCbEJ2QmtCO0VrQndCbEIsY2xCMEgyQjs7QWtCdEgvQjtFQUNFLE9sQjdCb0I7RWtCOEJwQixrQmxCa0g2Qjs7O0FpQmxGakM7RUM1RUUsT2xCa0srQjtFa0JqSy9CLGtCbEJjc0I7RWtCYnRCLGNsQmtLK0I7O0FrQmhLL0I7RUFFRSxPbEI0SjZCO0VrQjNKN0I7RUFDQTs7QUFFRjtFQUNFLE9sQnVKNkI7RWtCdEo3QjtFQUNBOztBQUVGO0VBR0UsT2xCZ0o2QjtFa0IvSTdCO0VBQ0E7RUFDQTs7QUFFQTtFQUdFLE9sQndJMkI7RWtCdkkzQjtFQUNBOztBQU1GO0VBR0Usa0JsQnRCa0I7RWtCdUJsQixjbEI4SDJCOztBa0IxSC9CO0VBQ0UsT2xCNUJvQjtFa0I2QnBCLGtCbEJzSDZCOzs7QWlCbEZqQztFQ2hGRSxPbEJzSytCO0VrQnJLL0Isa0JsQmVzQjtFa0JkdEIsY2xCc0srQjs7QWtCcEsvQjtFQUVFLE9sQmdLNkI7RWtCL0o3QjtFQUNBOztBQUVGO0VBQ0UsT2xCMko2QjtFa0IxSjdCO0VBQ0E7O0FBRUY7RUFHRSxPbEJvSjZCO0VrQm5KN0I7RUFDQTtFQUNBOztBQUVBO0VBR0UsT2xCNEkyQjtFa0IzSTNCO0VBQ0E7O0FBTUY7RUFHRSxrQmxCckJrQjtFa0JzQmxCLGNsQmtJMkI7O0FrQjlIL0I7RUFDRSxPbEIzQm9CO0VrQjRCcEIsa0JsQjBINkI7OztBaUI3RWpDO0VBQ0U7RUFDQSxPaEIvRmM7RWdCZ0dkOztBQUVBO0VBS0U7RWxCckNGLG9Ca0JzQ0U7RWxCckNNLFlrQnFDTjs7QUFFRjtFQUlFOztBQUVGO0VBRUUsT2pCL0VvQjtFaUJnRnBCLGlCakI5RW9CO0VpQitFcEI7O0FBSUE7RUFFRSxPakI3R21CO0VpQjhHbkI7OztBQVNOO0VDOUVFO0VBQ0EsV2xCSndCO0VrQkt4QixhbEJpRDBCO0VrQmhEMUIsZWxCb0QwQjs7O0FpQjJCNUI7RUNsRkU7RUFDQSxXbEJId0I7RWtCSXhCLGFsQmtEMEI7RWtCakQxQixlbEJxRDBCOzs7QWlCOEI1QjtFQ3RGRTtFQUNBLFdsQkh3QjtFa0JJeEIsYWxCa0QwQjtFa0JqRDFCLGVsQnFEMEI7OztBaUJzQzVCO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTs7O0FBT0E7QUFBQTtBQUFBO0VBQ0U7OztBR2xLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBLGVwQnVHMEI7O0FvQnJHMUI7RUFDRTs7QUFDQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhcEIrQ29CO0VvQjlDcEIsT25CaEJVO0VtQmlCVjtFQUNBLGtCcEJvYmlDO0VvQm5iakM7O0FBRUE7QUFBQTtBQUFBO0VBRUU7RUFDQSxPcEJXZ0I7RW9CVmhCLGtCcEJYaUI7RW9CWWpCLGNwQmliK0I7O0FvQjdhakM7QUFBQTtFQUVFO0VKbkJOLHdCaEIrRjBCO0VnQjlGMUIsMkJoQjhGMEI7O0FvQnZFdEI7QUFBQTtFSmhDSix5QmhCdUcwQjtFZ0J0RzFCLDRCaEJzRzBCOztBb0I5RHhCO0FBQUE7QUFBQTtBQUFBO0VBR0U7RUFDQSxPcEIyWmlDO0VvQjFaakM7RUFDQSxrQm5CcERVO0VtQnFEVixjbkJyRFU7O0FtQjBEWjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRSxPcEJuRG1CO0VvQm9EbkIsUXBCcUsyQjtFb0JwSzNCLGtCcEJnWmlDO0VvQi9ZakMsY3BCZ1ppQzs7O0FxQmpkbkM7QUFBQTtFQUVFO0VBQ0EsV3JCOENvQjtFcUI3Q3BCLGFyQm1Hc0I7O0FxQmhHdEI7QUFBQTtFTElKLHdCaEJnRzBCO0VnQi9GMUIsMkJoQitGMEI7O0FxQjlGdEI7QUFBQTtFTFZKLHlCaEJ3RzBCO0VnQnZHMUIsNEJoQnVHMEI7OztBcUIzR3hCO0FBQUE7RUFFRTtFQUNBLFdyQitDb0I7RXFCOUNwQixhckJvR3NCOztBcUJqR3RCO0FBQUE7RUxJSix3QmhCaUcwQjtFZ0JoRzFCLDJCaEJnRzBCOztBcUIvRnRCO0FBQUE7RUxWSix5QmhCeUcwQjtFZ0J4RzFCLDRCaEJ3RzBCOzs7QXNCeEc1QjtFQUNFLFN0QjJtQjRCO0VzQjFtQjVCLGV0QndEd0I7RXNCdkR4QjtFQUNBLGVyQkpvQjs7QXFCT3BCO0VBQ0U7RUFDQTs7QUFJRjtFQUNFLGF0QmdtQjBCOztBc0I1bEI1QjtBQUFBO0VBRUU7O0FBR0Y7RUFDRTs7O0FBU0o7QUFBQTtFQUVFOztBQUdBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUo7RUN2REUsT3ZCcWYrQjtFdUJwZi9CLGtCdkJxZitCO0V1QnBmL0IsY3ZCcWYrQjs7QXVCbmYvQjtFQUNFOztBQUdGO0VBQ0U7OztBRGtESjtFQzNERSxPdkJ5ZitCO0V1QnhmL0Isa0J2QnlmK0I7RXVCeGYvQixjdkJ5ZitCOztBdUJ2Zi9CO0VBQ0U7O0FBR0Y7RUFDRTs7O0FEc0RKO0VDL0RFLE92QjZmK0I7RXVCNWYvQixrQnZCNmYrQjtFdUI1Zi9CLGN2QjZmK0I7O0F1QjNmL0I7RUFDRTs7QUFHRjtFQUNFOzs7QUQwREo7RUNuRUUsT3ZCaWdCK0I7RXVCaGdCL0Isa0J2QmlnQitCO0V1QmhnQi9CLGN2QmlnQitCOztBdUIvZi9CO0VBQ0U7O0FBR0Y7RUFDRTs7O0FDUEo7RUFDRTtFQUNBO0VBQ0EsYXhCb3pCNEI7RXdCbnpCNUI7RUFDQSxPeEJtekI0QjtFd0JsekI1QixheEJtekI0QjtFbUIxekI1QjtFQUNBLFNLT2lCOztBQUVqQjtFQUVFLE94QjZ5QjBCO0V3QjV5QjFCO0VBQ0E7RUxkRjtFQUNBLFNLY21COzs7QUFVckI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzFCRjtFQUVFO0VBQ0E7OztBQVFGO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQSxrQnpCMm9COEI7RXlCMW9COUI7O0FBR0E7RVQzQkEsd0JoQjJHMEI7RWdCMUcxQix5QmhCMEcwQjs7QXlCN0UxQjtFQUNFO0VUdkJGLDRCaEJtRzBCO0VnQmxHMUIsMkJoQmtHMEI7O0F5QnZFMUI7RUFHRSxPekIzQnFCO0V5QjRCckIsUXpCNkw2QjtFeUI1TDdCLGtCekI1QnFCOztBeUIrQnJCO0VBQ0U7O0FBRUY7RUFDRSxPekJwQ21COztBeUJ5Q3ZCO0VBR0U7RUFDQSxPekJ1RHdCO0V5QnREeEIsa0J4QjNEWTtFd0I0RFosY3hCNURZOztBd0IrRFo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRTs7QUFFRjtFQUNFLE96QjZtQjBCOzs7QXlCbG1CaEM7QUFBQTtFQUVFLE96QnltQjhCOztBeUJ2bUI5QjtBQUFBO0VBQ0UsT3pCd21CNEI7O0F5QnBtQjlCO0FBQUE7QUFBQTtFQUVFLE96QmdtQjRCO0V5Qi9sQjVCO0VBQ0Esa0J6QjZrQjRCOzs7QXlCemtCaEM7RUFDRTtFQUNBOzs7QUNsR0E7RUFDRSxPMUJvZjZCO0UwQm5mN0Isa0IxQm9mNkI7OztBMEIvZS9CO0FBQUE7RUFFRSxPMUI0ZTZCOztBMEIxZTdCO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7RUFFRSxPMUJvZTJCO0UwQm5lM0I7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFHRTtFQUNBLGtCMUI2ZDJCO0UwQjVkM0IsYzFCNGQyQjs7O0EwQnJmL0I7RUFDRSxPMUJ3ZjZCO0UwQnZmN0Isa0IxQndmNkI7OztBMEJuZi9CO0FB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cERySFI7O0FvRHNIUTtFQUNJLE9wRHpIcEI7O0FvRDhIUTtFQUNJOzs7QUM3SHBCO0VBQ0U7RUFDQTs7QUFHQTtFQUNFOzs7QUFLQTtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7O0FBRUo7RUFDSTs7O0FBSVI7RUFDSTs7O0FBSUE7RUFDSTs7O0FDckNSO0VBQ0ksT0FKYTtFQUtiLFFBSmM7RUFLZDtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUN4QlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0ksT3hETGE7OztBd0RXckI7RUFHSTs7QUFFSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBLFl2RHBDQTs7QXVEc0NKO0VBQ0k7RUFDQSxZeERwQmdCOztBd0RzQnBCO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0EsT3hEakNpQjtFd0RrQ2pCO0VBQ0E7O0FBRUo7RUFDSTs7O0FBSVI7RUFDSTs7O0F2REhKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0F3RG5FRjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtJQUNJOztFQUdKO0lBQ0k7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7O0VBSUE7SUFDSTs7RUFLSjtJQUNJOztFQUlSO0lBQ0k7O0VBRUE7SUFDSSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy9cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBGbG9hdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNsZWFyZml4IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4uY2VudGVyLWJsb2NrIHtcbiAgQGluY2x1ZGUgY2VudGVyLWJsb2NrO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIFRvZ2dsaW5nIGNvbnRlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAuaGlkZSBpbiBmYXZvciBvZiAuaGlkZGVuIG9yIC5zci1vbmx5IChhcyBhcHByb3ByaWF0ZSkgaW4gdjMuMC4xXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlO1xufVxuXG5cbi8vIEhpZGUgZnJvbSBzY3JlZW5yZWFkZXJzIGFuZCBicm93c2Vyc1xuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vLyBGb3IgQWZmaXggcGx1Z2luXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbiIsIi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcblxuQG1peGluIGNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCBvbmx5IGAuaGlkZS10ZXh0KClgLCBidXQgcGVyIG91ciBwYXR0ZXJuIGZvclxuLy8gbWl4aW5zIGJlaW5nIHJldXNlZCBhcyBjbGFzc2VzIHdpdGggdGhlIHNhbWUgbmFtZSwgdGhpcyBkb2Vzbid0IGhvbGQgdXAuIEFzXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC5cbi8vXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcblxuLy8gRGVwcmVjYXRlZCBhcyBvZiB2My4wLjEgKGhhcyBiZWVuIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLy9cbi8vIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4vLyAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuLy8gICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuLy9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAxXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuLy9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuLy8gYW5kIEZpcmVmb3guXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuLy9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuLy8gMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuLy9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyAxXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gMlxufVxuXG4vL1xuLy8gUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbi8vIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4vL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4vLyBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4vL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbi8vXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy9cbi8vIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbi8vIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbi8vXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy9cbi8vIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbi8vIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuLy9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gRW1iZWRkZWQgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuLy9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vL1xuLy8gQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4vL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEdyb3VwaW5nIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbi8vXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4vL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vLyBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4vLyBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4vL1xuXG4vL1xuLy8gMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gM1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbi8vIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vLyBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuLy8gQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuLy8gICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4vLyAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuLy8gICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuLy9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbiAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG59XG5cbi8vXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuLy9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4vLyB0aGUgVUEgc3R5bGVzaGVldC5cbi8vXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy9cbi8vIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbi8vIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4vL1xuLy8gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbi8vIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4vLyBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuLy8gZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuLy9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vXG4vLyAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4vLyBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4vLyBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbi8vXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuLy8gMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuLy9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuLy8gTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4vL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vLyBUYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8vXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuXG4vLyBGb3IgcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwczovL2dldGJvb3RzdHJhcC5jb20vZG9jcy8zLjQvZ2V0dGluZy1zdGFydGVkLyN0aGlyZC1ib3gtc2l6aW5nXG4qIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cblxuLy8gQm9keSByZXNldFxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG59XG5cbi8vIFJlc2V0IGZvbnRzIGZvciByZWxldmFudCBlbGVtZW50c1xuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cbi8vIExpbmtzXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgdGFiLWZvY3VzO1xuICB9XG59XG5cblxuLy8gRmlndXJlc1xuLy9cbi8vIFdlIHJlc2V0IHRoaXMgaGVyZSBiZWNhdXNlIHByZXZpb3VzbHkgTm9ybWFsaXplIGhhZCBubyBgZmlndXJlYCBtYXJnaW5zLiBUaGlzXG4vLyBlbnN1cmVzIHdlIGRvbid0IGJyZWFrIGFueW9uZSdzIHVzZSBvZiB0aGUgZWxlbWVudC5cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5cbi8vIEltYWdlc1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi5pbWctcmVzcG9uc2l2ZSB7XG4gIEBpbmNsdWRlIGltZy1yZXNwb25zaXZlO1xufVxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi5pbWctcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xufVxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byB0aHVtYm5haWxzLmxlc3MgZm9yIGAudGh1bWJuYWlsYC5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1yZXNwb25zaXZlKGlubGluZS1ibG9jayk7XG59XG5cbi8vIFBlcmZlY3QgY2lyY2xlXG4uaW1nLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gc2V0IHJhZGl1cyBpbiBwZXJjZW50c1xufVxuXG5cbi8vIEhvcml6b250YWwgcnVsZXNcblxuaHIge1xuICBtYXJnaW4tdG9wOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGhyLWJvcmRlcjtcbn1cblxuXG4vLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudFxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG5cblxuLy8gaU9TIFwiY2xpY2thYmxlIGVsZW1lbnRzXCIgZml4IGZvciByb2xlPVwiYnV0dG9uXCJcbi8vXG4vLyBGaXhlcyBcImNsaWNrYWJpbGl0eVwiIGlzc3VlIChhbmQgbW9yZSBnZW5lcmFsbHksIHRoZSBmaXJpbmcgb2YgZXZlbnRzIHN1Y2ggYXMgZm9jdXMgYXMgd2VsbClcbi8vIGZvciB0cmFkaXRpb25hbGx5IG5vbi1mb2N1c2FibGUgZWxlbWVudHMgd2l0aCByb2xlPVwiYnV0dG9uXCJcbi8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIC13ZWJraXQtaHlwaGVuczogJG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogJG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogJG1vZGU7IC8vIElFMTArXG4gICAgICAgLW8taHlwaGVuczogJG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogJG1vZGU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIiRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXI6IGZhbHNlICFkZWZhdWx0O1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuLy9cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLz09IENvbG9yc1xuLy9cbi8vIyMgR3JheSBhbmQgYnJhbmQgY29sb3JzIGZvciB1c2UgYWNyb3NzIEJvb3RzdHJhcC5cblxuJGdyYXktYmFzZTogICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAxMy41JSkgIWRlZmF1bHQ7IC8vICMyMjJcbiRncmF5LWRhcms6ICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDIwJSkgIWRlZmF1bHQ7ICAgLy8gIzMzM1xuJGdyYXk6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMzMuNSUpICFkZWZhdWx0OyAvLyAjNTU1XG4kZ3JheS1saWdodDogICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA0Ni43JSkgIWRlZmF1bHQ7IC8vICM3NzdcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDkzLjUlKSAhZGVmYXVsdDsgLy8gI2VlZVxuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICBkYXJrZW4oIzQyOGJjYSwgNi41JSkgIWRlZmF1bHQ7IC8vICMzMzdhYjdcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICM1Y2I4NWMgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgY29sb3Igc2V0IHZpYSBgZGFya2VuKClgIGZ1bmN0aW9uLlxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBvZ3JhcGh5XG4vL1xuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCBtb25vc3BhY2UgZm9udHMgZm9yIGA8Y29kZT5gLCBgPGtiZD5gLCBhbmQgYDxwcmU+YC5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjYpKSAhZGVmYXVsdDsgLy8gfjM2cHhcbiRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuMTUpKSAhZGVmYXVsdDsgLy8gfjMwcHhcbiRmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS43KSkgIWRlZmF1bHQ7IC8vIH4yNHB4XG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjQyODU3MTQyOSAhZGVmYXVsdDsgLy8gMjAvMTRcbi8vKiogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpICFkZWZhdWx0OyAvLyB+MjBweFxuXG4vLyoqIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG5cbi8vPT0gSWNvbm9ncmFwaHlcbi8vXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9uIGFuZCBmaWxlbmFtZSBvZiB0aGUgaW5jbHVkZWQgR2x5cGhpY29ucyBpY29uIGZvbnQuIFVzZWZ1bCBmb3IgdGhvc2UgaW5jbHVkaW5nIEJvb3RzdHJhcCB2aWEgQm93ZXIuXG5cbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxuXG4vLyBbY29udmVydGVyXSBJZiAkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyIGlmIHVzZWQsIHByb3ZpZGUgcGF0aCByZWxhdGl2ZSB0byB0aGUgYXNzZXRzIGxvYWQgcGF0aC5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgYmVjYXVzZSBzb21lIGFzc2V0IGhlbHBlcnMsIHN1Y2ggYXMgU3Byb2NrZXRzLCBkbyBub3Qgd29yayB3aXRoIGZpbGUtcmVsYXRpdmUgcGF0aHMuXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgIWRlZmF1bHQ7XG5cbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbiRpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCIgIWRlZmF1bHQ7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG4kaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMTZweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzMzMzMzMyAhZGVmYXVsdDsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXG4kbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDZweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAzcHggIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRlIGRyb3Bkb3ducy5cbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBSZW5hbWUgYCRpbnB1dC1ib3JkZXItcmFkaXVzYCB0byBgJGlucHV0LWJvcmRlci1yYWRpdXMtYmFzZWAgaW4gdjRcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuLy8gVGhpcyBoYXMgbm8gZWZmZWN0IG9uIGA8c2VsZWN0PmBzIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgIzY2YWZlOSAhZGVmYXVsdDtcblxuLy8qKiBQbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1sYXJnZTogICAgICAgICAgICAgKGNlaWwoJGZvbnQtc2l6ZS1sYXJnZSAqICRsaW5lLWhlaWdodC1sYXJnZSkgKyAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgICAgICAoZmxvb3IoJGZvbnQtc2l6ZS1zbWFsbCAqICRsaW5lLWhlaWdodC1zbWFsbCkgKyAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuXG4vLyoqIGAuZm9ybS1ncm91cGAgbWFyZ2luXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGxlZ2VuZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBjdXJzb3IgZm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnMuXG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuXG4vLz09IERyb3Bkb3duc1xuLy9cbi8vIyMgRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyoqIEJhY2tncm91bmQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjE1KSAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS1kYXJrLCA1JSkgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGJhY2tncm91bmQgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIERlcHJlY2F0ZWQgYCRkcm9wZG93bi1jYXJldC1jb2xvcmAgYXMgb2YgdjMuMS4wXG4kZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4ICFkZWZhdWx0O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tc20tbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKDk0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKDExNDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAkbGluZS1oZWlnaHQtY29tcHV0ZWQgIWRlZmF1bHQ7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKG1hdGguZGl2KCRncmlkLWd1dHRlci13aWR0aCwgMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICBtYXRoLmRpdigoJG5hdmJhci1oZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpLCAyKSAhZGVmYXVsdDtcbiRuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDogICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgI2Y4ZjhmOCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBsaW5rc1xuJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciB0b2dnbGVcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICM4ODggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09PSBJbnZlcnRlZCBuYXZiYXJcbi8vIFJlc2V0IGludmVydGVkIG5hdmJhciBiYXNpY3NcbiRuYXZiYXItaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgICAgICAgIzIyMiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG4kbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IE5hdnNcbi8vXG4vLyMjXG5cbi8vPT09IFNoYXJlZCBuYXYgc3R5bGVzXG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vPT0gVGFic1xuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4vLz09IFBpbGxzXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJHBhZ2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBKdW1ib3Ryb25cbi8vXG4vLyMjXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWZvbnQtc2l6ZTogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1mb250LXNpemU6ICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDQuNSkpICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgIzMxNzA4ZiAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNkOWVkZjcgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS13YXJuaW5nLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQb3BvdmVyc1xuLy9cbi8vIyNcblxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjIpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgZGFya2VuKCRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuXG4vLz09IExhYmVsc1xuLy9cbi8vIyNcblxuLy8qKiBEZWZhdWx0IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBQcmltYXJ5IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1wcmltYXJ5LWJnOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBJbmZvIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC13YXJuaW5nLWJnOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRhbmdlci1iZzogICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgdGV4dCBjb2xvciBvZiBhIGxpbmtlZCBsYWJlbFxuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IE1vZGFsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCB0aXRsZVxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgdGl0bGUgbGluZS1oZWlnaHRcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgY29udGVudCBhcmVhXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yXG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjIpICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvciAqKmZvciBJRTgqKlxuJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIE1vZGFsIGJhY2tkcm9wIGJhY2tncm91bmQgY29sb3JcbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGJhY2tkcm9wIG9wYWNpdHlcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAjZTVlNWU1ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBmb290ZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy89PSBQcm9ncmVzcyBiYXJzXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdob2xlIHByb2dyZXNzIGNvbXBvbmVudFxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogUHJvZ3Jlc3MgYmFyIHRleHQgY29sb3JcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFZhcmlhYmxlIGZvciBzZXR0aW5nIHJvdW5kZWQgY29ybmVycyBvbiBwcm9ncmVzcyBiYXIuXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnOiAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4vLyoqIEluZm8gcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcblxuXG4vLz09IExpc3QgZ3JvdXBcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvbiBgLmxpc3QtZ3JvdXAtaXRlbWBcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogYC5saXN0LWdyb3VwLWl0ZW1gIGJvcmRlciBjb2xvclxuJGxpc3QtZ3JvdXAtYm9yZGVyOiAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBMaXN0IGdyb3VwIGJvcmRlciByYWRpdXNcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNpbmdsZSBsaXN0IGl0ZW1zIG9uIGhvdmVyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogIGxpZ2h0ZW4oJGxpc3QtZ3JvdXAtYWN0aXZlLWJnLCA0MCUpICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IFBhbmVsc1xuLy9cbi8vIyNcblxuJHBhbmVsLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtaGVhZGluZy1wYWRkaW5nOiAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAkcGFuZWwtaGVhZGluZy1wYWRkaW5nICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGVsZW1lbnRzIHdpdGhpbiBwYW5lbHNcbiRwYW5lbC1pbm5lci1ib3JkZXI6ICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtZGVmYXVsdC10ZXh0OiAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1wcmltYXJ5LXRleHQ6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzogICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1oZWFkaW5nLWJnOiAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc6ICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItaGVhZGluZy1iZzogICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBUaHVtYm5haWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3JcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG4kdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBDdXN0b20gdGV4dCBjb2xvciBmb3IgdGh1bWJuYWlsIGNhcHRpb25zXG4kdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBjYXB0aW9uXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogICA5cHggIWRlZmF1bHQ7XG5cblxuLy89PSBXZWxsc1xuLy9cbi8vIyNcblxuJHdlbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR3ZWxsLWJvcmRlcjogICAgICAgICAgICAgICAgIGRhcmtlbigkd2VsbC1iZywgNyUpICFkZWZhdWx0O1xuXG5cbi8vPT0gQmFkZ2VzXG4vL1xuLy8jI1xuXG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBMaW5rZWQgYmFkZ2UgdGV4dCBjb2xvciBvbiBob3ZlclxuJGJhZGdlLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIEJhZGdlIHRleHQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFkZ2UgYmFja2dyb3VuZCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuXG4vLz09IEJyZWFkY3J1bWJzXG4vL1xuLy8jI1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIDhweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiBiYWNrZ3JvdW5kIGNvbG9yXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgdGV4dCBjb2xvclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xuJGJyZWFkY3J1bWItc2VwYXJhdG9yOiAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcblxuXG4vLz09IENhcm91c2VsXG4vL1xuLy8jI1xuXG4kY2Fyb3VzZWwtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjYpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDbG9zZVxuLy9cbi8vIyNcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAwIDFweCAwICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDb2RlXG4vL1xuLy8jI1xuXG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYzcyNTRlICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y5ZjJmNCAhZGVmYXVsdDtcblxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwZVxuLy9cbi8vIyNcblxuLy8qKiBIb3Jpem9udGFsIG9mZnNldCBmb3IgZm9ybXMgYW5kIGxpc3RzLlxuJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDogMTgwcHggIWRlZmF1bHQ7XG4vLyoqIFRleHQgbXV0ZWQgY29sb3JcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3JcbiRhYmJyLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBIZWFkaW5ncyBzbWFsbCBjb2xvclxuJGhlYWRpbmdzLXNtYWxsLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgc21hbGwgY29sb3JcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGJvcmRlciBjb2xvclxuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXG4kZGwtaG9yaXpvbnRhbC1vZmZzZXQ6ICAgICAgICAkY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsICFkZWZhdWx0O1xuLy8qKiBQb2ludCBhdCB3aGljaCAuZGwtaG9yaXpvbnRhbCBiZWNvbWVzIGhvcml6b250YWxcbiRkbC1ob3Jpem9udGFsLWJyZWFrcG9pbnQ6ICAgICRncmlkLWZsb2F0LWJyZWFrcG9pbnQgIWRlZmF1bHQ7XG4vLyoqIEhvcml6b250YWwgbGluZSBjb2xvci5cbiRoci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4iLCIkd2hpdGU6ICNmZmY7XG5cbiRicmFuZC1wcmltYXJ5OiAjNDA2OEFBO1xuJHBhbmVsLXByaW1hcnktdGV4dDogJGJyYW5kLXByaW1hcnk7XG4kcGFuZWwtZm9vdGVyLWJnOiB0cmFuc3BhcmVudDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAxNHB4O1xuXG4kYWxlcnQtYm9yZGVyLXJhZGl1czogMDtcblxuQGltcG9ydCAnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC91dGlsaXRpZXMnO1xuQGltcG9ydCAnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3NjYWZmb2xkaW5nJztcbkBpbXBvcnQgJy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3R5cGUnO1xuQGltcG9ydCAnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvZ3JpZCc7XG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC90YWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvZm9ybXMnO1xuQGltcG9ydCAnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvaW5wdXQtZ3JvdXBzJztcbkBpbXBvcnQgJy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2J1dHRvbnMnO1xuQGltcG9ydCAnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9hbGVydHMnO1xuQGltcG9ydCAnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvY2xvc2UnO1xuQGltcG9ydCAnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbGlzdC1ncm91cCc7XG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9sYWJlbHMnO1xuQGltcG9ydCAnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvcGFuZWxzJztcbkBpbXBvcnQgJy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3Jlc3BvbnNpdmUtdXRpbGl0aWVzJztcblxuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ21vZHVsZXMvZGVidWcnO1xuQGltcG9ydCAnbW9kdWxlcy90eXBvJztcbkBpbXBvcnQgJ21vZHVsZXMvaHInO1xuQGltcG9ydCAnbW9kdWxlcy9pY29ucyc7XG5AaW1wb3J0ICdtb2R1bGVzL2NpcmNsZWQtaWNvbnMnO1xuQGltcG9ydCAnbW9kdWxlcy9jYXJkJztcbkBpbXBvcnQgJ21vZHVsZXMvdGFibGVzJztcbkBpbXBvcnQgJ21vZHVsZXMvdG9vbHRpcHMnO1xuQGltcG9ydCAnbW9kdWxlcy9hbGVydCc7XG5AaW1wb3J0ICdtb2R1bGVzL3NpZGVwYW5lbCc7XG5AaW1wb3J0ICdtb2R1bGVzL211bHRpc2VsZWN0JztcbkBpbXBvcnQgJ21vZHVsZXMvZm9ybXMnO1xuQGltcG9ydCAnbW9kdWxlcy9saXN0cyc7XG5AaW1wb3J0ICdtb2R1bGVzL2ZpbHRlcnRhZ3MnO1xuQGltcG9ydCAnbW9kdWxlcy9wYW5lbHMnO1xuQGltcG9ydCAnbW9kdWxlcy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ21vZHVsZXMvY2FyZC1yZWFkZXInO1xuQGltcG9ydCAnbW9kdWxlcy9idXR0b25zJztcblxuQGltcG9ydCAnY29udGVudC9jb250ZW50JztcblxuQGltcG9ydCAnbGF5b3V0L2xheW91dCc7XG5AaW1wb3J0ICdwYWdlcy9sb2dpbic7XG5AaW1wb3J0ICdwYWdlcy9lcnJvcic7XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgJGJyYW5kLXByaW1hcnksIGRhcmtlbigkYnJhbmQtcHJpbWFyeSwgMjAlKSk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuQGltcG9ydCBcInByaW50XCI7XG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gV2ViS2l0LXNwZWNpZmljLiBPdGhlciBicm93c2VycyB3aWxsIGtlZXAgdGhlaXIgZGVmYXVsdCBvdXRsaW5lIHN0eWxlLlxuICAvLyAoSW5pdGlhbGx5IHRyaWVkIHRvIGFsc28gZm9yY2UgZGVmYXVsdCB2aWEgYG91dGxpbmU6IGluaXRpYWxgLFxuICAvLyBidXQgdGhhdCBzZWVtcyB0byBlcnJvbmVvdXNseSByZW1vdmUgdGhlIG91dGxpbmUgaW4gRmlyZWZveCBhbHRvZ2V0aGVyLilcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLiBOb3RlIHRoYXQgdGhlXG4vLyBzcGVsbGluZyBvZiBgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvYCBpcyBpbnRlbnRpb25hbC5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTF4fVwiKSwgXCIjeyRmaWxlLTF4fVwiKSk7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0yeH1cIiksIFwiI3skZmlsZS0yeH1cIikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkaGVhZGluZ3Mtc21hbGwtY29sb3I7XG4gIH1cbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiBtYXRoLmRpdigkbGluZS1oZWlnaHQtY29tcHV0ZWQsIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNjUlO1xuICB9XG59XG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBtYXJnaW4tdG9wOiBtYXRoLmRpdigkbGluZS1oZWlnaHQtY29tcHV0ZWQsIDIpO1xuICBtYXJnaW4tYm90dG9tOiBtYXRoLmRpdigkbGluZS1oZWlnaHQtY29tcHV0ZWQsIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6ICRmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6ICRmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6ICRmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6ICRmb250LXNpemUtaDY7IH1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwIG1hdGguZGl2KCRsaW5lLWhlaWdodC1jb21wdXRlZCwgMik7XG59XG5cbi5sZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAxLjE1KSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgfVxufVxuXG5cbi8vIEVtcGhhc2lzICYgbWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBFeDogbWF0aC5kaXYoMTJweCBzbWFsbCBmb250LCAxNHB4IGJhc2UgZm9udCkgKiAxMDAlID0gYWJvdXQgODUlXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogZmxvb3IobWF0aC5kaXYoMTAwJSAqICRmb250LXNpemUtc21hbGwsICRmb250LXNpemUtYmFzZSkpO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAuMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RhdGUtd2FybmluZy1iZztcbn1cblxuLy8gQWxpZ25tZW50XG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xufVxuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkc3RhdGUtaW5mby10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtZGFuZ2VyJywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuLy8gRm9yIG5vdyB3ZSdsbCBsZWF2ZSB0aGVzZSBhbG9uZ3NpZGUgdGhlIHRleHQgY2xhc3NlcyB1bnRpbCB2NCB3aGVuIHdlIGNhblxuLy8gc2FmZWx5IHNoaWZ0IHRoaW5ncyBhcm91bmQgKHBlciBTZW1WZXIgcnVsZXMpLlxuLmJnLXByaW1hcnkge1xuICAvLyBHaXZlbiB0aGUgY29udHJhc3QgaGVyZSwgdGhpcyBpcyB0aGUgb25seSBjbGFzcyB0byBoYXZlIGl0cyBjb2xvciBpbnZlcnRlZFxuICAvLyBhdXRvbWF0aWNhbGx5LlxuICBjb2xvcjogI2ZmZjtcbn1cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWluZm8nLCAkc3RhdGUtaW5mby1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IChtYXRoLmRpdigkbGluZS1oZWlnaHQtY29tcHV0ZWQsIDIpIC0gMSk7XG4gIG1hcmdpbjogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAqIDIpIDAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vLyBMaXN0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVbm9yZGVyZWQgYW5kIE9yZGVyZWQgbGlzdHNcbnVsLFxub2wge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiBtYXRoLmRpdigkbGluZS1oZWlnaHQtY29tcHV0ZWQsIDIpO1xuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gTGlzdCBvcHRpb25zXG5cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBmcm9tIGAubGlzdC11bnN0eWxlZGAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYXMgYEBtaXhpbiBsaXN0LXVuc3R5bGVkYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG5cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIH1cbn1cblxuLy8gRGVzY3JpcHRpb24gTGlzdHNcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDsgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdFxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG59XG5kdCxcbmRkIHtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xufVxuZHQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuLy8gSG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0c1xuLy9cbi8vIERlZmF1bHRzIHRvIGJlaW5nIHN0YWNrZWQgd2l0aG91dCBhbnkgb2YgdGhlIGJlbG93IHN0eWxlcyBhcHBsaWVkLCB1bnRpbCB0aGVcbi8vIGdyaWQgYnJlYWtwb2ludCBpcyByZWFjaGVkIChkZWZhdWx0IG9mIH43NjhweCkuXG5cbi5kbC1ob3Jpem9udGFsIHtcbiAgZGQge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4OyAvLyBDbGVhciB0aGUgZmxvYXRlZCBgZHRgIGlmIGFuIGVtcHR5IGBkZGAgaXMgcHJlc2VudFxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRkbC1ob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcbiAgICBkdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAoJGRsLWhvcml6b250YWwtb2Zmc2V0IC0gMjApO1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZGwtaG9yaXpvbnRhbC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBYmJyZXZpYXRpb25zIGFuZCBhY3Jvbnltc1xuLy8gQWRkIGRhdGEtKiBhdHRyaWJ1dGUgdG8gaGVscCBvdXQgb3VyIHRvb2x0aXAgcGx1Z2luLCBwZXIgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy81MjU3XG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIEBleHRlbmQgLnRleHQtdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IG1hdGguZGl2KCRsaW5lLWhlaWdodC1jb21wdXRlZCwgMikgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW46IDAgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcblxuICBwLFxuICB1bCxcbiAgb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IERlcHJlY2F0ZWQgc21hbGwgYW5kIC5zbWFsbCBhcyBvZiB2My4xLjBcbiAgLy8gQ29udGV4dDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY2MFxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gICAgfVxuICB9XG59XG5cbi8vIE9wcG9zaXRlIGFsaWdubWVudCBvZiBibG9ja3F1b3RlXG4vL1xuLy8gSGVhZHMgdXA6IGBibG9ja3F1b3RlLnB1bGwtcmlnaHRgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMS4wLlxuLmJsb2NrcXVvdGUtcmV2ZXJzZSxcbmJsb2NrcXVvdGUucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG5cbiAgLy8gQWNjb3VudCBmb3IgY2l0YXRpb25cbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwwMEEwIFxcMjAxNFwiOyAvLyBuYnNwLCBlbSBkYXNoXG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHJlc3Nlc1xuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy9cbi8vIEdyaWQgc3lzdGVtXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi5jb250YWluZXIge1xuICBAaW5jbHVkZSBjb250YWluZXItZml4ZWQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItc207XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItbWQ7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItbGc7XG4gIH1cbn1cblxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4vLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG4ucm93IHtcbiAgQGluY2x1ZGUgbWFrZS1yb3c7XG59XG5cbi5yb3ctbm8tZ3V0dGVycyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnM7XG5cblxuLy8gRXh0cmEgc21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciBleHRyYSBzbWFsbCBkZXZpY2VzIGxpa2Vcbi8vIHNtYXJ0cGhvbmVzLlxuXG5AaW5jbHVkZSBtYWtlLWdyaWQoeHMpO1xuXG5cbi8vIFNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIHNtYWxsIGRldmljZSByYW5nZSwgZnJvbSBwaG9uZXNcbi8vIHRvIHRhYmxldHMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQoc20pO1xufVxuXG5cbi8vIE1lZGl1bSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChtZCk7XG59XG5cblxuLy8gTGFyZ2UgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgbGFyZ2UgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQobGcpO1xufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwYWRkaW5nLXJpZ2h0OiBjZWlsKG1hdGguZGl2KCRndXR0ZXIsIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBmbG9vcihtYXRoLmRpdigkZ3V0dGVyLCAyKSk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGZsb29yKG1hdGguZGl2KCRndXR0ZXIsIC0yKSk7XG4gIG1hcmdpbi1sZWZ0OiBjZWlsKG1hdGguZGl2KCRndXR0ZXIsIC0yKSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbnMsICRncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXRoLmRpdigkZ3V0dGVyLCAyKTtcbiAgcGFkZGluZy1sZWZ0OiBtYXRoLmRpdigkZ3V0dGVyLCAyKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbnMsICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIGxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbnMsICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KCRjb2x1bW5zLCAkZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1yaWdodDogbWF0aC5kaXYoJGd1dHRlciwgMik7XG4gIHBhZGRpbmctbGVmdDogbWF0aC5kaXYoJGd1dHRlciwgMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbnMsICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigkY29sdW1ucywgJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KCRjb2x1bW5zLCAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KCRjb2x1bW5zLCAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1yaWdodDogbWF0aC5kaXYoJGd1dHRlciwgMik7XG4gIHBhZGRpbmctbGVmdDogbWF0aC5kaXYoJGd1dHRlciwgMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbnMsICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigkY29sdW1ucywgJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KCRjb2x1bW5zLCAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KCRjb2x1bW5zLCAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbnNcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXRoLmRpdigkZ3V0dGVyLCAyKTtcbiAgcGFkZGluZy1sZWZ0OiBtYXRoLmRpdigkZ3V0dGVyLCAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdigkY29sdW1ucywgJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KCRjb2x1bW5zLCAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbnMsICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbnMsICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcihtYXRoLmRpdigkZ3JpZC1ndXR0ZXItd2lkdGgsIDIpKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNlaWwobWF0aC5kaXYoJGdyaWQtZ3V0dGVyLXdpZHRoLCAyKSk7XG4gIH1cbn1cblxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MsICRpOiAxLCAkbGlzdDogXCIuY29sLSN7JGNsYXNzfS0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZC1jb2x1bW4oJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gIEBpZiAoJHR5cGUgPT0gd2lkdGgpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdigkaW5kZXgsICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KCRpbmRleCwgJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLTAge1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLSN7JGluZGV4fSB7XG4gICAgICByaWdodDogcGVyY2VudGFnZShtYXRoLmRpdigkaW5kZXgsICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0wIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xuICAgIC5jb2wtI3skY2xhc3N9LW9mZnNldC0jeyRpbmRleH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoJGluZGV4LCAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy9cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcblxuICAvLyBUYWJsZSBjZWxsIHNpemluZ1xuICAvL1xuICAvLyBSZXNldCBkZWZhdWx0IHRhYmxlIGJlaGF2aW9yXG5cbiAgY29sW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTktMTEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICAgIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIHRkLFxuICB0aCB7XG4gICAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTktMTEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG4vLyBCYXNlbGluZSBzdHlsZXNcblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAvLyBDZWxsc1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQm90dG9tIGFsaWduIGZvciBjb2x1bW4gaGVhZGluZ3NcbiAgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gUmVtb3ZlIHRvcCBib3JkZXIgZnJvbSB0aGVhZCBieSBkZWZhdWx0XG4gID4gY2FwdGlvbiArIHRoZWFkLFxuICA+IGNvbGdyb3VwICsgdGhlYWQsXG4gID4gdGhlYWQ6Zmlyc3QtY2hpbGQge1xuICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBY2NvdW50IGZvciBtdWx0aXBsZSB0Ym9keSBpbnN0YW5jZXNcbiAgPiB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIE5lc3RpbmdcbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbiAgfVxufVxuXG5cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcblxuLnRhYmxlLWNvbmRlbnNlZCB7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiB0aGVhZCA+IHRyIHtcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWFjY2VudDtcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctaG92ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG4vLyBHZW5lcmF0ZSB0aGUgY29udGV4dHVhbCB2YXJpYW50c1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2FjdGl2ZScsICR0YWJsZS1iZy1hY3RpdmUpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ3N1Y2Nlc3MnLCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnaW5mbycsICRzdGF0ZS1pbmZvLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCd3YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2RhbmdlcicsICRzdGF0ZS1kYW5nZXItYmcpO1xuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gV3JhcCB5b3VyIHRhYmxlcyBpbiBgLnRhYmxlLXJlc3BvbnNpdmVgIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5XG4vLyBieSBlbmFibGluZyBob3Jpem9udGFsIHNjcm9sbGluZy4gT25seSBhcHBsaWVzIDw3NjhweC4gRXZlcnl0aGluZyBhYm92ZSB0aGF0XG4vLyB3aWxsIGRpc3BsYXkgbm9ybWFsbHkuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgbWluLWhlaWdodDogLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG4gIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogLjc1KTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICAgIC8vIFRpZ2h0ZW4gdXAgc3BhY2luZ1xuICAgID4gLnRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIC8vIEVuc3VyZSB0aGUgY29udGVudCBkb2Vzbid0IHdyYXBcbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgb3ZlcnJpZGVzIGZvciB0aGUgYm9yZGVyZWQgdGFibGVzXG4gICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAvLyBOdWtlIHRoZSBhcHByb3ByaWF0ZSBib3JkZXJzIHNvIHRoYXQgdGhlIHBhcmVudCBjYW4gaGFuZGxlIHRoZW1cbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiB0aDpsYXN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9ubHkgbnVrZSB0aGUgbGFzdCByb3cncyBib3R0b20tYm9yZGVyIGluIGB0Ym9keWAgYW5kIGB0Zm9vdGAgc2luY2VcbiAgICAgIC8vIGNoYW5jZXMgYXJlIHRoZXJlIHdpbGwgYmUgb25seSBvbmUgYHRyYCBpbiBhIGB0aGVhZGAgYW5kIHRoYXQgd291bGRcbiAgICAgIC8vIHJlbW92ZSB0aGUgYm9yZGVyIGFsdG9nZXRoZXIuXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgPiB0aCxcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUgPiB0aGVhZCA+IHRyLFxuICAudGFibGUgPiB0Ym9keSA+IHRyLFxuICAudGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfSxcbiAgICA+IHRoLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfSA+IHRkLFxuICAgICYuI3skc3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgPiB0aC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmOmhvdmVyID4gLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuLy9cbi8vIEZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE5vcm1hbGl6ZSBub24tY29udHJvbHNcbi8vXG4vLyBSZXN0eWxlIGFuZCBiYXNlbGluZSBub24tY29udHJvbCBmb3JtIGVsZW1lbnRzLlxuXG5maWVsZHNldCB7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogJGxlZ2VuZC1jb2xvcjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxlZ2VuZC1ib3JkZXItY29sb3I7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIEZvcmNlIElFOCB0byB3cmFwIGxvbmcgY29udGVudCAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTMxNDEpXG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuXG4vLyBOb3JtYWxpemUgZm9ybSBjb250cm9sc1xuLy9cbi8vIFdoaWxlIG1vc3Qgb2Ygb3VyIGZvcm0gc3R5bGVzIHJlcXVpcmUgZXh0cmEgY2xhc3Nlcywgc29tZSBiYXNpYyBub3JtYWxpemF0aW9uXG4vLyBpcyByZXF1aXJlZCB0byBlbnN1cmUgb3B0aW11bSBkaXNwbGF5IHdpdGggb3Igd2l0aG91dCB0aG9zZSBjbGFzc2VzIHRvIGJldHRlclxuLy8gYWRkcmVzcyBicm93c2VyIGluY29uc2lzdGVuY2llcy5cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIE92ZXJyaWRlIGNvbnRlbnQtYm94IGluIE5vcm1hbGl6ZSAoKiBpc24ndCBzcGVjaWZpYyBlbm91Z2gpXG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiAgLy8gU2VhcmNoIGlucHV0cyBpbiBpT1NcbiAgLy9cbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIFBvc2l0aW9uIHJhZGlvcyBhbmQgY2hlY2tib3hlcyBiZXR0ZXJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbjogNHB4IDAgMDtcbiAgbWFyZ2luLXRvcDogMXB4IFxcOTsgLy8gSUU4LTlcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAvLyBBcHBseSBzYW1lIGRpc2FibGVkIGN1cnNvciB0d2VhayBhcyBmb3IgaW5wdXRzXG4gIC8vIFNvbWUgc3BlY2lhbCBjYXJlIGlzIG5lZWRlZCBiZWNhdXNlIDxsYWJlbD5zIGRvbid0IGluaGVyaXQgdGhlaXIgcGFyZW50J3MgYGN1cnNvcmAuXG4gIC8vXG4gIC8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbiAgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gTWFrZSByYW5nZSBpbnB1dHMgYmVoYXZlIGxpa2UgdGV4dHVhbCBmb3JtIGNvbnRyb2xzXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIE1ha2UgbXVsdGlwbGUgc2VsZWN0IGVsZW1lbnRzIGhlaWdodCBub3QgZml4ZWRcbnNlbGVjdFttdWx0aXBsZV0sXG5zZWxlY3Rbc2l6ZV0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvY3VzIGZvciBmaWxlLCByYWRpbywgYW5kIGNoZWNrYm94XG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gIEBpbmNsdWRlIHRhYi1mb2N1cztcbn1cblxuLy8gQWRqdXN0IG91dHB1dCBlbGVtZW50XG5vdXRwdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG59XG5cblxuLy8gQ29tbW9uIGZvcm0gY29udHJvbHNcbi8vXG4vLyBTaGFyZWQgc2l6ZSBhbmQgdHlwZSByZXNldHMgZm9yIGZvcm0gY29udHJvbHMuIEFwcGx5IGAuZm9ybS1jb250cm9sYCB0byBhbnlcbi8vIG9mIHRoZSBmb2xsb3dpbmcgZm9ybSBjb250cm9sczpcbi8vXG4vLyBzZWxlY3Rcbi8vIHRleHRhcmVhXG4vLyBpbnB1dFt0eXBlPVwidGV4dFwiXVxuLy8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGVcIl1cbi8vIGlucHV0W3R5cGU9XCJtb250aFwiXVxuLy8gaW5wdXRbdHlwZT1cInRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJ3ZWVrXCJdXG4vLyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdXG4vLyBpbnB1dFt0eXBlPVwiZW1haWxcIl1cbi8vIGlucHV0W3R5cGU9XCJ1cmxcIl1cbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1cbi8vIGlucHV0W3R5cGU9XCJ0ZWxcIl1cbi8vIGlucHV0W3R5cGU9XCJjb2xvclwiXVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTsgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzOyAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiA8c2VsZWN0PnMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzKTtcblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cztcblxuICAvLyBQbGFjZWhvbGRlclxuICBAaW5jbHVkZSBwbGFjZWhvbGRlcjtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmW2Rpc2FibGVkXSxcbiAgJltyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogMTsgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NVxuICB9XG5cbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgdGV4dGFyZWEmIHRvIHRleHRhcmVhLmZvcm0tY29udHJvbFxufVxuXG4vLyBSZXNldCBoZWlnaHQgZm9yIGB0ZXh0YXJlYWBzXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gU3BlY2lhbCBzdHlsZXMgZm9yIGlPUyB0ZW1wb3JhbCBpbnB1dHNcbi8vXG4vLyBJbiBNb2JpbGUgU2FmYXJpLCBzZXR0aW5nIGBkaXNwbGF5OiBibG9ja2Agb24gdGVtcG9yYWwgaW5wdXRzIGNhdXNlcyB0aGVcbi8vIHRleHQgd2l0aGluIHRoZSBpbnB1dCB0byBiZWNvbWUgdmVydGljYWxseSBtaXNhbGlnbmVkLiBBcyBhIHdvcmthcm91bmQsIHdlXG4vLyBzZXQgYSBwaXhlbCBsaW5lLWhlaWdodCB0aGF0IG1hdGNoZXMgdGhlIGdpdmVuIGhlaWdodCBvZiB0aGUgaW5wdXQsIGJ1dCBvbmx5XG4vLyBmb3IgU2FmYXJpLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTg0OFxuLy9cbi8vIE5vdGUgdGhhdCBhcyBvZiA5LjMsIGlPUyBkb2Vzbid0IHN1cHBvcnQgYHdlZWtgLlxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAgICYuZm9ybS1jb250cm9sIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gICAgfVxuXG4gICAgJi5pbnB1dC1zbSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gJiB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICB9XG5cbiAgICAmLmlucHV0LWxnLFxuICAgIC5pbnB1dC1ncm91cC1sZyAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgLy8gVGhlc2UgYXJlIHVzZWQgb24gZWxlbWVudHMgd2l0aCA8bGFiZWw+IGRlc2NlbmRhbnRzXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBsYWJlbCB7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgbGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDsgLy8gRW5zdXJlIHRoZSBpbnB1dCBkb2Vzbid0IGp1bXAgd2hlbiB0aGVyZSBpcyBubyB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogNHB4IFxcOTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xufVxuXG4ucmFkaW8gKyAucmFkaW8sXG4uY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAtNXB4OyAvLyBNb3ZlIHVwIHNpYmxpbmcgcmFkaW9zIG9yIGNoZWNrYm94ZXMgZm9yIHRpZ2h0ZXIgc3BhY2luZ1xufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBUaGVzZSBhcmUgdXNlZCBkaXJlY3RseSBvbiA8bGFiZWw+c1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4ucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IC8vIHNwYWNlIG91dCBjb25zZWN1dGl2ZSBpbmxpbmUgY29udHJvbHNcbn1cblxuXG4vLyBTdGF0aWMgZm9ybSBjb250cm9sIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIGBwYCBlbGVtZW50IHRvIG1ha2UgYW55IHN0cmluZyBvZiB0ZXh0IGFsaWduIHdpdGggbGFiZWxzIGluXG4vLyBhIGhvcml6b250YWwgZm9ybSBsYXlvdXQuXG5cbi5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtYmFzZSk7XG4gIC8vIFNpemUgaXQgYXBwcm9wcmlhdGVseSBuZXh0IHRvIHJlYWwgZm9ybSBjb250cm9sc1xuICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgcGFkZGluZy1ib3R0b206ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBmcm9tIGBwYFxuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICYuaW5wdXQtbGcsXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbkBpbmNsdWRlIGlucHV0LXNpemUoJy5pbnB1dC1zbScsICRpbnB1dC1oZWlnaHQtc21hbGwsICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbi5mb3JtLWdyb3VwLXNtIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw7XG4gIH1cbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICB9XG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCxcbiAgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAkZm9udC1zaXplLXNtYWxsKTtcbiAgICBwYWRkaW5nOiAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKSAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtYWxsO1xuICB9XG59XG5cbkBpbmNsdWRlIGlucHV0LXNpemUoJy5pbnB1dC1sZycsICRpbnB1dC1oZWlnaHQtbGFyZ2UsICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbi5mb3JtLWdyb3VwLWxnIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIH1cbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICB9XG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCxcbiAgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAkZm9udC1zaXplLWxhcmdlKTtcbiAgICBwYWRkaW5nOiAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKyAxKSAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxhcmdlO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZlZWRiYWNrIHN0YXRlc1xuLy9cbi8vIEFwcGx5IGNvbnRleHR1YWwgYW5kIHNlbWFudGljIHN0YXRlcyB0byBpbmRpdmlkdWFsIGZvcm0gY29udHJvbHMuXG5cbi5oYXMtZmVlZGJhY2sge1xuICAvLyBFbmFibGUgYWJzb2x1dGUgcG9zaXRpb25pbmdcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIEVuc3VyZSBpY29ucyBkb24ndCBvdmVybGFwIHRleHRcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy1yaWdodDogKCRpbnB1dC1oZWlnaHQtYmFzZSAqIDEuMjUpO1xuICB9XG59XG4vLyBGZWVkYmFjayBpY29uIChyZXF1aXJlcyAuZ2x5cGhpY29uIGNsYXNzZXMpXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xufVxuLmlucHV0LXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xufVxuXG4vLyBGZWVkYmFjayBzdGF0ZXNcbi5oYXMtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5oYXMtd2FybmluZyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLWJnKTtcbn1cbi5oYXMtZXJyb3Ige1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci1iZyk7XG59XG5cbi8vIFJlcG9zaXRpb24gZmVlZGJhY2sgaWNvbiBpZiBpbnB1dCBoYXMgdmlzaWJsZSBsYWJlbCBhYm92ZVxuLmhhcy1mZWVkYmFjayBsYWJlbCB7XG5cbiAgJiB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHRvcDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArIDUpOyAvLyBIZWlnaHQgb2YgdGhlIGBsYWJlbGAgYW5kIGl0cyBtYXJnaW5cbiAgfVxuICAmLnNyLW9ubHkgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBIZWxwIHRleHRcbi8vXG4vLyBBcHBseSB0byBhbnkgZWxlbWVudCB5b3Ugd2lzaCB0byBjcmVhdGUgbGlnaHQgdGV4dCBmb3IgcGxhY2VtZW50IGltbWVkaWF0ZWx5XG4vLyBiZWxvdyBhIGZvcm0gY29udHJvbC4gVXNlIGZvciBnZW5lcmFsIGhlbHAsIGZvcm1hdHRpbmcsIG9yIGluc3RydWN0aW9uYWwgdGV4dC5cblxuLmhlbHAtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jazsgLy8gYWNjb3VudCBmb3IgYW55IGVsZW1lbnQgdXNpbmcgaGVscC1ibG9ja1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiBsaWdodGVuKCR0ZXh0LWNvbG9yLCAyNSUpOyAvLyBsaWdodGVuIHRoZSB0ZXh0IHNvbWUgZm9yIGNvbnRyYXN0XG59XG5cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIGAubmF2YmFyLWZvcm1gIGluIG5hdmJhcnMubGVzcy5cblxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGZyb20gYC5mb3JtLWlubGluZWAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuQG1peGluIGZvcm0taW5saW5lIHtcblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gSW4gbmF2YmFyLWZvcm0sIGFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAgIC5pbnB1dC1ncm91cC1idG4sXG4gICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5wdXQgZ3JvdXBzIG5lZWQgdGhhdCAxMDAlIHdpZHRoIHRob3VnaFxuICAgIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gUmUtb3ZlcnJpZGUgdGhlIGZlZWRiYWNrIGljb24uXG4gICAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhcyBgQG1peGluIGZvcm0taW5saW5lYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG4uZm9ybS1pbmxpbmUge1xuICBAaW5jbHVkZSBmb3JtLWlubGluZTtcbn1cblxuXG5cbi8vIEhvcml6b250YWwgZm9ybXNcbi8vXG4vLyBIb3Jpem9udGFsIGZvcm1zIGFyZSBidWlsdCBvbiBncmlkIGNsYXNzZXMgYW5kIGFsbG93IHlvdSB0byBjcmVhdGUgZm9ybXMgd2l0aFxuLy8gbGFiZWxzIG9uIHRoZSBsZWZ0IGFuZCBpbnB1dHMgb24gdGhlIHJpZ2h0LlxuXG4uZm9ybS1ob3Jpem9udGFsIHtcblxuICAvLyBDb25zaXN0ZW50IHZlcnRpY2FsIGFsaWdubWVudCBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbiAgLy9cbiAgLy8gTGFiZWxzIGFsc28gZ2V0IHNvbWUgcmVzZXQgc3R5bGVzLCBidXQgdGhhdCBpcyBzY29wZWQgdG8gYSBtZWRpYSBxdWVyeSBiZWxvdy5cbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUge1xuICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAvLyBBY2NvdW50IGZvciBwYWRkaW5nIHdlJ3JlIGFkZGluZyB0byBlbnN1cmUgdGhlIGFsaWdubWVudCBhbmQgb2YgaGVscCB0ZXh0XG4gIC8vIGFuZCBvdGhlciBjb250ZW50IGJlbG93IGl0ZW1zXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94IHtcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKSk7XG4gIH1cblxuICAvLyBNYWtlIGZvcm0gZ3JvdXBzIGJlaGF2ZSBsaWtlIHJvd3NcbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93O1xuICB9XG5cbiAgLy8gUmVzZXQgc3BhY2luZyBhbmQgcmlnaHQgYWxpZ24gbGFiZWxzLCBidXQgc2NvcGUgdG8gbWVkaWEgcXVlcmllcyBzbyB0aGF0XG4gIC8vIGxhYmVscyBvbiBuYXJyb3cgdmlld3BvcnRzIHN0YWNrIHRoZSBzYW1lIGFzIGEgZGVmYXVsdCBmb3JtIGV4YW1wbGUuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIFZhbGlkYXRpb24gc3RhdGVzXG4gIC8vXG4gIC8vIFJlcG9zaXRpb24gdGhlIGljb24gYmVjYXVzZSBpdCdzIG5vdyB3aXRoaW4gYSBncmlkIGNvbHVtbiBhbmQgY29sdW1ucyBoYXZlXG4gIC8vIGBwb3NpdGlvbjogcmVsYXRpdmU7YCBvbiB0aGVtLiBBbHNvIGFjY291bnRzIGZvciB0aGUgZ3JpZCBndXR0ZXIgcGFkZGluZy5cbiAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICByaWdodDogZmxvb3IobWF0aC5kaXYoJGdyaWQtZ3V0dGVyLXdpZHRoLCAyKSk7XG4gIH1cblxuICAvLyBGb3JtIGdyb3VwIHNpemVzXG4gIC8vXG4gIC8vIFF1aWNrIHV0aWxpdHkgY2xhc3MgZm9yIGFwcGx5aW5nIGAuaW5wdXQtbGdgIGFuZCBgLmlucHV0LXNtYCBzdHlsZXMgdG8gdGhlXG4gIC8vIGlucHV0cyBhbmQgbGFiZWxzIHdpdGhpbiBhIGAuZm9ybS1ncm91cGAuXG4gIC5mb3JtLWdyb3VwLWxnIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWdyb3VwLXNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBmb3Jtcy5sZXNzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxuLy8gYW5kIHN1Y2Nlc3Nlcy5cblxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCR0ZXh0LWNvbG9yOiAjNTU1LCAkYm9yZGVyLWNvbG9yOiAjY2NjLCAkYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxuICAuaGVscC1ibG9jayxcbiAgLmNvbnRyb2wtbGFiZWwsXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lLFxuICAmLnJhZGlvIGxhYmVsLFxuICAmLmNoZWNrYm94IGxhYmVsLFxuICAmLnJhZGlvLWlubGluZSBsYWJlbCxcbiAgJi5jaGVja2JveC1pbmxpbmUgbGFiZWwgIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgfVxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRjb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cykge1xuICAkY29sb3ItcmdiYTogcmdiYShyZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgc2VsZWN0I3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEjeyRwYXJlbnR9LFxuICBzZWxlY3RbbXVsdGlwbGVdI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvL1xuLy8gSW5wdXQgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZHJvcGRvd25zXG4gIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyAvLyBwcmV2ZW50IGlucHV0IGdyb3VwcyBmcm9tIGluaGVyaXRpbmcgYm9yZGVyIHN0eWxlcyBmcm9tIHRhYmxlIGNlbGxzIHdoZW4gcGxhY2VkIHdpdGhpbiBhIHRhYmxlXG5cbiAgLy8gVW5kbyBwYWRkaW5nIGFuZCBmbG9hdCBvZiBncmlkIGNsYXNzZXNcbiAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbnB1dCBpcyBhbHdheXMgYWJvdmUgdGhlICphcHBlbmRlZCogYWRkb24gYnV0dG9uIGZvclxuICAgIC8vIHByb3BlciBib3JkZXIgY29sb3JzLlxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLy8gSUU5IGZ1YmFycyB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGluIHRleHQgaW5wdXRzIGFuZCB0aGUgYXJyb3dzIG9uXG4gICAgLy8gc2VsZWN0IGVsZW1lbnRzIGluIGlucHV0IGdyb3Vwcy4gVG8gZml4IGl0LCB3ZSBmbG9hdCB0aGUgaW5wdXQuIERldGFpbHM6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU2MSNpc3N1ZWNvbW1lbnQtMjg5MzY4NTVcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG59XG5cbi8vIFNpemluZyBvcHRpb25zXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5pbnB1dC1sZztcbn1cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIEBleHRlbmQgLmlucHV0LXNtO1xufVxuXG5cbi8vIERpc3BsYXkgYXMgdGFibGUtY2VsbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0bixcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcblxuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbi8vIEFkZG9uIGFuZCBhZGRvbiB3cmFwcGVyIGZvciBidXR0b25zXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgd2lkdGg6IDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBNYXRjaCB0aGUgaW5wdXRzXG59XG5cbi8vIFRleHQgaW5wdXQgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG5cbiAgLy8gU2l6aW5nXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsO1xuICB9XG4gICYuaW5wdXQtbGcge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlO1xuICB9XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4vLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi8vIEJ1dHRvbiBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEphbmtpbHkgcHJldmVudCBpbnB1dCBidXR0b24gZ3JvdXBzIGZyb20gd3JhcHBpbmcgd2l0aCBgd2hpdGUtc3BhY2VgIGFuZFxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIHNwYWNpbmcsIHBvc2l0aW9uIGZvciBicmluZ2luZyBob3ZlcmVkL2ZvY3VzZWQvYWN0aXZlZFxuICAvLyBlbGVtZW50IGFib3ZlIHRoZSBzaWJsaW5ncy5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIDFweCBib3JkZXIgYmV0d2VlbiB0aGUgdHdvXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbiIsIi8vXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBGb3IgaW5wdXQuYnRuXG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1iYXNlLCAkbGluZS1oZWlnaHQtYmFzZSwgJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICBAaW5jbHVkZSB1c2VyLXNlbGVjdChub25lKTtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBAaW5jbHVkZSB0YWItZm9jdXM7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6ICRidG4tZGVmYXVsdC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoLjY1KTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmIHRvIGEuYnRuXG59XG5cbmEuYnRuIHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tZGVmYXVsdCB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGVmYXVsdC1jb2xvciwgJGJ0bi1kZWZhdWx0LWJnLCAkYnRuLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5idG4tcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1jb2xvciwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcbn1cbi8vIFN1Y2Nlc3MgYXBwZWFycyBhcyBncmVlblxuLmJ0bi1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWNvbG9yLCAkYnRuLXN1Y2Nlc3MtYmcsICRidG4tc3VjY2Vzcy1ib3JkZXIpO1xufVxuLy8gSW5mbyBhcHBlYXJzIGFzIGJsdWUtZ3JlZW5cbi5idG4taW5mbyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4taW5mby1jb2xvciwgJGJ0bi1pbmZvLWJnLCAkYnRuLWluZm8tYm9yZGVyKTtcbn1cbi8vIFdhcm5pbmcgYXBwZWFycyBhcyBvcmFuZ2Vcbi5idG4td2FybmluZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4td2FybmluZy1jb2xvciwgJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYm9yZGVyKTtcbn1cbi8vIERhbmdlciBhbmQgZXJyb3IgYXBwZWFyIGFzIHJlZFxuLmJ0bi1kYW5nZXIge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRhbmdlci1jb2xvciwgJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJvcmRlcik7XG59XG5cblxuLy8gTGluayBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJ1dHRvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1sZyB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgZXZlbi1udW1iZXJlZCBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gbGFyZ2UgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRsaW5lLWhlaWdodC1sYXJnZSwgJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cbi5idG4tc20ge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIHByb3BlciBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gc21hbGwgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cbi5idG4teHMge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZy14cy12ZXJ0aWNhbCwgJHBhZGRpbmcteHMtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkYnRuLWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuXG5cbi8vIEJsb2NrIGJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDE3JSk7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gT3BhY2l0eVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICAkb3BhY2l0eS1pZTogKCRvcGFjaXR5ICogMTAwKTsgIC8vIElFOCBmaWx0ZXJcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG59XG4iLCIvL1xuLy8gUGFnaW5hdGlvbiAobXVsdGlwbGUgcGFnZXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgMDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IC8vIFJlbW92ZSBsaXN0LXN0eWxlIGFuZCBibG9jay1sZXZlbCBkZWZhdWx0c1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIENvbGxhcHNlIHdoaXRlLXNwYWNlXG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXI7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAuYWN0aXZlID4gYSxcbiAgPiAuYWN0aXZlID4gc3BhbiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgPiAuZGlzYWJsZWQge1xuICAgID4gc3BhbixcbiAgICA+IHNwYW46aG92ZXIsXG4gICAgPiBzcGFuOmZvY3VzLFxuICAgID4gYSxcbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTGFyZ2Vcbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cblxuLy8gU21hbGxcbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFsZXJ0IHtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRhbGVydC1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4gIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0OyAvLyBTcGVjaWZpZWQgZm9yIHRoZSBoNCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgfVxuXG4gIC8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4gIC5hbGVydC1saW5rIHtcbiAgICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG4gIH1cblxuICAvLyBJbXByb3ZlIGFsaWdubWVudCBhbmQgc3BhY2luZyBvZiBpbm5lciBjb250ZW50XG4gID4gcCxcbiAgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gID4gcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLy8gVGhlIG1pc3NwZWxsZWQgLmFsZXJ0LWRpc21pc3NhYmxlIHdhcyBkZXByZWNhdGVkIGluIDMuMi4wLlxuLmFsZXJ0LWRpc21pc3NhYmxlLFxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogKCRhbGVydC1wYWRkaW5nICsgMjApO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICByaWdodDogLTIxcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtc3VjY2Vzcy1iZywgJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyLCAkYWxlcnQtc3VjY2Vzcy10ZXh0KTtcbn1cblxuLmFsZXJ0LWluZm8ge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1pbmZvLWJnLCAkYWxlcnQtaW5mby1ib3JkZXIsICRhbGVydC1pbmZvLXRleHQpO1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LXdhcm5pbmctYmcsICRhbGVydC13YXJuaW5nLWJvcmRlciwgJGFsZXJ0LXdhcm5pbmctdGV4dCk7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1kYW5nZXItYmcsICRhbGVydC1kYW5nZXItYm9yZGVyLCAkYWxlcnQtZGFuZ2VyLXRleHQpO1xufVxuIiwiLy8gQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkdGV4dC1jb2xvcikge1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkdGV4dC1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy9cbi8vIENsb3NlIGljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIEBpbmNsdWRlIG9wYWNpdHkoLjIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC41KTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBidXR0b24mIHRvIGJ1dHRvbi5jbG9zZVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBMaXN0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyO1xuXG4gIC8vIFJvdW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBpdGVtc1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmLmRpc2FibGVkLFxuICAmLmRpc2FibGVkOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBBY3RpdmUgY2xhc3Mgb24gaXRlbSBpdHNlbGYsIG5vdCBwYXJlbnRcbiAgJi5hY3RpdmUsXG4gICYuYWN0aXZlOmhvdmVyLFxuICAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI7XG5cbiAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiBzbWFsbCxcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZSBpdGVtcy5cbi8vIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2hvd2luZyBzZWxlY3RlZCBpdGVtcy5cblxuYS5saXN0LWdyb3VwLWl0ZW0sXG5idXR0b24ubGlzdC1ncm91cC1pdGVtIHtcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstY29sb3I7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG59XG5cbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHN1Y2Nlc3MsICRzdGF0ZS1zdWNjZXNzLWJnLCAkc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGluZm8sICRzdGF0ZS1pbmZvLWJnLCAkc3RhdGUtaW5mby10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHdhcm5pbmcsICRzdGF0ZS13YXJuaW5nLWJnLCAkc3RhdGUtd2FybmluZy10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGRhbmdlciwgJHN0YXRlLWRhbmdlci1iZywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuXG4vLyBDdXN0b20gY29udGVudCBvcHRpb25zXG4vL1xuLy8gRXh0cmEgY2xhc3NlcyBmb3IgY3JlYXRpbmcgd2VsbC1mb3JtYXR0ZWQgY29udGVudCB3aXRoaW4gYC5saXN0LWdyb3VwLWl0ZW1gcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYsIGJ1dHRvbiYgdG8gYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LCBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfVxuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSxcbiAgICAmLmFjdGl2ZTpob3ZlcixcbiAgICAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmIHRvIGEubGFiZWxcblxuICAvLyBFbXB0eSBsYWJlbHMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGxhYmVscyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4vLyBBZGQgaG92ZXIgZWZmZWN0cywgYnV0IG9ubHkgZm9yIGxpbmtzXG5hLmxhYmVsIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsYWJlbC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gQ29sb3JzXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBsYWJlbHMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpXG5cbi5sYWJlbC1kZWZhdWx0IHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtZGVmYXVsdC1iZyk7XG59XG5cbi5sYWJlbC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtcHJpbWFyeS1iZyk7XG59XG5cbi5sYWJlbC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtc3VjY2Vzcy1iZyk7XG59XG5cbi5sYWJlbC1pbmZvIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtaW5mby1iZyk7XG59XG5cbi5sYWJlbC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtd2FybmluZy1iZyk7XG59XG5cbi5sYWJlbC1kYW5nZXIge1xuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1kYW5nZXItYmcpO1xufVxuIiwiLy8gTGFiZWxzXG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gUGFuZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5wYW5lbCB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJHBhbmVsLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA1KSk7XG59XG5cbi8vIFBhbmVsIGNvbnRlbnRzXG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6ICRwYW5lbC1ib2R5LXBhZGRpbmc7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBPcHRpb25hbCBoZWFkaW5nXG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6ICRwYW5lbC1oZWFkaW5nLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFdpdGhpbiBoZWFkaW5nLCBzdHJpcCBhbnkgYGgqYCB0YWcgb2YgaXRzIGRlZmF1bHQgbWFyZ2lucyBmb3Igc3BhY2luZy5cbi5wYW5lbC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4xMjUpKTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgPiBhLFxuICA+IHNtYWxsLFxuICA+IC5zbWFsbCxcbiAgPiBzbWFsbCA+IGEsXG4gID4gLnNtYWxsID4gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgZm9vdGVyIChzdGF5cyBncmF5IGluIGV2ZXJ5IG1vZGlmaWVyIGNsYXNzKVxuLnBhbmVsLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRwYW5lbC1mb290ZXItcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWZvb3Rlci1iZztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRwYW5lbC1pbm5lci1ib3JkZXI7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbn1cblxuXG4vLyBMaXN0IGdyb3VwcyBpbiBwYW5lbHNcbi8vXG4vLyBCeSBkZWZhdWx0LCBzcGFjZSBvdXQgbGlzdCBncm91cCBjb250ZW50IGZyb20gcGFuZWwgaGVhZGluZ3MgdG8gYWNjb3VudCBmb3Jcbi8vIGFueSBraW5kIG9mIGN1c3RvbSBjb250ZW50IGJldHdlZW4gdGhlIHR3by5cblxuLnBhbmVsIHtcbiAgPiAubGlzdC1ncm91cCxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cbi8vIENvbGxhcHNlIHNwYWNlIGJldHdlZW4gd2hlbiB0aGVyZSdzIG5vIGFkZGl0aW9uYWwgY29udGVudC5cbi5wYW5lbC1oZWFkaW5nICsgLmxpc3QtZ3JvdXAge1xuICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG59XG4ubGlzdC1ncm91cCArIC5wYW5lbC1mb290ZXIge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuXG4vLyBUYWJsZXMgaW4gcGFuZWxzXG4vL1xuLy8gUGxhY2UgYSBub24tYm9yZGVyZWQgYC50YWJsZWAgd2l0aGluIGEgcGFuZWwgKG5vdCB3aXRoaW4gYSBgLnBhbmVsLWJvZHlgKSBhbmRcbi8vIHdhdGNoIGl0IGdvIGZ1bGwgd2lkdGguXG5cbi5wYW5lbCB7XG4gID4gLnRhYmxlLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLFxuICA+IC5wYW5lbC1jb2xsYXBzZSA+IC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGNhcHRpb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhbmVsLWJvZHktcGFkZGluZztcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhbmVsLWJvZHktcGFkZGluZztcbiAgICB9XG4gIH1cbiAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgPiAudGFibGU6Zmlyc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICAgID4gdGhlYWQ6Zmlyc3QtY2hpbGQsXG4gICAgPiB0Ym9keTpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gID4gLnRhYmxlOmxhc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgICA+IHRib2R5Omxhc3QtY2hpbGQsXG4gICAgPiB0Zm9vdDpsYXN0LWNoaWxkIHtcbiAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgICB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAucGFuZWwtYm9keSArIC50YWJsZSxcbiAgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLFxuICA+IC50YWJsZSArIC5wYW5lbC1ib2R5LFxuICA+IC50YWJsZS1yZXNwb25zaXZlICsgLnBhbmVsLWJvZHkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gID4gLnRhYmxlLWJvcmRlcmVkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0ciB7XG4gICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5IHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cblxuLy8gQ29sbGFwc2libGUgcGFuZWxzIChha2EsIGFjY29yZGlvbilcbi8vXG4vLyBXcmFwIGEgc2VyaWVzIG9mIHBhbmVscyBpbiBgLnBhbmVsLWdyb3VwYCB0byB0dXJuIHRoZW0gaW50byBhbiBhY2NvcmRpb24gd2l0aFxuLy8gdGhlIGhlbHAgb2Ygb3VyIGNvbGxhcHNlIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ucGFuZWwtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG5cbiAgLy8gVGlnaHRlbiB1cCBtYXJnaW4gc28gaXQncyBvbmx5IGJldHdlZW4gcGFuZWxzXG4gIC5wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkcGFuZWwtYm9yZGVyLXJhZGl1cztcblxuICAgICsgLnBhbmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtaGVhZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHksXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFuZWwtaW5uZXItYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9uc1xuLnBhbmVsLWRlZmF1bHQge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1kZWZhdWx0LWJvcmRlciwgJHBhbmVsLWRlZmF1bHQtdGV4dCwgJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZywgJHBhbmVsLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5wYW5lbC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtcHJpbWFyeS1ib3JkZXIsICRwYW5lbC1wcmltYXJ5LXRleHQsICRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmcsICRwYW5lbC1wcmltYXJ5LWJvcmRlcik7XG59XG4ucGFuZWwtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyLCAkcGFuZWwtc3VjY2Vzcy10ZXh0LCAkcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnLCAkcGFuZWwtc3VjY2Vzcy1ib3JkZXIpO1xufVxuLnBhbmVsLWluZm8ge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1pbmZvLWJvcmRlciwgJHBhbmVsLWluZm8tdGV4dCwgJHBhbmVsLWluZm8taGVhZGluZy1iZywgJHBhbmVsLWluZm8tYm9yZGVyKTtcbn1cbi5wYW5lbC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtd2FybmluZy1ib3JkZXIsICRwYW5lbC13YXJuaW5nLXRleHQsICRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmcsICRwYW5lbC13YXJuaW5nLWJvcmRlcik7XG59XG4ucGFuZWwtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtZGFuZ2VyLWJvcmRlciwgJHBhbmVsLWRhbmdlci10ZXh0LCAkcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmcsICRwYW5lbC1kYW5nZXItYm9yZGVyKTtcbn1cbiIsIi8vIFBhbmVsc1xuXG5AbWl4aW4gcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cHM6Ly9nZXRib290c3RyYXAuY29tL2RvY3MvMy40L2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoXG4vLyBTb3VyY2U6IGh0dHBzOi8vdGlta2FkbGVjLmNvbS8yMDEzLzAxL3dpbmRvd3MtcGhvbmUtOC1hbmQtZGV2aWNlLXdpZHRoL1xuLy8gU291cmNlOiBodHRwczovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkBhdC1yb290IHtcbiAgQC1tcy12aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbiAgfVxufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXhzJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1zbScpO1xufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbGcnKTtcbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi14cycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1zbScpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1tZCcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbGcnKTtcbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtcHJpbnQnKTtcbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLXByaW50Jyk7XG59XG4iLCIvLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlI3skcGFyZW50fSAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCN7JHBhcmVudH0sXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5jYWtlLWRlYnVnLW91dHB1dCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xufVxuIiwiaDYge1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuYSwgYnV0dG9uLmJ0bi1saW5rIHtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLmJ0bi1saW5rIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMHB4O1xufVxuXG5hYmJyW3RpdGxlXSwgYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ueGRlYnVnLXZhci1kdW1wIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuIiwiaHIge1xuICAgICYuaHIxIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgJi5ocjIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICB9XG59XG4iLCJAZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL2ljb25zMTc2MDcwNjQyNjEwMy5lb3QnKTtcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL2ljb25zMTc2MDcwNjQyNjEwMy5lb3Q/I2llZml4JykgZm9ybWF0KCdlb3QnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL2ljb25zMTc2MDcwNjQyNjEwMy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG5cdFx0dXJsKCcuLi9mb250cy9pY29uczE3NjA3MDY0MjYxMDMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxufVxuXG4kaWNvbnM6IChcblxuICBhbmdsZS1kb3duOiBcIlxcRTAwMVwiLFxuXG4gIGFuZ2xlLXJpZ2h0OiBcIlxcRTAwMlwiLFxuXG4gIGFycm93LWxlZnQ6IFwiXFxFMDAzXCIsXG5cbiAgYXJyb3ctcmlnaHQ6IFwiXFxFMDA0XCIsXG5cbiAgYmVsbDogXCJcXEUwMDVcIixcblxuICBjaGVja21hcms6IFwiXFxFMDA2XCIsXG5cbiAgY2xvY2s6IFwiXFxFMDA3XCIsXG5cbiAgY2xvc2U6IFwiXFxFMDA4XCIsXG5cbiAgY29nczogXCJcXEUwMDlcIixcblxuICBjb2luLWV1cm86IFwiXFxFMDBBXCIsXG5cbiAgY29weTogXCJcXEUwMEJcIixcblxuICBldXJvOiBcIlxcRTAwQ1wiLFxuXG4gIGV5ZS1oaWRlOiBcIlxcRTAwRFwiLFxuXG4gIGV5ZTogXCJcXEUwMEVcIixcblxuICBmaWxlLWNvZGU6IFwiXFxFMDBGXCIsXG5cbiAgZmlsZS1leGNlbDogXCJcXEUwMTBcIixcblxuICBmaWxlLXBkZi1zb2xpZDogXCJcXEUwMTFcIixcblxuICBmaWxlLXBkZjogXCJcXEUwMTJcIixcblxuICBpbnZvaWNlLWJhbjogXCJcXEUwMTNcIixcblxuICBpbnZvaWNlLWRvbGxhcjogXCJcXEUwMTRcIixcblxuICBsZXZlbC11cDogXCJcXEUwMTVcIixcblxuICBsaXN0OiBcIlxcRTAxNlwiLFxuXG4gIGxvY2tlZDogXCJcXEUwMTdcIixcblxuICBtYXNrOiBcIlxcRTAxOFwiLFxuXG4gIG1pbnVzOiBcIlxcRTAxOVwiLFxuXG4gIG1vdmUtZG93bjogXCJcXEUwMUFcIixcblxuICBtb3ZlLXVwOiBcIlxcRTAxQlwiLFxuXG4gIG9wZW46IFwiXFxFMDFDXCIsXG5cbiAgcGFwZXItcGxhbmU6IFwiXFxFMDFEXCIsXG5cbiAgcGVuY2lsOiBcIlxcRTAxRVwiLFxuXG4gIHBsdXM6IFwiXFxFMDFGXCIsXG5cbiAgcHJpbnQ6IFwiXFxFMDIwXCIsXG5cbiAgcXVlc3Rpb246IFwiXFxFMDIxXCIsXG5cbiAgcmVjeWNsZTogXCJcXEUwMjJcIixcblxuICByZXBlYXQ6IFwiXFxFMDIzXCIsXG5cbiAgc2VhcmNoOiBcIlxcRTAyNFwiLFxuXG4gIHNpZ24tb3V0OiBcIlxcRTAyNVwiLFxuXG4gIHNpdGVtYXA6IFwiXFxFMDI2XCIsXG5cbiAgc29ydC1hc2M6IFwiXFxFMDI3XCIsXG5cbiAgc29ydC1kZXNjOiBcIlxcRTAyOFwiLFxuXG4gIHN0b3B3YXRjaDogXCJcXEUwMjlcIixcblxuICB0b2dnbGUtb2ZmOiBcIlxcRTAyQVwiLFxuXG4gIHRvZ2dsZS1vbjogXCJcXEUwMkJcIixcblxuICB0cmFzaDogXCJcXEUwMkNcIixcblxuICB1bmxvY2tlZDogXCJcXEUwMkRcIixcblxuICB1cGxvYWQtc29saWQ6IFwiXFxFMDJFXCIsXG5cbiAgdXNlcjogXCJcXEUwMkZcIixcblxuICB3YXJuaW5nOiBcIlxcRTAzMFwiLFxuXG4pO1xuXG5AZnVuY3Rpb24gZ2V0SWNvbkNoYXIoJGljb24pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRpY29ucywgJGljb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGljb25zLCAkaWNvbik7XG4gIH1cbn1cblxuLmljb24ge1xuICAgIGZvbnQtZmFtaWx5OiBcImljb25zXCI7XG59XG5cbltjbGFzc3w9aWNvbl17XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC4xZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjNlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGljb25zO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgJi5oaWRlLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuLmljb24tYW5nbGUtZG93bjpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKGFuZ2xlLWRvd24pfVxuXG4uaWNvbi1hbmdsZS1yaWdodDpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKGFuZ2xlLXJpZ2h0KX1cblxuLmljb24tYXJyb3ctbGVmdDpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKGFycm93LWxlZnQpfVxuXG4uaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKGFycm93LXJpZ2h0KX1cblxuLmljb24tYmVsbDpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKGJlbGwpfVxuXG4uaWNvbi1jaGVja21hcms6YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihjaGVja21hcmspfVxuXG4uaWNvbi1jbG9jazpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKGNsb2NrKX1cblxuLmljb24tY2xvc2U6YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihjbG9zZSl9XG5cbi5pY29uLWNvZ3M6YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihjb2dzKX1cblxuLmljb24tY29pbi1ldXJvOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIoY29pbi1ldXJvKX1cblxuLmljb24tY29weTpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKGNvcHkpfVxuXG4uaWNvbi1ldXJvOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIoZXVybyl9XG5cbi5pY29uLWV5ZS1oaWRlOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIoZXllLWhpZGUpfVxuXG4uaWNvbi1leWU6YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihleWUpfVxuXG4uaWNvbi1maWxlLWNvZGU6YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihmaWxlLWNvZGUpfVxuXG4uaWNvbi1maWxlLWV4Y2VsOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIoZmlsZS1leGNlbCl9XG5cbi5pY29uLWZpbGUtcGRmLXNvbGlkOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIoZmlsZS1wZGYtc29saWQpfVxuXG4uaWNvbi1maWxlLXBkZjpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKGZpbGUtcGRmKX1cblxuLmljb24taW52b2ljZS1iYW46YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihpbnZvaWNlLWJhbil9XG5cbi5pY29uLWludm9pY2UtZG9sbGFyOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIoaW52b2ljZS1kb2xsYXIpfVxuXG4uaWNvbi1sZXZlbC11cDpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKGxldmVsLXVwKX1cblxuLmljb24tbGlzdDpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKGxpc3QpfVxuXG4uaWNvbi1sb2NrZWQ6YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihsb2NrZWQpfVxuXG4uaWNvbi1tYXNrOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIobWFzayl9XG5cbi5pY29uLW1pbnVzOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIobWludXMpfVxuXG4uaWNvbi1tb3ZlLWRvd246YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihtb3ZlLWRvd24pfVxuXG4uaWNvbi1tb3ZlLXVwOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIobW92ZS11cCl9XG5cbi5pY29uLW9wZW46YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihvcGVuKX1cblxuLmljb24tcGFwZXItcGxhbmU6YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihwYXBlci1wbGFuZSl9XG5cbi5pY29uLXBlbmNpbDpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKHBlbmNpbCl9XG5cbi5pY29uLXBsdXM6YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihwbHVzKX1cblxuLmljb24tcHJpbnQ6YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihwcmludCl9XG5cbi5pY29uLXF1ZXN0aW9uOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIocXVlc3Rpb24pfVxuXG4uaWNvbi1yZWN5Y2xlOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIocmVjeWNsZSl9XG5cbi5pY29uLXJlcGVhdDpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKHJlcGVhdCl9XG5cbi5pY29uLXNlYXJjaDpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKHNlYXJjaCl9XG5cbi5pY29uLXNpZ24tb3V0OmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIoc2lnbi1vdXQpfVxuXG4uaWNvbi1zaXRlbWFwOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIoc2l0ZW1hcCl9XG5cbi5pY29uLXNvcnQtYXNjOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIoc29ydC1hc2MpfVxuXG4uaWNvbi1zb3J0LWRlc2M6YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihzb3J0LWRlc2MpfVxuXG4uaWNvbi1zdG9wd2F0Y2g6YmVmb3JlIHtjb250ZW50OiBnZXRJY29uQ2hhcihzdG9wd2F0Y2gpfVxuXG4uaWNvbi10b2dnbGUtb2ZmOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIodG9nZ2xlLW9mZil9XG5cbi5pY29uLXRvZ2dsZS1vbjpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKHRvZ2dsZS1vbil9XG5cbi5pY29uLXRyYXNoOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIodHJhc2gpfVxuXG4uaWNvbi11bmxvY2tlZDpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKHVubG9ja2VkKX1cblxuLmljb24tdXBsb2FkLXNvbGlkOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIodXBsb2FkLXNvbGlkKX1cblxuLmljb24tdXNlcjpiZWZvcmUge2NvbnRlbnQ6IGdldEljb25DaGFyKHVzZXIpfVxuXG4uaWNvbi13YXJuaW5nOmJlZm9yZSB7Y29udGVudDogZ2V0SWNvbkNoYXIod2FybmluZyl9XG4iLCIuY2lyY2xlZC1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbjogMCAuMWVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBtaW4td2lkdGg6IDIwcHg7XG5cbiAgICAmLmNpcmNsZWQtaWNvbi1wcmltYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYnJhbmQtcHJpbWFyeSwgJGJyYW5kLXByaW1hcnksICNmZmYpO1xuICAgIH1cblxuICAgICYuY2lyY2xlZC1pY29uLXN1Y2Nlc3Mge1xuICAgICAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xuICAgIH1cblxuICAgICYuY2lyY2xlZC1pY29uLWluZm8ge1xuICAgICAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1pbmZvLWJnLCAkYWxlcnQtaW5mby1ib3JkZXIsICRhbGVydC1pbmZvLXRleHQpO1xuICAgIH1cblxuICAgICYuY2lyY2xlZC1pY29uLXdhcm5pbmcge1xuICAgICAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC13YXJuaW5nLWJnLCAkYWxlcnQtd2FybmluZy1ib3JkZXIsICRhbGVydC13YXJuaW5nLXRleHQpO1xuICAgIH1cblxuICAgICYuY2lyY2xlZC1pY29uLWRhbmdlciB7XG4gICAgICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWRhbmdlci1iZywgJGFsZXJ0LWRhbmdlci1ib3JkZXIsICRhbGVydC1kYW5nZXItdGV4dCk7XG4gICAgfVxufVxuIiwiLmNhcmQge1xuICBib3gtc2hhZG93OiAxMHB4IDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIC4yKTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIHBhZGRpbmc6IDJlbTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblxuICAmLmNhcmQtZGFuZ2VyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJyYW5kLWRhbmdlcjtcblxuICAgICAgaDEsIGgxIHNtYWxsLFxuICAgICAgaDIge1xuICAgICAgICAgIGNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xuICAgICAgfVxuICB9XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgaDEsIGgyLCBoMyB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMzEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmljb246YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC4xZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjNlbTtcbiAgICB9XG59XG5cbi5jYXJkLWJsb2NrIHtcbiAgICBtYXJnaW46IDJlbSAwO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuZGFzaGJvYXJkICYgLmZsZXgtY29sIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbn1cbiIsIi50YWJsZSB7XG4gICAgdGhlYWQge1xuICAgICAgICB0aCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgJi5hc2MsICYuZGVzYyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAuMmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29ucyc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFzYzpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBnZXRJY29uQ2hhcignc29ydC1hc2MnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmRlc2M6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogZ2V0SWNvbkNoYXIoJ3NvcnQtZGVzYycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0ZC5udW1lcmljLCB0aC5udW1lcmljIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgICAgdHIuZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgIH1cblxuICAgICAgICB0ZC5hY3Rpb25zLCB0ZC5zdGF0dXMge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmhpZGUtdGV4dDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IC4yZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlbY2xhc3N8PWljb25dIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5oaWRlLXRleHQ7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAuMmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0ZC5zdGF0dXMgKyB0ZC5hY3Rpb25zIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIHRkLm51bWVyaWMsIHRoLm51bWVyaWMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aCBzbWFsbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG50YWJsZSB7XG4gICAgLmluc3VyYW5jZXMuaW5kZXggJiB7XG4gICAgICAgIEBpbmNsdWRlIGZpeHRhYmxlKDEwJSwgYXV0bywgMjAlLCAyMCUpO1xuICAgIH1cbiAgICAucHJhY3RpY2VzLmluZGV4ICYge1xuICAgICAgICBAaW5jbHVkZSBmaXh0YWJsZShhdXRvLCAxMiUsIDEwJSwgMTAlLCA3JSwgMTAlKTtcbiAgICB9XG4gICAgLm9wc3MuaW5kZXggJixcbiAgICAuaWNkcy5pbmRleCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZml4dGFibGUoMTAlLCBhdXRvKTtcbiAgICB9XG59XG4iLCJAbWl4aW4gZml4dGFibGUgKCR3aWR0aC4uLikge1xuICAgICRpbmRleDogMTtcbiAgICBAZWFjaCAkYSBpbiAkd2lkdGgge1xuICAgICAgICB0aDpudGgtY2hpbGQoI3skaW5kZXh9KSB7IHdpZHRoOiAkYTsgfVxuICAgICAgICAkaW5kZXg6ICRpbmRleCArMTtcbiAgICB9XG59XG4iLCIudG9vbHRpcC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IC41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLjJlbTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJlt4LXBsYWNlbWVudD10b3BdIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIDphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbeC1wbGFjZW1lbnQ9Ym90dG9tXSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICA6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC02cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW3gtcGxhY2VtZW50PWxlZnRdIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIDphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM0MDY4QUE7XG4gICAgICAgICAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbeC1wbGFjZW1lbnQ9cmlnaHRdIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIDphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAjNDA2OEFBO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmFsZXJ0IHtcbiAgICBib3gtc2hhZG93OiAxMHB4IDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIC4yKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogNXB4O1xuXG4gICAgLmNvbnRlbnQgLmNhcmQgJiB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxufVxuIiwiLnNpZGVwYW5lbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYm94LXNoYWRvdzogMTBweCAxMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMik7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zaWRlcGFuZWwub3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiA1MHZ3O1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICArIC5iYWNrZHJvcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjUpO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICB9XG5cbiAgICBbZGF0YS1zaWRlcGFuZWwtY29udGVudF0ge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbn1cblxuW2RhdGEtc2lkZXBhbmVsLWNvbnRlbnRdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbiIsInNlbGVjdFttdWx0aXBsZV0sIHNlbGVjdC5zaW1wbGUtYm94IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubXVsdGlzZWxlY3Qge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC4zZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgLnNlbGVjdGFibGVMaXN0LCAuc2VsZWN0aW9uTGlzdCB7XG4gICAgICAgIGhlaWdodDogMTBlbTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMpO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuM2VtIDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oYXMtZXJyb3IgJntcbiAgICAgICAgLnNlbGVjdGFibGVMaXN0LCAuc2VsZWN0aW9uTGlzdCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNhOTQ0NDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcblxuICAgICAgICArIC5zZWxlY3RhYmxlTGlzdCwgKyAuc2VsZWN0aW9uTGlzdCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJbY2xhc3N8PWNvbC1dIHtcbiAgICAucmFkaW8sIC5jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IGZsb29yKCRmb250LXNpemUtYmFzZSAqIDIpO1xuICAgIH1cbn1cblxuZmllbGRzZXQge1xuICAgIG1hcmdpbi1ib3R0b206IGZsb29yKCRmb250LXNpemUtYmFzZSAqIDIpO1xufVxuXG4uZm9ybS1ncm91cC5wYXNzd29yZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmJ0biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbnMnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwgfiAuYnRuIHtcbiAgICAgICAgdG9wOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgNSk7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcblxuICAgICAgICAmW3R5cGU9XCJwYXNzd29yZFwiXSArIC5idG46YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGdldEljb25DaGFyKCdleWUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbdHlwZT1cInRleHRcIl0gKyAuYnRuOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBnZXRJY29uQ2hhcignZXllLWhpZGUnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gY2hlY2tib3ggYnV0dG9uXG4uY2hlY2tib3gtYnRuLWxpc3Qge1xuICAgIC5jaGVja2JveCB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmJ0bi1kZWZhdWx0O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJ0bi1kZWZhdWx0LWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIzcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmJ0bi1wcmltYXJ5O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyNzE0XCI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5jaGVja2JveC1idG4tbGlzdC5oYXMtZXJyb3Ige1xuICAgIC5jaGVja2JveCB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2E5NDQ0MjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gcmFkaW8vY2hlY2tib3ggYnV0dG9uIGdyb3Vwc1xuLnJhZGlvLWJ0bi1ncm91cCwgLmNoZWNrYm94LWJ0bi1ncm91cCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIHNwYW4uYnRuIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmJ0bi1kZWZhdWx0O1xuICAgICAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogODBweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyM3B4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgc3Bhbi5idG4ge1xuICAgICAgICAgICAgQGV4dGVuZCAuYnRuLXByaW1hcnk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxN3B4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyNzE0XCI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCB7XG4gICAgICAgICAgICArIHNwYW4uYnRuIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5kaXNhYmxlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkgc3Bhbi5idG4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgc3Bhbi5idG4ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSBzcGFuLmJ0biB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSBzcGFuLmJ0biB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cbi8qIHN1Z2dlc3QgbGlzdHMgKi9cbi5mb3JtLWNvbnRyb2wge1xuICAgIH4gLmlucHV0LXN1Z2dlc3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMzNweDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE3NSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICArIC5pbnB1dC1ncm91cC1hZGRvbiArIC5pbnB1dC1zdWdnZXN0LCAuaW5wdXQtZ3JvdXAtYWRkb24gKyAmICsgLmlucHV0LXN1Z2dlc3Qge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgfVxuXG4gICAgJi5pbnB1dC10YWJsZS1kYXRlIHtcbiAgICAgICAgQGV4dGVuZCAuaW5wdXQtc207XG5cbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8qIGbDvHIgRWluZ2FiZS1FbGVtZW50ZSwgZGllIHdpZSBkaWUgS3Jhbmtlbmthc3NlbnN1Y2hmZWxkZXJcbiAgICBudXIgenVyIFN0ZXVlcnVuZyBkZXMgRm9ybXVsYXJzIGRpZW5lbiB1bmQgbmljaHQgZ2VzcGVpY2hlcnQgd2VyZGVuICovXG4gICAgJi5pbnB1dC12b2lkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICB9XG59XG5cbi5zdWdnZXN0LXJlc3VsdCB7XG4gICAgQGV4dGVuZCAuZm9ybS1jb250cm9sO1xuICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC1zdGF0aWM7XG5cbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIGZpbGUgY29udGVudCByZWFkb25seSB0ZXh0YXJlYXNcbnRleHRhcmVhW3JlYWRvbmx5XS5maWxlLWNvbnRlbnQge1xuICAgIGhlaWdodDogNDAwcHg7XG5cbiAgICAmLCAmLXNtYWxsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgfVxuXG4gICAgJi1zbWFsbCB7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgfVxufVxuXG4vLyBmaWxlIHVwbG9hZFxuLmZvcm0tZ3JvdXAuZmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgPiBpbnB1dFt0eXBlPWZpbGVdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi41ZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnB1dC1iZztcbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29ucyc7XG4gICAgICAgICAgICBjb250ZW50OiBnZXRJY29uQ2hhcigndXBsb2FkLXNvbGlkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB+IC5idG4ge1xuICAgICAgICB0b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyA1KTtcbiAgICB9XG5cbn1cbiIsInVsLCBvbCB7XG4gICAgJi5zb3J0YWJsZSB7XG4gICAgICAgIGxpOmZpcnN0LWNoaWxkIC5tb3ZlLXVwIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICBsaTpsYXN0LWNoaWxkIC5tb3ZlLWRvd24ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkgLmxpc3QtbnVtYmVyIHtcbiAgICAgICAgQGV4dGVuZCAucHVsbC1sZWZ0O1xuXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiKVwiO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGlzdC1ncm91cCB7XG4gICAgLnBhbmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubGlzdC1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4ubGlzdC1ncm91cC1pdGVtLXRleHQgPiAubGlzdC1ncm91cCA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wYW5lbCB7XG4gICAgZGwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gICAgICAgIC5saXN0LWdyb3VwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZmlsdGVyLXRhZ3Mge1xuICAgIG1hcmdpbi1ib3R0b206IC41ZW07XG4gICAgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZGVmYXVsdCBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC4yZW07XG4gICAgfVxufVxuIiwiLnBhbmVsIHtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcblxuICAgIC5wYW5lbC1oZWFkaW5nIHtcbiAgICAgICAgQGV4dGVuZCAuaDQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLnBhbmVsLWJvZHkge1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRwYW5lbC1pbm5lci1ib3JkZXI7XG5cbiAgICAgICAgcGFkZGluZy10b3A6IGNlaWwoJHBhbmVsLWJvZHktcGFkZGluZyAvIDIpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5wYW5lbC1ib2R5IHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHBhbmVsLXByaW1hcnktYm9yZGVyO1xuXG4gICAgLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zXG4gICAgLnBhbmVsLXByaW1hcnkgJiB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcGFuZWwtcHJpbWFyeS1ib3JkZXI7XG4gICAgfVxuXG4gICAgLnBhbmVsLXN1Y2Nlc3MgJiB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcGFuZWwtc3VjY2Vzcy1ib3JkZXI7XG4gICAgfVxuXG4gICAgLnBhbmVsLWluZm8gJiB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcGFuZWwtaW5mby1ib3JkZXI7XG4gICAgfVxuXG4gICAgLnBhbmVsLXdhcm5pbmcgJiB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcGFuZWwtd2FybmluZy1ib3JkZXI7XG4gICAgfVxuXG4gICAgLnBhbmVsLWRhbmdlciAmIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwYW5lbC1kYW5nZXItYm9yZGVyO1xuICAgIH1cblxufVxuXG4ucGFuZWwtZm9vdGVyIHtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRwYW5lbC1pbm5lci1ib3JkZXI7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgIC5hY3Rpb25zIGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucGFnaW5hdGlvbi1zbSB7XG4gICAgbWFyZ2luOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgMDtcbn1cbiIsIi5jYXJkUmVhZGVyRWxlbWVudHMge1xuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICAgIH1cbn1cbiIsIi5idG4ge1xuICAgIC5oYXMtZXJyb3IgLnJhZGlvLWJ0bi1ncm91cCBsYWJlbCAmIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYTk0NDQyO1xuICAgIH1cbn1cbiIsIi5jb250ZW50IHtcbiAgICAmLnZpZXcsXG4gICAgJi5kZXRhaWxzLFxuICAgICYuc2tldGNoLFxuICAgICYubWVkaWNhbGNhc2VzW2NsYXNzKj1cImFkZFwiXSwgJi5tZWRpY2FsY2FzZXNbY2xhc3MqPVwiaW5zZXJ0XCJdLFxuICAgICYubWVkaWNhbGNhc2VzW2NsYXNzKj1cImVkaXRcIl0sICYubWVkaWNhbGNhc2VzW2NsYXNzKj1cInVwZGF0ZVwiXSxcbiAgICAmLnJlcG9ydHNbY2xhc3MqPVwiZWRpdFwiXSwgJi5yZXBvcnRzW2NsYXNzKj1cInVwZGF0ZVwiXSxcbiAgICAmLnRyZWF0bWVudHMge1xuICAgICAgICBkbCB7XG4gICAgICAgICAgICBkdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjFlbTtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWJsb2NrICsgLmNhcmQtYmxvY2sge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRoci1ib3JkZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMmVtO1xuXG4gICAgICAgICAgICBoMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzIHtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2R1bGVsaXN0IHtcbiAgICAucGFuZWwtaGVhZGluZyB7XG4gICAgICAgIEBleHRlbmQgLmg1O1xuICAgIH1cbn1cblxuLyogcmVwb3J0cyAqL1xuLmNvbnRlbnQge1xuICAgICYucmVwb3J0cyB7XG4gICAgICAgICYuZWRpdCwgJi52aWV3IHtcbiAgICAgICAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgICAgICAgICBsZWdlbmQge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIGg0O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wYWdlLW5hdmlnYXRpb24ge1xuICAgIGZsZXg6IDAgMCAzMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGJyYW5kLXByaW1hcnk7XG4gICAgYm94LXNoYWRvdzogMTBweCAxMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMik7XG5cbiAgICBoZWFkZXIge1xuICAgICAgICBtYXJnaW46IDAgMCAyZW07XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2aWdhdGlvbi1pY29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuNWVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29ucyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVzc2FnZTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogZ2V0SWNvbkNoYXIoJ2JlbGwnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51c2VyOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBnZXRJY29uQ2hhcigndXNlcicpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlbHA6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGdldEljb25DaGFyKCdxdWVzdGlvbicpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpZ25vdXQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGdldEljb25DaGFyKCdzaWduLW91dCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb24tbWFpbiB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMmVtIDAgJGZvbnQtc2l6ZS1iYXNlICogLTI7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDJlbSAwICRmb250LXNpemUtYmFzZSAqIDI7XG4gICAgICAgICAgICAgICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDJlbSAwICRmb250LXNpemUtYmFzZSAqIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNWVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLXN1Ym1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb25zJztcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogZ2V0SWNvbkNoYXIoJ2FuZ2xlLXJpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyZW07XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgICAgICA+IC5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogZ2V0SWNvbkNoYXIoJ2FuZ2xlLWRvd24nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICduYXZpZ2F0aW9uJztcblxuLnBhZ2Uge1xuICBwYWRkaW5nOiAyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG5cblxuICA+IC5jb250ZW50IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICB9XG59XG5cbmJvZHkge1xuICAgICYuaXMtYnVzeSB7XG4gICAgICAgIGN1cnNvcjogd2FpdDtcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIGN1cnNvcjogd2FpdDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5tb2RhbC1vcGVuIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmLmRldi1ob3N0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiKDE3MCwgNjQsIDc4KSwgcmdiKDk2LCAzNiwgNTgpKTtcbiAgICB9XG4gICAgJi5zdGFnaW5nLWhvc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2IoNzAsIDE3MCwgNjQpLCByZ2IoMzgsIDEwMiwgNDEpKTtcbiAgICB9XG59XG5cbi5ub3QtYWxsb3dlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuZGl2LCBzcGFuLCBkZCwgZHQsIGxpIHtcbiAgICAuZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxufVxuIiwiJGxvZ2luUGFnZVdpZHRoOiA4MDBweDtcbiRsb2dpblBhZ2VIZWlnaHQ6IDQzMnB4O1xuXG4ubG9naW4ge1xuICAgIHdpZHRoOiAkbG9naW5QYWdlV2lkdGg7XG4gICAgaGVpZ2h0OiAkbG9naW5QYWdlSGVpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luOiAtI3skbG9naW5QYWdlSGVpZ2h0IC8gMn0gMCAwIC0jeyRsb2dpblBhZ2VXaWR0aCAvIDJ9O1xuICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICA+IGZvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgICYubW9kYWwge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDY0LCAxMDQsIDE3MCwgMC44KTtcbiAgICB9XG59XG4iLCIucGFnZS5lcnJvciB7XG4gICAgd2lkdGg6IDgwMHB4O1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW46IC0yMDBweCAwIDAgLTQwMHB4O1xuICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICAmX2RldiB7XG4gICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLmNhcmQtYmxvY2sge1xuICAgICAgICBoMSxoMixoMyxoNCxoNSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5lcnJvcl9kZXYge1xuICAgIC50b2dnbGUtbGluayB7XG4gICAgICAgIEBleHRlbmQgLmJ0bjtcbiAgICAgICAgQGV4dGVuZCAuYnRuLWRlZmF1bHQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG4gICAgLmV4Y2VycHQtbnVtYmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLW51bWJlcik7XG4gICAgfVxuXG4gICAgLmNvZGUtZXhjZXJwdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuICAgIC5jb2RlLWhpZ2hsaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtaW5mbztcbiAgICB9XG4gICAgLmV4Y2VycHQtbGluZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgIH1cbiAgICAuZXhjZXJwdC1udW1iZXIge1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyYXktbGlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICB9XG4gICAgLmV4Y2VycHQtbnVtYmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLW51bWJlcik7XG4gICAgfVxufVxuXG4uY2FrZS1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xufVxuIiwiLy8gc2V0IHBhZ2UgcHJpbnQgbWFyZ2luc1xuQHBhZ2Uge1xuICAgIHNpemU6IGF1dG87XG4gICAgbWFyZ2luOiAxMG1tO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAgIGJvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAucGFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgICAgdGQuYWN0aW9ucywgdGguYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFsZXJ0IHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJmaWxlIjoic3R5bGVzLmNzcyJ9 */
