meta.foundation-version {
  font-family: "/5.5.3/"; }

meta.foundation-mq-small {
  font-family: "/only screen/";
  width: 0; }

meta.foundation-mq-small-only {
  font-family: "/only screen and (max-width: 40em)/";
  width: 0; }

meta.foundation-mq-medium {
  font-family: "/only screen and (min-width:40.0625em)/";
  width: 40.0625em; }

meta.foundation-mq-medium-only {
  font-family: "/only screen and (min-width:40.0625em) and (max-width:64em)/";
  width: 40.0625em; }

meta.foundation-mq-large {
  font-family: "/only screen and (min-width:64.0625em)/";
  width: 64.0625em; }

meta.foundation-mq-large-only {
  font-family: "/only screen and (min-width:64.0625em) and (max-width:90em)/";
  width: 64.0625em; }

meta.foundation-mq-xlarge {
  font-family: "/only screen and (min-width:90.0625em)/";
  width: 90.0625em; }

meta.foundation-mq-xlarge-only {
  font-family: "/only screen and (min-width:90.0625em) and (max-width:120em)/";
  width: 90.0625em; }

meta.foundation-mq-xxlarge {
  font-family: "/only screen and (min-width:120.0625em)/";
  width: 120.0625em; }

meta.foundation-data-attribute-namespace {
  font-family: false; }

html, body {
  height: 100%; }

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

html,
body {
  font-size: 100%; }

body {
  background: #fff;
  color: #222;
  cursor: auto;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  position: relative; }

a:hover {
  cursor: pointer; }

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

img {
  -ms-interpolation-mode: bicubic; }

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

.left {
  float: left !important; }

.right {
  float: right !important; }

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

.clearfix:after {
  clear: both; }

.hide {
  display: none; }

.invisible {
  visibility: hidden; }

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px; }

select {
  width: 100%; }

.row {
  margin: 0 auto;
  max-width: 62.5rem;
  width: 100%; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }
  .row.collapse > .column,
  .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row .row {
    margin: 0 -0.9375rem;
    max-width: none;
    width: auto; }
    .row .row:before, .row .row:after {
      content: " ";
      display: table; }
    .row .row:after {
      clear: both; }
    .row .row.collapse {
      margin: 0;
      max-width: none;
      width: auto; }
      .row .row.collapse:before, .row .row.collapse:after {
        content: " ";
        display: table; }
      .row .row.collapse:after {
        clear: both; }

.column,
.columns {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  width: 100%;
  float: left; }

.column + .column:last-child,
.columns + .column:last-child, .column +
.columns:last-child,
.columns +
.columns:last-child {
  float: right; }

.column + .column.end,
.columns + .column.end, .column +
.columns.end,
.columns +
.columns.end {
  float: left; }

@media only screen {
  .small-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .small-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .small-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .small-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .small-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .small-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .small-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .small-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .small-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .small-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .small-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .small-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .small-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .small-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .small-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .small-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .small-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .small-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .small-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .small-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .small-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .small-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .small-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .small-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .small-1 {
    width: 8.33333%; }
  .small-2 {
    width: 16.66667%; }
  .small-3 {
    width: 25%; }
  .small-4 {
    width: 33.33333%; }
  .small-5 {
    width: 41.66667%; }
  .small-6 {
    width: 50%; }
  .small-7 {
    width: 58.33333%; }
  .small-8 {
    width: 66.66667%; }
  .small-9 {
    width: 75%; }
  .small-10 {
    width: 83.33333%; }
  .small-11 {
    width: 91.66667%; }
  .small-12 {
    width: 100%; }
  .small-offset-0 {
    margin-left: 0 !important; }
  .small-offset-1 {
    margin-left: 8.33333% !important; }
  .small-offset-2 {
    margin-left: 16.66667% !important; }
  .small-offset-3 {
    margin-left: 25% !important; }
  .small-offset-4 {
    margin-left: 33.33333% !important; }
  .small-offset-5 {
    margin-left: 41.66667% !important; }
  .small-offset-6 {
    margin-left: 50% !important; }
  .small-offset-7 {
    margin-left: 58.33333% !important; }
  .small-offset-8 {
    margin-left: 66.66667% !important; }
  .small-offset-9 {
    margin-left: 75% !important; }
  .small-offset-10 {
    margin-left: 83.33333% !important; }
  .small-offset-11 {
    margin-left: 91.66667% !important; }
  .small-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.small-centered,
  .columns.small-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.small-uncentered,
  .columns.small-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.small-centered:last-child,
  .columns.small-centered:last-child {
    float: none; }
  .column.small-uncentered:last-child,
  .columns.small-uncentered:last-child {
    float: left; }
  .column.small-uncentered.opposite,
  .columns.small-uncentered.opposite {
    float: right; }
  .row.small-collapse > .column,
  .row.small-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.small-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.small-uncollapse > .column,
  .row.small-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; } }

@media only screen and (min-width: 40.0625em) {
  .medium-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .medium-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .medium-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .medium-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .medium-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .medium-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .medium-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .medium-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .medium-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .medium-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .medium-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .medium-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .medium-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .medium-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .medium-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .medium-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .medium-1 {
    width: 8.33333%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-3 {
    width: 25%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-6 {
    width: 50%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-9 {
    width: 75%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-0 {
    margin-left: 0 !important; }
  .medium-offset-1 {
    margin-left: 8.33333% !important; }
  .medium-offset-2 {
    margin-left: 16.66667% !important; }
  .medium-offset-3 {
    margin-left: 25% !important; }
  .medium-offset-4 {
    margin-left: 33.33333% !important; }
  .medium-offset-5 {
    margin-left: 41.66667% !important; }
  .medium-offset-6 {
    margin-left: 50% !important; }
  .medium-offset-7 {
    margin-left: 58.33333% !important; }
  .medium-offset-8 {
    margin-left: 66.66667% !important; }
  .medium-offset-9 {
    margin-left: 75% !important; }
  .medium-offset-10 {
    margin-left: 83.33333% !important; }
  .medium-offset-11 {
    margin-left: 91.66667% !important; }
  .medium-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.medium-centered,
  .columns.medium-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.medium-uncentered,
  .columns.medium-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.medium-centered:last-child,
  .columns.medium-centered:last-child {
    float: none; }
  .column.medium-uncentered:last-child,
  .columns.medium-uncentered:last-child {
    float: left; }
  .column.medium-uncentered.opposite,
  .columns.medium-uncentered.opposite {
    float: right; }
  .row.medium-collapse > .column,
  .row.medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.medium-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.medium-uncollapse > .column,
  .row.medium-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; } }

@media only screen and (min-width: 64.0625em) {
  .large-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .large-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .large-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .large-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .large-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .large-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .large-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .large-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .large-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .large-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .large-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .large-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .large-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .large-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .large-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .large-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .large-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .large-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .large-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .large-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .large-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .large-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .large-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .large-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .large-1 {
    width: 8.33333%; }
  .large-2 {
    width: 16.66667%; }
  .large-3 {
    width: 25%; }
  .large-4 {
    width: 33.33333%; }
  .large-5 {
    width: 41.66667%; }
  .large-6 {
    width: 50%; }
  .large-7 {
    width: 58.33333%; }
  .large-8 {
    width: 66.66667%; }
  .large-9 {
    width: 75%; }
  .large-10 {
    width: 83.33333%; }
  .large-11 {
    width: 91.66667%; }
  .large-12 {
    width: 100%; }
  .large-offset-0 {
    margin-left: 0 !important; }
  .large-offset-1 {
    margin-left: 8.33333% !important; }
  .large-offset-2 {
    margin-left: 16.66667% !important; }
  .large-offset-3 {
    margin-left: 25% !important; }
  .large-offset-4 {
    margin-left: 33.33333% !important; }
  .large-offset-5 {
    margin-left: 41.66667% !important; }
  .large-offset-6 {
    margin-left: 50% !important; }
  .large-offset-7 {
    margin-left: 58.33333% !important; }
  .large-offset-8 {
    margin-left: 66.66667% !important; }
  .large-offset-9 {
    margin-left: 75% !important; }
  .large-offset-10 {
    margin-left: 83.33333% !important; }
  .large-offset-11 {
    margin-left: 91.66667% !important; }
  .large-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.large-centered,
  .columns.large-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.large-uncentered,
  .columns.large-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.large-centered:last-child,
  .columns.large-centered:last-child {
    float: none; }
  .column.large-uncentered:last-child,
  .columns.large-uncentered:last-child {
    float: left; }
  .column.large-uncentered.opposite,
  .columns.large-uncentered.opposite {
    float: right; }
  .row.large-collapse > .column,
  .row.large-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.large-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.large-uncollapse > .column,
  .row.large-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; } }

.accordion {
  margin-bottom: 0;
  margin-left: 0; }
  .accordion:before, .accordion:after {
    content: " ";
    display: table; }
  .accordion:after {
    clear: both; }
  .accordion .accordion-navigation, .accordion dd {
    display: block;
    margin-bottom: 0 !important; }
    .accordion .accordion-navigation.active > a, .accordion dd.active > a {
      background: #e8e8e8;
      color: #222222; }
    .accordion .accordion-navigation > a, .accordion dd > a {
      background: #EFEFEF;
      color: #222222;
      display: block;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      padding: 1rem; }
      .accordion .accordion-navigation > a:hover, .accordion dd > a:hover {
        background: #e3e3e3; }
    .accordion .accordion-navigation > .content, .accordion dd > .content {
      display: none;
      padding: 0.9375rem; }
      .accordion .accordion-navigation > .content.active, .accordion dd > .content.active {
        background: #FFFFFF;
        display: block; }

.alert-box {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.8125rem;
  font-weight: normal;
  margin-bottom: 1.25rem;
  padding: 0.875rem 1.5rem 0.875rem 0.875rem;
  position: relative;
  -webkit-transition: opacity 300ms ease-out;
  transition: opacity 300ms ease-out;
  background-color: #006000;
  border-color: #005300;
  color: #FFFFFF; }
  .alert-box .close {
    right: 0.25rem;
    background: inherit;
    color: #333333;
    font-size: 1.375rem;
    line-height: .9;
    margin-top: -0.6875rem;
    opacity: 0.3;
    padding: 0 6px 4px;
    position: absolute;
    top: 50%; }
    .alert-box .close:hover, .alert-box .close:focus {
      opacity: 0.5; }
  .alert-box.radius {
    border-radius: 5px; }
  .alert-box.round {
    border-radius: 1000px; }
  .alert-box.success {
    background-color: #bc2f2f;
    border-color: #a22828;
    color: #FFFFFF; }
  .alert-box.alert {
    background-color: #f04124;
    border-color: #de2d0f;
    color: #FFFFFF; }
  .alert-box.secondary {
    background-color: #2cb02c;
    border-color: #269726;
    color: #FFFFFF; }
  .alert-box.warning {
    background-color: #f08a24;
    border-color: #de770f;
    color: #FFFFFF; }
  .alert-box.info {
    background-color: #a0d3e8;
    border-color: #74bfdd;
    color: #0f3c0f; }
  .alert-box.alert-close {
    opacity: 0; }

[class*="block-grid-"] {
  display: block;
  padding: 0;
  margin: 0 -0.625rem; }
  [class*="block-grid-"]:before, [class*="block-grid-"]:after {
    content: " ";
    display: table; }
  [class*="block-grid-"]:after {
    clear: both; }
  [class*="block-grid-"] > li {
    display: block;
    float: left;
    height: auto;
    padding: 0 0.625rem 1.25rem; }

@media only screen {
  .small-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .small-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .small-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .small-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .small-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .small-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .small-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .small-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .small-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .small-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .small-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .small-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .small-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .small-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .small-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .small-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .small-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .small-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .small-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .small-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .small-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .small-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .small-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .small-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

@media only screen and (min-width: 40.0625em) {
  .medium-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .medium-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .medium-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .medium-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .medium-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .medium-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .medium-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .medium-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .medium-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .medium-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .medium-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .medium-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .medium-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .medium-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .medium-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .medium-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .medium-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .medium-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .medium-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .medium-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .medium-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .medium-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .medium-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .medium-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

@media only screen and (min-width: 64.0625em) {
  .large-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .large-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .large-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .large-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .large-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .large-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .large-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .large-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .large-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .large-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .large-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .large-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .large-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .large-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .large-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .large-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .large-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .large-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .large-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .large-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .large-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .large-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .large-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .large-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

.breadcrumbs {
  border-style: solid;
  border-width: 1px;
  display: block;
  list-style: none;
  margin-left: 0;
  overflow: hidden;
  padding: 0.5625rem 0.875rem 0.5625rem;
  background-color: #97e597;
  border-color: #78dd78;
  border-radius: 5px; }
  .breadcrumbs > * {
    color: #006000;
    float: left;
    font-size: 0.6875rem;
    line-height: 0.6875rem;
    margin: 0;
    text-transform: uppercase; }
    .breadcrumbs > *:hover a, .breadcrumbs > *:focus a {
      text-decoration: underline; }
    .breadcrumbs > * a {
      color: #006000; }
    .breadcrumbs > *.current {
      color: #333333;
      cursor: default; }
      .breadcrumbs > *.current a {
        color: #333333;
        cursor: default; }
      .breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a {
        text-decoration: none; }
    .breadcrumbs > *.unavailable {
      color: #999999; }
      .breadcrumbs > *.unavailable a {
        color: #999999; }
      .breadcrumbs > *.unavailable:hover,
      .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus,
      .breadcrumbs > *.unavailable a:focus {
        color: #999999;
        cursor: not-allowed;
        text-decoration: none; }
    .breadcrumbs > *:before {
      color: #AAAAAA;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px; }
    .breadcrumbs > *:first-child:before {
      content: " ";
      margin: 0; }

/* Accessibility - hides the forward slash */
[aria-label="breadcrumbs"] [aria-hidden="true"]:after {
  content: "/"; }

button, .button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 1rem 2rem 1.0625rem 2rem;
  font-size: 1rem;
  background-color: #006000;
  border-color: #004d00;
  color: #FFFFFF;
  -webkit-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out; }
  button:hover, button:focus, .button:hover, .button:focus {
    background-color: #004d00; }
  button:hover, button:focus, .button:hover, .button:focus {
    color: #FFFFFF; }
  button.secondary, .button.secondary {
    background-color: #2cb02c;
    border-color: #238d23;
    color: #FFFFFF; }
    button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
      background-color: #238d23; }
    button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
      color: #FFFFFF; }
  button.success, .button.success {
    background-color: #bc2f2f;
    border-color: #962626;
    color: #FFFFFF; }
    button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
      background-color: #962626; }
    button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
      color: #FFFFFF; }
  button.alert, .button.alert {
    background-color: #f04124;
    border-color: #cf2a0e;
    color: #FFFFFF; }
    button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
      background-color: #cf2a0e; }
    button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
      color: #FFFFFF; }
  button.warning, .button.warning {
    background-color: #f08a24;
    border-color: #cf6e0e;
    color: #FFFFFF; }
    button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
      background-color: #cf6e0e; }
    button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
      color: #FFFFFF; }
  button.info, .button.info {
    background-color: #a0d3e8;
    border-color: #61b6d9;
    color: #333333; }
    button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
      background-color: #61b6d9; }
    button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
      color: #FFFFFF; }
  button.large, .button.large {
    padding: 1.125rem 2.25rem 1.1875rem 2.25rem;
    font-size: 1.25rem; }
  button.small, .button.small {
    padding: 0.875rem 1.75rem 0.9375rem 1.75rem;
    font-size: 0.8125rem; }
  button.tiny, .button.tiny {
    padding: 0.625rem 1.25rem 0.6875rem 1.25rem;
    font-size: 0.6875rem; }
  button.expand, .button.expand {
    padding: 1rem 2rem 1.0625rem 2rem;
    font-size: 1rem;
    padding-bottom: 1.0625rem;
    padding-top: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%; }
  button.left-align, .button.left-align {
    text-align: left;
    text-indent: 0.75rem; }
  button.right-align, .button.right-align {
    text-align: right;
    padding-right: 0.75rem; }
  button.radius, .button.radius {
    border-radius: 5px; }
  button.round, .button.round {
    border-radius: 1000px; }
  button.disabled, button[disabled], .button.disabled, .button[disabled] {
    background-color: #006000;
    border-color: #004d00;
    color: #FFFFFF;
    -webkit-box-shadow: none;
            box-shadow: none;
    cursor: default;
    opacity: 0.7; }
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #004d00; }
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      color: #FFFFFF; }
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #006000; }
    button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
      background-color: #2cb02c;
      border-color: #238d23;
      color: #FFFFFF;
      -webkit-box-shadow: none;
              box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #238d23; }
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        color: #FFFFFF; }
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #2cb02c; }
    button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
      background-color: #bc2f2f;
      border-color: #962626;
      color: #FFFFFF;
      -webkit-box-shadow: none;
              box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #962626; }
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        color: #FFFFFF; }
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #bc2f2f; }
    button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
      background-color: #f04124;
      border-color: #cf2a0e;
      color: #FFFFFF;
      -webkit-box-shadow: none;
              box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cf2a0e; }
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        color: #FFFFFF; }
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #f04124; }
    button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning {
      background-color: #f08a24;
      border-color: #cf6e0e;
      color: #FFFFFF;
      -webkit-box-shadow: none;
              box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #cf6e0e; }
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        color: #FFFFFF; }
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #f08a24; }
    button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info {
      background-color: #a0d3e8;
      border-color: #61b6d9;
      color: #333333;
      -webkit-box-shadow: none;
              box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        background-color: #61b6d9; }
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        color: #FFFFFF; }
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        background-color: #a0d3e8; }

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

@media only screen and (min-width: 40.0625em) {
  button, .button {
    display: inline-block; } }

.button-group {
  list-style: none;
  margin: 0;
  left: 0; }
  .button-group:before, .button-group:after {
    content: " ";
    display: table; }
  .button-group:after {
    clear: both; }
  .button-group.even-2 li {
    display: inline-block;
    margin: 0 -2px;
    width: 50%; }
    .button-group.even-2 li > button, .button-group.even-2 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-2 li:first-child button, .button-group.even-2 li:first-child .button {
      border-left: 0; }
    .button-group.even-2 li button, .button-group.even-2 li .button {
      width: 100%; }
  .button-group.even-3 li {
    display: inline-block;
    margin: 0 -2px;
    width: 33.33333%; }
    .button-group.even-3 li > button, .button-group.even-3 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-3 li:first-child button, .button-group.even-3 li:first-child .button {
      border-left: 0; }
    .button-group.even-3 li button, .button-group.even-3 li .button {
      width: 100%; }
  .button-group.even-4 li {
    display: inline-block;
    margin: 0 -2px;
    width: 25%; }
    .button-group.even-4 li > button, .button-group.even-4 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-4 li:first-child button, .button-group.even-4 li:first-child .button {
      border-left: 0; }
    .button-group.even-4 li button, .button-group.even-4 li .button {
      width: 100%; }
  .button-group.even-5 li {
    display: inline-block;
    margin: 0 -2px;
    width: 20%; }
    .button-group.even-5 li > button, .button-group.even-5 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-5 li:first-child button, .button-group.even-5 li:first-child .button {
      border-left: 0; }
    .button-group.even-5 li button, .button-group.even-5 li .button {
      width: 100%; }
  .button-group.even-6 li {
    display: inline-block;
    margin: 0 -2px;
    width: 16.66667%; }
    .button-group.even-6 li > button, .button-group.even-6 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-6 li:first-child button, .button-group.even-6 li:first-child .button {
      border-left: 0; }
    .button-group.even-6 li button, .button-group.even-6 li .button {
      width: 100%; }
  .button-group.even-7 li {
    display: inline-block;
    margin: 0 -2px;
    width: 14.28571%; }
    .button-group.even-7 li > button, .button-group.even-7 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-7 li:first-child button, .button-group.even-7 li:first-child .button {
      border-left: 0; }
    .button-group.even-7 li button, .button-group.even-7 li .button {
      width: 100%; }
  .button-group.even-8 li {
    display: inline-block;
    margin: 0 -2px;
    width: 12.5%; }
    .button-group.even-8 li > button, .button-group.even-8 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-8 li:first-child button, .button-group.even-8 li:first-child .button {
      border-left: 0; }
    .button-group.even-8 li button, .button-group.even-8 li .button {
      width: 100%; }
  .button-group > li {
    display: inline-block;
    margin: 0 -2px; }
    .button-group > li > button, .button-group > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group > li:first-child button, .button-group > li:first-child .button {
      border-left: 0; }
  .button-group.stack > li {
    display: block;
    margin: 0;
    float: none; }
    .button-group.stack > li > button, .button-group.stack > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
      border-left: 0; }
    .button-group.stack > li > button, .button-group.stack > li .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.stack > li > button {
      width: 100%; }
    .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
      border-top: 0; }
  .button-group.stack-for-small > li {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
      border-left: 0; }
    @media only screen and (max-width: 40em) {
      .button-group.stack-for-small > li {
        display: block;
        margin: 0;
        width: 100%; }
        .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
          border-left: 1px solid;
          border-color: rgba(255, 255, 255, 0.5); }
        .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
          border-left: 0; }
        .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
          border-color: rgba(255, 255, 255, 0.5);
          border-left-width: 0;
          border-top: 1px solid;
          display: block;
          margin: 0; }
        .button-group.stack-for-small > li > button {
          width: 100%; }
        .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
          border-top: 0; } }
  .button-group.radius > * {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.radius > * > button, .button-group.radius > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.radius > *:first-child button, .button-group.radius > *:first-child .button {
      border-left: 0; }
    .button-group.radius > *,
    .button-group.radius > * > a,
    .button-group.radius > * > button,
    .button-group.radius > * > .button {
      border-radius: 0; }
    .button-group.radius > *:first-child,
    .button-group.radius > *:first-child > a,
    .button-group.radius > *:first-child > button,
    .button-group.radius > *:first-child > .button {
      -webkit-border-bottom-left-radius: 5px;
      -webkit-border-top-left-radius: 5px;
      border-bottom-left-radius: 5px;
      border-top-left-radius: 5px; }
    .button-group.radius > *:last-child,
    .button-group.radius > *:last-child > a,
    .button-group.radius > *:last-child > button,
    .button-group.radius > *:last-child > .button {
      -webkit-border-bottom-right-radius: 5px;
      -webkit-border-top-right-radius: 5px;
      border-bottom-right-radius: 5px;
      border-top-right-radius: 5px; }
  .button-group.radius.stack > * {
    display: block;
    margin: 0; }
    .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
      border-left: 0; }
    .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.radius.stack > * > button {
      width: 100%; }
    .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
      border-top: 0; }
    .button-group.radius.stack > *,
    .button-group.radius.stack > * > a,
    .button-group.radius.stack > * > button,
    .button-group.radius.stack > * > .button {
      border-radius: 0; }
    .button-group.radius.stack > *:first-child,
    .button-group.radius.stack > *:first-child > a,
    .button-group.radius.stack > *:first-child > button,
    .button-group.radius.stack > *:first-child > .button {
      -webkit-top-left-radius: 5px;
      -webkit-top-right-radius: 5px;
      border-top-left-radius: 5px;
      border-top-right-radius: 5px; }
    .button-group.radius.stack > *:last-child,
    .button-group.radius.stack > *:last-child > a,
    .button-group.radius.stack > *:last-child > button,
    .button-group.radius.stack > *:last-child > .button {
      -webkit-bottom-left-radius: 5px;
      -webkit-bottom-right-radius: 5px;
      border-bottom-left-radius: 5px;
      border-bottom-right-radius: 5px; }
  @media only screen and (min-width: 40.0625em) {
    .button-group.radius.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.radius.stack-for-small > *,
      .button-group.radius.stack-for-small > * > a,
      .button-group.radius.stack-for-small > * > button,
      .button-group.radius.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.radius.stack-for-small > *:first-child,
      .button-group.radius.stack-for-small > *:first-child > a,
      .button-group.radius.stack-for-small > *:first-child > button,
      .button-group.radius.stack-for-small > *:first-child > .button {
        -webkit-border-bottom-left-radius: 5px;
        -webkit-border-top-left-radius: 5px;
        border-bottom-left-radius: 5px;
        border-top-left-radius: 5px; }
      .button-group.radius.stack-for-small > *:last-child,
      .button-group.radius.stack-for-small > *:last-child > a,
      .button-group.radius.stack-for-small > *:last-child > button,
      .button-group.radius.stack-for-small > *:last-child > .button {
        -webkit-border-bottom-right-radius: 5px;
        -webkit-border-top-right-radius: 5px;
        border-bottom-right-radius: 5px;
        border-top-right-radius: 5px; } }
  @media only screen and (max-width: 40em) {
    .button-group.radius.stack-for-small > * {
      display: block;
      margin: 0; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-color: rgba(255, 255, 255, 0.5);
        border-left-width: 0;
        border-top: 1px solid;
        display: block;
        margin: 0; }
      .button-group.radius.stack-for-small > * > button {
        width: 100%; }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-top: 0; }
      .button-group.radius.stack-for-small > *,
      .button-group.radius.stack-for-small > * > a,
      .button-group.radius.stack-for-small > * > button,
      .button-group.radius.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.radius.stack-for-small > *:first-child,
      .button-group.radius.stack-for-small > *:first-child > a,
      .button-group.radius.stack-for-small > *:first-child > button,
      .button-group.radius.stack-for-small > *:first-child > .button {
        -webkit-top-left-radius: 5px;
        -webkit-top-right-radius: 5px;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px; }
      .button-group.radius.stack-for-small > *:last-child,
      .button-group.radius.stack-for-small > *:last-child > a,
      .button-group.radius.stack-for-small > *:last-child > button,
      .button-group.radius.stack-for-small > *:last-child > .button {
        -webkit-bottom-left-radius: 5px;
        -webkit-bottom-right-radius: 5px;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px; } }
  .button-group.round > * {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.round > * > button, .button-group.round > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.round > *:first-child button, .button-group.round > *:first-child .button {
      border-left: 0; }
    .button-group.round > *,
    .button-group.round > * > a,
    .button-group.round > * > button,
    .button-group.round > * > .button {
      border-radius: 0; }
    .button-group.round > *:first-child,
    .button-group.round > *:first-child > a,
    .button-group.round > *:first-child > button,
    .button-group.round > *:first-child > .button {
      -webkit-border-bottom-left-radius: 1000px;
      -webkit-border-top-left-radius: 1000px;
      border-bottom-left-radius: 1000px;
      border-top-left-radius: 1000px; }
    .button-group.round > *:last-child,
    .button-group.round > *:last-child > a,
    .button-group.round > *:last-child > button,
    .button-group.round > *:last-child > .button {
      -webkit-border-bottom-right-radius: 1000px;
      -webkit-border-top-right-radius: 1000px;
      border-bottom-right-radius: 1000px;
      border-top-right-radius: 1000px; }
  .button-group.round.stack > * {
    display: block;
    margin: 0; }
    .button-group.round.stack > * > button, .button-group.round.stack > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
      border-left: 0; }
    .button-group.round.stack > * > button, .button-group.round.stack > * .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.round.stack > * > button {
      width: 100%; }
    .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
      border-top: 0; }
    .button-group.round.stack > *,
    .button-group.round.stack > * > a,
    .button-group.round.stack > * > button,
    .button-group.round.stack > * > .button {
      border-radius: 0; }
    .button-group.round.stack > *:first-child,
    .button-group.round.stack > *:first-child > a,
    .button-group.round.stack > *:first-child > button,
    .button-group.round.stack > *:first-child > .button {
      -webkit-top-left-radius: 1rem;
      -webkit-top-right-radius: 1rem;
      border-top-left-radius: 1rem;
      border-top-right-radius: 1rem; }
    .button-group.round.stack > *:last-child,
    .button-group.round.stack > *:last-child > a,
    .button-group.round.stack > *:last-child > button,
    .button-group.round.stack > *:last-child > .button {
      -webkit-bottom-left-radius: 1rem;
      -webkit-bottom-right-radius: 1rem;
      border-bottom-left-radius: 1rem;
      border-bottom-right-radius: 1rem; }
  @media only screen and (min-width: 40.0625em) {
    .button-group.round.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.round.stack-for-small > *,
      .button-group.round.stack-for-small > * > a,
      .button-group.round.stack-for-small > * > button,
      .button-group.round.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.round.stack-for-small > *:first-child,
      .button-group.round.stack-for-small > *:first-child > a,
      .button-group.round.stack-for-small > *:first-child > button,
      .button-group.round.stack-for-small > *:first-child > .button {
        -webkit-border-bottom-left-radius: 1000px;
        -webkit-border-top-left-radius: 1000px;
        border-bottom-left-radius: 1000px;
        border-top-left-radius: 1000px; }
      .button-group.round.stack-for-small > *:last-child,
      .button-group.round.stack-for-small > *:last-child > a,
      .button-group.round.stack-for-small > *:last-child > button,
      .button-group.round.stack-for-small > *:last-child > .button {
        -webkit-border-bottom-right-radius: 1000px;
        -webkit-border-top-right-radius: 1000px;
        border-bottom-right-radius: 1000px;
        border-top-right-radius: 1000px; } }
  @media only screen and (max-width: 40em) {
    .button-group.round.stack-for-small > * {
      display: block;
      margin: 0; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-color: rgba(255, 255, 255, 0.5);
        border-left-width: 0;
        border-top: 1px solid;
        display: block;
        margin: 0; }
      .button-group.round.stack-for-small > * > button {
        width: 100%; }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-top: 0; }
      .button-group.round.stack-for-small > *,
      .button-group.round.stack-for-small > * > a,
      .button-group.round.stack-for-small > * > button,
      .button-group.round.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.round.stack-for-small > *:first-child,
      .button-group.round.stack-for-small > *:first-child > a,
      .button-group.round.stack-for-small > *:first-child > button,
      .button-group.round.stack-for-small > *:first-child > .button {
        -webkit-top-left-radius: 1rem;
        -webkit-top-right-radius: 1rem;
        border-top-left-radius: 1rem;
        border-top-right-radius: 1rem; }
      .button-group.round.stack-for-small > *:last-child,
      .button-group.round.stack-for-small > *:last-child > a,
      .button-group.round.stack-for-small > *:last-child > button,
      .button-group.round.stack-for-small > *:last-child > .button {
        -webkit-bottom-left-radius: 1rem;
        -webkit-bottom-right-radius: 1rem;
        border-bottom-left-radius: 1rem;
        border-bottom-right-radius: 1rem; } }

.button-bar:before, .button-bar:after {
  content: " ";
  display: table; }

.button-bar:after {
  clear: both; }

.button-bar .button-group {
  float: left;
  margin-right: 0.625rem; }
  .button-bar .button-group div {
    overflow: hidden; }

/* Clearing Styles */
.clearing-thumbs, [data-clearing] {
  list-style: none;
  margin-left: 0;
  margin-bottom: 0; }
  .clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after {
    content: " ";
    display: table; }
  .clearing-thumbs:after, [data-clearing]:after {
    clear: both; }
  .clearing-thumbs li, [data-clearing] li {
    float: left;
    margin-right: 10px; }
  .clearing-thumbs[class*="block-grid-"] li, [data-clearing][class*="block-grid-"] li {
    margin-right: 0; }

.clearing-blackout {
  background: #333333;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 998;
  left: 0; }
  .clearing-blackout .clearing-close {
    display: block; }

.clearing-container {
  height: 100%;
  margin: 0;
  overflow: hidden;
  position: relative;
  z-index: 998; }

.clearing-touch-label {
  color: #AAAAAA;
  font-size: .6em;
  left: 50%;
  position: absolute;
  top: 50%; }

.visible-img {
  height: 95%;
  position: relative; }
  .visible-img img {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    max-height: 100%;
    max-width: 100%; }

.clearing-caption {
  background: #333333;
  bottom: 0;
  color: #CCCCCC;
  font-size: 0.875em;
  line-height: 1.3;
  margin-bottom: 0;
  padding: 10px 30px 20px;
  position: absolute;
  text-align: center;
  width: 100%;
  left: 0; }

.clearing-close {
  color: #CCCCCC;
  display: none;
  font-size: 30px;
  line-height: 1;
  padding-left: 20px;
  padding-top: 10px;
  z-index: 999; }
  .clearing-close:hover, .clearing-close:focus {
    color: #CCCCCC; }

.clearing-assembled .clearing-container {
  height: 100%; }
  .clearing-assembled .clearing-container .carousel > ul {
    display: none; }

.clearing-feature li {
  display: none; }
  .clearing-feature li.clearing-featured-img {
    display: block; }

@media only screen and (min-width: 40.0625em) {
  .clearing-main-prev,
  .clearing-main-next {
    height: 100%;
    position: absolute;
    top: 0;
    width: 40px; }
    .clearing-main-prev > span,
    .clearing-main-next > span {
      border: solid 12px;
      display: block;
      height: 0;
      position: absolute;
      top: 50%;
      width: 0; }
      .clearing-main-prev > span:hover,
      .clearing-main-next > span:hover {
        opacity: .8; }
  .clearing-main-prev {
    left: 0; }
    .clearing-main-prev > span {
      left: 5px;
      border-color: transparent;
      border-right-color: #CCCCCC; }
  .clearing-main-next {
    right: 0; }
    .clearing-main-next > span {
      border-color: transparent;
      border-left-color: #CCCCCC; }
  .clearing-main-prev.disabled,
  .clearing-main-next.disabled {
    opacity: .3; }
  .clearing-assembled .clearing-container .carousel {
    background: rgba(51, 51, 51, 0.8);
    height: 120px;
    margin-top: 10px;
    text-align: center; }
    .clearing-assembled .clearing-container .carousel > ul {
      display: inline-block;
      z-index: 999;
      height: 100%;
      position: relative;
      float: none; }
      .clearing-assembled .clearing-container .carousel > ul li {
        clear: none;
        cursor: pointer;
        display: block;
        float: left;
        margin-right: 0;
        min-height: inherit;
        opacity: .4;
        overflow: hidden;
        padding: 0;
        position: relative;
        width: 120px; }
        .clearing-assembled .clearing-container .carousel > ul li.fix-height img {
          height: 100%;
          max-width: none; }
        .clearing-assembled .clearing-container .carousel > ul li a.th {
          border: none;
          -webkit-box-shadow: none;
                  box-shadow: none;
          display: block; }
        .clearing-assembled .clearing-container .carousel > ul li img {
          cursor: pointer !important;
          width: 100% !important; }
        .clearing-assembled .clearing-container .carousel > ul li.visible {
          opacity: 1; }
        .clearing-assembled .clearing-container .carousel > ul li:hover {
          opacity: .8; }
  .clearing-assembled .clearing-container .visible-img {
    background: #333333;
    height: 85%;
    overflow: hidden; }
  .clearing-close {
    padding-left: 0;
    padding-top: 0;
    position: absolute;
    top: 10px;
    right: 20px; } }

/* Foundation Dropdowns */
.f-dropdown {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 2px;
  max-width: 200px; }
  .f-dropdown.open {
    display: block; }
  .f-dropdown > *:first-child {
    margin-top: 0; }
  .f-dropdown > *:last-child {
    margin-bottom: 0; }
  .f-dropdown:before {
    border: inset 6px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #FFFFFF transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -12px;
    left: 10px;
    z-index: 89; }
  .f-dropdown:after {
    border: inset 7px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #cccccc transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -14px;
    left: 9px;
    z-index: 88; }
  .f-dropdown.right:before {
    left: auto;
    right: 10px; }
  .f-dropdown.right:after {
    left: auto;
    right: 9px; }
  .f-dropdown.drop-right {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-top: 0;
    margin-left: 2px;
    max-width: 200px; }
    .f-dropdown.drop-right.open {
      display: block; }
    .f-dropdown.drop-right > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-right > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-right:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent #FFFFFF transparent transparent;
      border-right-style: solid;
      position: absolute;
      top: 10px;
      left: -12px;
      z-index: 89; }
    .f-dropdown.drop-right:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent #cccccc transparent transparent;
      border-right-style: solid;
      position: absolute;
      top: 9px;
      left: -14px;
      z-index: 88; }
  .f-dropdown.drop-left {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-top: 0;
    margin-left: -2px;
    max-width: 200px; }
    .f-dropdown.drop-left.open {
      display: block; }
    .f-dropdown.drop-left > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-left > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-left:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent #FFFFFF;
      border-left-style: solid;
      position: absolute;
      top: 10px;
      right: -12px;
      left: auto;
      z-index: 89; }
    .f-dropdown.drop-left:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent #cccccc;
      border-left-style: solid;
      position: absolute;
      top: 9px;
      right: -14px;
      left: auto;
      z-index: 88; }
  .f-dropdown.drop-top {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-left: 0;
    margin-top: -2px;
    max-width: 200px; }
    .f-dropdown.drop-top.open {
      display: block; }
    .f-dropdown.drop-top > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-top > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-top:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: #FFFFFF transparent transparent transparent;
      border-top-style: solid;
      bottom: -12px;
      position: absolute;
      top: auto;
      left: 10px;
      right: auto;
      z-index: 89; }
    .f-dropdown.drop-top:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: #cccccc transparent transparent transparent;
      border-top-style: solid;
      bottom: -14px;
      position: absolute;
      top: auto;
      left: 9px;
      right: auto;
      z-index: 88; }
  .f-dropdown li {
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.125rem;
    margin: 0; }
    .f-dropdown li:hover, .f-dropdown li:focus {
      background: #EEEEEE; }
    .f-dropdown li a {
      display: block;
      padding: 0.5rem;
      color: #555555; }
  .f-dropdown.content {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    padding: 1.25rem;
    width: 100%;
    z-index: 89;
    max-width: 200px; }
    .f-dropdown.content.open {
      display: block; }
    .f-dropdown.content > *:first-child {
      margin-top: 0; }
    .f-dropdown.content > *:last-child {
      margin-bottom: 0; }
  .f-dropdown.radius {
    border-radius: 5px; }
  .f-dropdown.tiny {
    max-width: 200px; }
  .f-dropdown.small {
    max-width: 300px; }
  .f-dropdown.medium {
    max-width: 500px; }
  .f-dropdown.large {
    max-width: 800px; }
  .f-dropdown.mega {
    width: 100% !important;
    max-width: 100% !important; }
    .f-dropdown.mega.open {
      left: 0 !important; }

.dropdown.button, button.dropdown {
  position: relative;
  padding-right: 3.5625rem; }
  .dropdown.button::after, button.dropdown::after {
    border-color: #FFFFFF transparent transparent transparent;
    border-style: solid;
    content: "";
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    width: 0; }
  .dropdown.button::after, button.dropdown::after {
    border-width: 0.375rem;
    right: 1.40625rem;
    margin-top: -0.15625rem; }
  .dropdown.button::after, button.dropdown::after {
    border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.tiny, button.dropdown.tiny {
    padding-right: 2.625rem; }
    .dropdown.button.tiny:after, button.dropdown.tiny:after {
      border-width: 0.375rem;
      right: 1.125rem;
      margin-top: -0.125rem; }
    .dropdown.button.tiny::after, button.dropdown.tiny::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.small, button.dropdown.small {
    padding-right: 3.0625rem; }
    .dropdown.button.small::after, button.dropdown.small::after {
      border-width: 0.4375rem;
      right: 1.3125rem;
      margin-top: -0.15625rem; }
    .dropdown.button.small::after, button.dropdown.small::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.large, button.dropdown.large {
    padding-right: 3.625rem; }
    .dropdown.button.large::after, button.dropdown.large::after {
      border-width: 0.3125rem;
      right: 1.71875rem;
      margin-top: -0.15625rem; }
    .dropdown.button.large::after, button.dropdown.large::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.secondary:after, button.dropdown.secondary:after {
    border-color: #333333 transparent transparent transparent; }

.flex-video {
  height: 0;
  margin-bottom: 1rem;
  overflow: hidden;
  padding-bottom: 67.5%;
  padding-top: 1.5625rem;
  position: relative; }
  .flex-video.widescreen {
    padding-bottom: 56.34%; }
  .flex-video.vimeo {
    padding-top: 0; }
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
    left: 0; }

/* Standard Forms */
form {
  margin: 0 0 1rem; }

/* Using forms within rows, we need to set some defaults */
form .row .row {
  margin: 0 -0.5rem; }
  form .row .row .column,
  form .row .row .columns {
    padding: 0 0.5rem; }
  form .row .row.collapse {
    margin: 0; }
    form .row .row.collapse .column,
    form .row .row.collapse .columns {
      padding: 0; }
    form .row .row.collapse input {
      -webkit-border-bottom-right-radius: 0;
      -webkit-border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border-top-right-radius: 0; }

form .row input.column,
form .row input.columns,
form .row textarea.column,
form .row textarea.columns {
  padding-left: 0.5rem; }

/* Label Styles */
label {
  color: #4d4d4d;
  cursor: pointer;
  display: block;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 0;
  /* Styles for required inputs */ }
  label.right {
    float: none !important;
    text-align: right; }
  label.inline {
    margin: 0 0 1rem 0;
    padding: 0.5625rem 0; }
  label small {
    text-transform: capitalize;
    color: #676767; }

/* Attach elements to the beginning or end of an input */
.prefix,
.postfix {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.875rem;
  height: 2.3125rem;
  line-height: 2.3125rem;
  overflow: visible;
  padding-bottom: 0;
  padding-top: 0;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2; }

/* Adjust padding, alignment and radius if pre/post element is a button */
.postfix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center; }

.prefix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center; }

.prefix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 5px;
  -webkit-border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  border-top-left-radius: 5px; }

.postfix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-top-right-radius: 5px; }

.prefix.button.round {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

.postfix.button.round {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
span.prefix, label.prefix {
  background: #f2f2f2;
  border-right: none;
  color: #333333;
  border-color: #cccccc; }

span.postfix, label.postfix {
  background: #f2f2f2;
  border-left: none;
  color: #333333;
  border-color: #cccccc; }

/* We use this to get basic styling on all basic form elements */
input:not([type]), input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  background-color: #FFFFFF;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
  display: block;
  font-family: inherit;
  font-size: 0.875rem;
  height: 2.3125rem;
  margin: 0 0 1rem 0;
  padding: 0.5rem;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: border-color 0.15s linear, background 0.15s linear;
  transition: border-color 0.15s linear, background 0.15s linear; }
  input:not([type]):focus, input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus {
    background: #fafafa;
    border-color: #999999;
    outline: none; }
  input:not([type]):disabled, input[type="text"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="email"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="color"]:disabled, textarea:disabled {
    background-color: #DDDDDD;
    cursor: default; }
  input:not([type])[disabled], input:not([type])[readonly],
  fieldset[disabled] input:not([type]), input[type="text"][disabled], input[type="text"][readonly],
  fieldset[disabled] input[type="text"], input[type="password"][disabled], input[type="password"][readonly],
  fieldset[disabled] input[type="password"], input[type="date"][disabled], input[type="date"][readonly],
  fieldset[disabled] input[type="date"], input[type="datetime"][disabled], input[type="datetime"][readonly],
  fieldset[disabled] input[type="datetime"], input[type="datetime-local"][disabled], input[type="datetime-local"][readonly],
  fieldset[disabled] input[type="datetime-local"], input[type="month"][disabled], input[type="month"][readonly],
  fieldset[disabled] input[type="month"], input[type="week"][disabled], input[type="week"][readonly],
  fieldset[disabled] input[type="week"], input[type="email"][disabled], input[type="email"][readonly],
  fieldset[disabled] input[type="email"], input[type="number"][disabled], input[type="number"][readonly],
  fieldset[disabled] input[type="number"], input[type="search"][disabled], input[type="search"][readonly],
  fieldset[disabled] input[type="search"], input[type="tel"][disabled], input[type="tel"][readonly],
  fieldset[disabled] input[type="tel"], input[type="time"][disabled], input[type="time"][readonly],
  fieldset[disabled] input[type="time"], input[type="url"][disabled], input[type="url"][readonly],
  fieldset[disabled] input[type="url"], input[type="color"][disabled], input[type="color"][readonly],
  fieldset[disabled] input[type="color"], textarea[disabled], textarea[readonly],
  fieldset[disabled] textarea {
    background-color: #DDDDDD;
    cursor: default; }
  input:not([type]).radius, input[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius {
    border-radius: 5px; }

form .row .prefix-radius.row.collapse input,
form .row .prefix-radius.row.collapse textarea,
form .row .prefix-radius.row.collapse select,
form .row .prefix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-top-right-radius: 5px; }

form .row .prefix-radius.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 5px;
  -webkit-border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  border-top-left-radius: 5px; }

form .row .postfix-radius.row.collapse input,
form .row .postfix-radius.row.collapse textarea,
form .row .postfix-radius.row.collapse select,
form .row .postfix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 5px;
  -webkit-border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  border-top-left-radius: 5px; }

form .row .postfix-radius.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-top-right-radius: 5px; }

form .row .prefix-round.row.collapse input,
form .row .prefix-round.row.collapse textarea,
form .row .prefix-round.row.collapse select,
form .row .prefix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

form .row .prefix-round.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse input,
form .row .postfix-round.row.collapse textarea,
form .row .postfix-round.row.collapse select,
form .row .postfix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0; }

/* Respect enforced amount of rows for textarea */
textarea[rows] {
  height: auto; }

/* Not allow resize out of parent */
textarea {
  max-width: 100%; }

::-webkit-input-placeholder {
  color: #666666; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #666666; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #666666; }

:-ms-input-placeholder {
  color: #666666; }

/* Add height value for select elements to match text input height */
select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #FAFAFA;
  border-radius: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+");
  background-position: 100% center;
  background-repeat: no-repeat;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  color: rgba(0, 0, 0, 0.75);
  font-family: inherit;
  font-size: 0.875rem;
  line-height: normal;
  padding: 0.5rem;
  border-radius: 0;
  height: 2.3125rem; }
  select::-ms-expand {
    display: none; }
  select.radius {
    border-radius: 5px; }
  select:focus {
    background-color: #f3f3f3;
    border-color: #999999; }
  select:disabled {
    background-color: #DDDDDD;
    cursor: default; }
  select[multiple] {
    height: auto; }

/* Adjust margin for form elements below */
input[type="file"],
input[type="checkbox"],
input[type="radio"],
select {
  margin: 0 0 1rem 0; }

input[type="checkbox"] + label,
input[type="radio"] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }

/* Normalize file input width */
input[type="file"] {
  width: 100%; }

/* HTML5 Number spinners settings */
/* We add basic fieldset styling */
fieldset {
  border: 1px solid #DDDDDD;
  margin: 1.125rem 0;
  padding: 1.25rem; }
  fieldset legend {
    font-weight: bold;
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

/* Error Handling */
[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

[data-abide] span.error, [data-abide] small.error {
  display: none; }

span.error, small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

.error input,
.error textarea,
.error select {
  margin-bottom: 0; }

.error input[type="checkbox"],
.error input[type="radio"] {
  margin-bottom: 1rem; }

.error label,
.error label.error {
  color: #f04124; }

.error small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

.error > label > small {
  background: transparent;
  color: #676767;
  display: inline;
  font-size: 60%;
  font-style: normal;
  margin: 0;
  padding: 0;
  text-transform: capitalize; }

.error span.error-message {
  display: block; }

input.error,
textarea.error,
select.error {
  margin-bottom: 0; }

label.error {
  color: #f04124; }

.icon-bar {
  display: inline-block;
  font-size: 0;
  width: 100%;
  background: #333333; }
  .icon-bar > * {
    display: block;
    float: left;
    font-size: 1rem;
    margin: 0 auto;
    padding: 1.25rem;
    text-align: center;
    width: 25%; }
    .icon-bar > * i, .icon-bar > * img {
      display: block;
      margin: 0 auto; }
      .icon-bar > * i + label, .icon-bar > * img + label {
        margin-top: .0625rem; }
    .icon-bar > * i {
      font-size: 1.875rem;
      vertical-align: middle; }
    .icon-bar > * img {
      height: 1.875rem;
      width: 1.875rem; }
  .icon-bar.label-right > * i, .icon-bar.label-right > * img {
    display: inline-block;
    margin: 0 .0625rem 0 0; }
    .icon-bar.label-right > * i + label, .icon-bar.label-right > * img + label {
      margin-top: 0; }
  .icon-bar.label-right > * label {
    display: inline-block; }
  .icon-bar.vertical.label-right > * {
    text-align: left; }
  .icon-bar.vertical, .icon-bar.small-vertical {
    height: 100%;
    width: auto; }
    .icon-bar.vertical .item, .icon-bar.small-vertical .item {
      float: none;
      margin: auto;
      width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.medium-vertical {
      height: 100%;
      width: auto; }
      .icon-bar.medium-vertical .item {
        float: none;
        margin: auto;
        width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.large-vertical {
      height: 100%;
      width: auto; }
      .icon-bar.large-vertical .item {
        float: none;
        margin: auto;
        width: auto; } }
  .icon-bar > * {
    font-size: 1rem;
    padding: 1.25rem; }
    .icon-bar > * i + label, .icon-bar > * img + label {
      margin-top: .0625rem;
      font-size: 1rem; }
    .icon-bar > * i {
      font-size: 1.875rem; }
    .icon-bar > * img {
      height: 1.875rem;
      width: 1.875rem; }
  .icon-bar > * label {
    color: #FFFFFF; }
  .icon-bar > * i {
    color: #FFFFFF; }
  .icon-bar > a:hover {
    background: #006000; }
    .icon-bar > a:hover label {
      color: #FFFFFF; }
    .icon-bar > a:hover i {
      color: #FFFFFF; }
  .icon-bar > a.active {
    background: #006000; }
    .icon-bar > a.active label {
      color: #FFFFFF; }
    .icon-bar > a.active i {
      color: #FFFFFF; }
  .icon-bar .item.disabled {
    cursor: not-allowed;
    opacity: 0.7;
    pointer-events: none; }
    .icon-bar .item.disabled > * {
      opacity: 0.7;
      cursor: not-allowed; }
  .icon-bar.two-up .item {
    width: 50%; }
  .icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.two-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.two-up.large-vertical .item {
      width: auto; } }
  .icon-bar.three-up .item {
    width: 33.3333%; }
  .icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.three-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.three-up.large-vertical .item {
      width: auto; } }
  .icon-bar.four-up .item {
    width: 25%; }
  .icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.four-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.four-up.large-vertical .item {
      width: auto; } }
  .icon-bar.five-up .item {
    width: 20%; }
  .icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.five-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.five-up.large-vertical .item {
      width: auto; } }
  .icon-bar.six-up .item {
    width: 16.66667%; }
  .icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.six-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.six-up.large-vertical .item {
      width: auto; } }
  .icon-bar.seven-up .item {
    width: 14.28571%; }
  .icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.seven-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.seven-up.large-vertical .item {
      width: auto; } }
  .icon-bar.eight-up .item {
    width: 12.5%; }
  .icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.eight-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.eight-up.large-vertical .item {
      width: auto; } }

.icon-bar.two-up .item {
  width: 50%; }

.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.two-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.two-up.large-vertical .item {
    width: auto; } }

.icon-bar.three-up .item {
  width: 33.3333%; }

.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.three-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.three-up.large-vertical .item {
    width: auto; } }

.icon-bar.four-up .item {
  width: 25%; }

.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.four-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.four-up.large-vertical .item {
    width: auto; } }

.icon-bar.five-up .item {
  width: 20%; }

.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.five-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.five-up.large-vertical .item {
    width: auto; } }

.icon-bar.six-up .item {
  width: 16.66667%; }

.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.six-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.six-up.large-vertical .item {
    width: auto; } }

.icon-bar.seven-up .item {
  width: 14.28571%; }

.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.seven-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.seven-up.large-vertical .item {
    width: auto; } }

.icon-bar.eight-up .item {
  width: 12.5%; }

.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.eight-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.eight-up.large-vertical .item {
    width: auto; } }

.inline-list {
  list-style: none;
  margin-top: 0;
  margin-bottom: 1.0625rem;
  margin-left: -1.375rem;
  margin-right: 0;
  overflow: hidden;
  padding: 0; }
  .inline-list > li {
    display: block;
    float: left;
    list-style: none;
    margin-left: 1.375rem; }
    .inline-list > li > * {
      display: block; }

/* Foundation Joyride */
.joyride-list {
  display: none; }

/* Default styles for the container */
.joyride-tip-guide {
  background: #333333;
  color: #FFFFFF;
  display: none;
  font-family: inherit;
  font-weight: normal;
  position: absolute;
  top: 0;
  width: 95%;
  z-index: 103;
  left: 2.5%; }

.lt-ie9 .joyride-tip-guide {
  margin-left: -400px;
  max-width: 800px;
  left: 50%; }

.joyride-content-wrapper {
  padding: 1.125rem 1.25rem 1.5rem;
  width: 100%; }
  .joyride-content-wrapper .button {
    margin-bottom: 0 !important; }
  .joyride-content-wrapper .joyride-prev-tip {
    margin-right: 10px; }

/* Add a little css triangle pip, older browser just miss out on the fanciness of it */
.joyride-tip-guide .joyride-nub {
  border: 10px solid #333333;
  display: block;
  height: 0;
  position: absolute;
  width: 0;
  left: 22px; }
  .joyride-tip-guide .joyride-nub.top {
    border-color: #333333;
    border-top-color: transparent !important;
    border-top-style: solid;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    top: -20px; }
  .joyride-tip-guide .joyride-nub.bottom {
    border-color: #333333 !important;
    border-bottom-color: transparent !important;
    border-bottom-style: solid;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    bottom: -20px; }
  .joyride-tip-guide .joyride-nub.right {
    right: -20px; }
  .joyride-tip-guide .joyride-nub.left {
    left: -20px; }

/* Typography */
.joyride-tip-guide h1,
.joyride-tip-guide h2,
.joyride-tip-guide h3,
.joyride-tip-guide h4,
.joyride-tip-guide h5,
.joyride-tip-guide h6 {
  color: #FFFFFF;
  font-weight: bold;
  line-height: 1.25;
  margin: 0; }

.joyride-tip-guide p {
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0 0 1.125rem 0; }

.joyride-timer-indicator-wrap {
  border: solid 1px #555555;
  bottom: 1rem;
  height: 3px;
  position: absolute;
  width: 50px;
  right: 1.0625rem; }

.joyride-timer-indicator {
  background: #666666;
  display: block;
  height: inherit;
  width: 0; }

.joyride-close-tip {
  color: #777777 !important;
  font-size: 24px;
  font-weight: normal;
  line-height: .5 !important;
  position: absolute;
  text-decoration: none;
  top: 10px;
  right: 12px; }
  .joyride-close-tip:hover, .joyride-close-tip:focus {
    color: #EEEEEE !important; }

.joyride-modal-bg {
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  display: none;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  left: 0; }

.joyride-expose-wrapper {
  background-color: #FFFFFF;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 15px #FFFFFF;
          box-shadow: 0 0 15px #FFFFFF;
  position: absolute;
  z-index: 102; }

.joyride-expose-cover {
  background: transparent;
  border-radius: 3px;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 9999; }

/* Styles for screens that are at least 768px; */
@media only screen {
  .joyride-tip-guide {
    width: 300px;
    left: inherit; }
    .joyride-tip-guide .joyride-nub.bottom {
      border-color: #333333 !important;
      border-bottom-color: transparent !important;
      border-left-color: transparent !important;
      border-right-color: transparent !important;
      bottom: -20px; }
    .joyride-tip-guide .joyride-nub.right {
      border-color: #333333 !important;
      border-right-color: transparent !important;
      border-bottom-color: transparent !important;
      border-top-color: transparent !important;
      left: auto;
      right: -20px;
      top: 22px; }
    .joyride-tip-guide .joyride-nub.left {
      border-color: #333333 !important;
      border-bottom-color: transparent !important;
      border-left-color: transparent !important;
      border-top-color: transparent !important;
      left: -20px;
      right: auto;
      top: 22px; } }

.keystroke,
kbd {
  background-color: #ededed;
  border-color: #dddddd;
  color: #222222;
  border-style: solid;
  border-width: 1px;
  font-family: "Consolas", "Menlo", "Courier", monospace;
  font-size: inherit;
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  border-radius: 5px; }

.label {
  display: inline-block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1;
  margin-bottom: auto;
  position: relative;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.25rem 0.5rem 0.25rem;
  font-size: 0.6875rem;
  background-color: #006000;
  color: #FFFFFF; }
  .label.radius {
    border-radius: 5px; }
  .label.round {
    border-radius: 1000px; }
  .label.alert {
    background-color: #f04124;
    color: #FFFFFF; }
  .label.warning {
    background-color: #f08a24;
    color: #FFFFFF; }
  .label.success {
    background-color: #bc2f2f;
    color: #FFFFFF; }
  .label.secondary {
    background-color: #2cb02c;
    color: #FFFFFF; }
  .label.info {
    background-color: #a0d3e8;
    color: #333333; }

[data-magellan-expedition], [data-magellan-expedition-clone] {
  background: #FFFFFF;
  min-width: 100%;
  padding: 10px;
  z-index: 50; }
  [data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav {
    margin-bottom: 0; }
    [data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd {
      margin-bottom: 0; }
    [data-magellan-expedition] .sub-nav a, [data-magellan-expedition-clone] .sub-nav a {
      line-height: 1.8em; }

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* Orbit Graceful Loading */
.slideshow-wrapper {
  position: relative; }
  .slideshow-wrapper ul {
    list-style-type: none;
    margin: 0; }
    .slideshow-wrapper ul li,
    .slideshow-wrapper ul li .orbit-caption {
      display: none; }
    .slideshow-wrapper ul li:first-child {
      display: block; }
  .slideshow-wrapper .orbit-container {
    background-color: transparent; }
    .slideshow-wrapper .orbit-container li {
      display: block; }
      .slideshow-wrapper .orbit-container li .orbit-caption {
        display: block; }
    .slideshow-wrapper .orbit-container .orbit-bullets li {
      display: inline-block; }
  .slideshow-wrapper .preloader {
    border-radius: 1000px;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-name: rotate;
            animation-name: rotate;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    border-color: #555555 #FFFFFF;
    border: solid 3px;
    display: block;
    height: 40px;
    left: 50%;
    margin-left: -20px;
    margin-top: -20px;
    position: absolute;
    top: 50%;
    width: 40px; }

.orbit-container {
  background: none;
  overflow: hidden;
  position: relative;
  width: 100%; }
  .orbit-container .orbit-slides-container {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0); }
    .orbit-container .orbit-slides-container img {
      display: block;
      max-width: 100%; }
    .orbit-container .orbit-slides-container > * {
      position: absolute;
      top: 0;
      width: 100%;
      margin-left: 100%; }
      .orbit-container .orbit-slides-container > *:first-child {
        margin-left: 0; }
      .orbit-container .orbit-slides-container > * .orbit-caption {
        bottom: 0;
        position: absolute;
        background-color: rgba(51, 51, 51, 0.8);
        color: #FFFFFF;
        font-size: 0.875rem;
        padding: 0.625rem 0.875rem;
        width: 100%; }
  .orbit-container .orbit-slide-number {
    left: 10px;
    background: transparent;
    color: #FFFFFF;
    font-size: 12px;
    position: absolute;
    top: 10px;
    z-index: 10; }
    .orbit-container .orbit-slide-number span {
      font-weight: 700;
      padding: 0.3125rem; }
  .orbit-container .orbit-timer {
    position: absolute;
    top: 12px;
    right: 10px;
    height: 6px;
    width: 100px;
    z-index: 10; }
    .orbit-container .orbit-timer .orbit-progress {
      height: 3px;
      background-color: rgba(255, 255, 255, 0.3);
      display: block;
      width: 0;
      position: relative;
      right: 20px;
      top: 5px; }
    .orbit-container .orbit-timer > span {
      border: solid 4px #FFFFFF;
      border-bottom: none;
      border-top: none;
      display: none;
      height: 14px;
      position: absolute;
      top: 0;
      width: 11px;
      right: 0; }
    .orbit-container .orbit-timer.paused > span {
      top: 0;
      width: 11px;
      height: 14px;
      border: inset 8px;
      border-left-style: solid;
      border-color: transparent;
      border-left-color: #FFFFFF;
      right: -4px; }
      .orbit-container .orbit-timer.paused > span.dark {
        border-left-color: #333333; }
  .orbit-container:hover .orbit-timer > span {
    display: block; }
  .orbit-container .orbit-prev,
  .orbit-container .orbit-next {
    background-color: transparent;
    color: white;
    height: 60px;
    line-height: 50px;
    margin-top: -25px;
    position: absolute;
    text-indent: -9999px !important;
    top: 45%;
    width: 36px;
    z-index: 10; }
    .orbit-container .orbit-prev:hover,
    .orbit-container .orbit-next:hover {
      background-color: rgba(0, 0, 0, 0.3); }
    .orbit-container .orbit-prev > span,
    .orbit-container .orbit-next > span {
      border: inset 10px;
      display: block;
      height: 0;
      margin-top: -10px;
      position: absolute;
      top: 50%;
      width: 0; }
  .orbit-container .orbit-prev {
    left: 0; }
    .orbit-container .orbit-prev > span {
      border-right-style: solid;
      border-color: transparent;
      border-right-color: #FFFFFF; }
    .orbit-container .orbit-prev:hover > span {
      border-right-color: #FFFFFF; }
  .orbit-container .orbit-next {
    right: 0; }
    .orbit-container .orbit-next > span {
      border-color: transparent;
      border-left-style: solid;
      border-left-color: #FFFFFF;
      left: 50%;
      margin-left: -4px; }
    .orbit-container .orbit-next:hover > span {
      border-left-color: #FFFFFF; }

.orbit-bullets-container {
  text-align: center; }

.orbit-bullets {
  display: block;
  float: none;
  margin: 0 auto 30px auto;
  overflow: hidden;
  position: relative;
  text-align: center;
  top: 10px; }
  .orbit-bullets li {
    background: #CCCCCC;
    cursor: pointer;
    display: inline-block;
    float: none;
    height: 0.5625rem;
    margin-right: 6px;
    width: 0.5625rem;
    border-radius: 1000px; }
    .orbit-bullets li.active {
      background: #999999; }
    .orbit-bullets li:last-child {
      margin-right: 0; }

.touch .orbit-container .orbit-prev,
.touch .orbit-container .orbit-next {
  display: none; }

.touch .orbit-bullets {
  display: none; }

@media only screen and (min-width: 40.0625em) {
  .touch .orbit-container .orbit-prev,
  .touch .orbit-container .orbit-next {
    display: inherit; }
  .touch .orbit-bullets {
    display: block; } }

@media only screen and (max-width: 40em) {
  .orbit-stack-on-small .orbit-slides-container {
    height: auto !important; }
  .orbit-stack-on-small .orbit-slides-container > * {
    margin: 0  !important;
    opacity: 1 !important;
    position: relative; }
  .orbit-stack-on-small .orbit-slide-number {
    display: none; }
  .orbit-timer {
    display: none; }
  .orbit-next, .orbit-prev {
    display: none; }
  .orbit-bullets {
    display: none; } }

ul.pagination {
  display: block;
  margin-left: -0.3125rem;
  min-height: 1.5rem; }
  ul.pagination li {
    color: #222222;
    font-size: 0.875rem;
    height: 1.5rem;
    margin-left: 0.3125rem; }
    ul.pagination li a, ul.pagination li button {
      border-radius: 5px;
      -webkit-transition: background-color 300ms ease-out;
      transition: background-color 300ms ease-out;
      background: none;
      color: #999999;
      display: block;
      font-size: 1em;
      font-weight: normal;
      line-height: inherit;
      padding: 0.0625rem 0.625rem 0.0625rem; }
    ul.pagination li:hover a,
    ul.pagination li a:focus,
    ul.pagination li:hover button,
    ul.pagination li button:focus {
      background: #e6e6e6; }
    ul.pagination li.unavailable a, ul.pagination li.unavailable button {
      cursor: default;
      color: #999999;
      pointer-events: none; }
    ul.pagination li.unavailable:hover a,
    ul.pagination li.unavailable a:focus,
    ul.pagination li.unavailable:hover button,
    ul.pagination li.unavailable button:focus {
      background: transparent; }
    ul.pagination li.current a, ul.pagination li.current button {
      background: #006000;
      color: #FFFFFF;
      cursor: default;
      font-weight: bold; }
      ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus {
        background: #006000; }
  ul.pagination li {
    display: block;
    float: left; }

/* Pagination centred wrapper */
.pagination-centered {
  text-align: center; }
  .pagination-centered ul.pagination li {
    display: inline-block;
    float: none; }

/* Panels */
.panel {
  border-style: solid;
  border-width: 1px;
  border-color: #e3e3e3;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: #ffffff;
  color: #333333; }
  .panel > :first-child {
    margin-top: 0; }
  .panel > :last-child {
    margin-bottom: 0; }
  .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p, .panel li, .panel dl {
    color: #333333; }
  .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 {
    line-height: 1;
    margin-bottom: 0.625rem; }
    .panel h1.subheader, .panel h2.subheader, .panel h3.subheader, .panel h4.subheader, .panel h5.subheader, .panel h6.subheader {
      line-height: 1.4; }
  .panel.callout {
    border-style: solid;
    border-width: 1px;
    border-color: #e3e3e3;
    margin-bottom: 1.25rem;
    padding: 1.25rem;
    background: #e6ffe6;
    color: #333333; }
    .panel.callout > :first-child {
      margin-top: 0; }
    .panel.callout > :last-child {
      margin-bottom: 0; }
    .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6, .panel.callout p, .panel.callout li, .panel.callout dl {
      color: #333333; }
    .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 {
      line-height: 1;
      margin-bottom: 0.625rem; }
      .panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader {
        line-height: 1.4; }
    .panel.callout a:not(.button) {
      color: #006000; }
      .panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus {
        color: #005300; }
  .panel.radius {
    border-radius: 5px; }

/* Pricing Tables */
.pricing-table {
  border: solid 1px #DDDDDD;
  margin-left: 0;
  margin-bottom: 1.25rem; }
  .pricing-table * {
    list-style: none;
    line-height: 1; }
  .pricing-table .title {
    background-color: #333333;
    color: #EEEEEE;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 1rem;
    font-weight: normal;
    padding: 0.9375rem 1.25rem;
    text-align: center; }
  .pricing-table .price {
    background-color: #F6F6F6;
    color: #333333;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 2rem;
    font-weight: normal;
    padding: 0.9375rem 1.25rem;
    text-align: center; }
  .pricing-table .description {
    background-color: #FFFFFF;
    border-bottom: dotted 1px #DDDDDD;
    color: #777777;
    font-size: 0.75rem;
    font-weight: normal;
    line-height: 1.4;
    padding: 0.9375rem;
    text-align: center; }
  .pricing-table .bullet-item {
    background-color: #FFFFFF;
    border-bottom: dotted 1px #DDDDDD;
    color: #333333;
    font-size: 0.875rem;
    font-weight: normal;
    padding: 0.9375rem;
    text-align: center; }
  .pricing-table .cta-button {
    background-color: #FFFFFF;
    padding: 1.25rem 1.25rem 0;
    text-align: center; }

/* Progress Bar */
.progress {
  background-color: #F6F6F6;
  border: 1px solid white;
  height: 1.5625rem;
  margin-bottom: 0.625rem;
  padding: 0.125rem; }
  .progress .meter {
    background: #006000;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
    .progress .meter.secondary {
      background: #2cb02c;
      display: block;
      height: 100%;
      float: left;
      width: 0%; }
    .progress .meter.success {
      background: #bc2f2f;
      display: block;
      height: 100%;
      float: left;
      width: 0%; }
    .progress .meter.alert {
      background: #f04124;
      display: block;
      height: 100%;
      float: left;
      width: 0%; }
  .progress.secondary .meter {
    background: #2cb02c;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
  .progress.success .meter {
    background: #bc2f2f;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
  .progress.alert .meter {
    background: #f04124;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
  .progress.radius {
    border-radius: 5px; }
    .progress.radius .meter {
      border-radius: 4px; }
  .progress.round {
    border-radius: 1000px; }
    .progress.round .meter {
      border-radius: 999px; }

.range-slider {
  border: 1px solid #DDDDDD;
  margin: 1.25rem 0;
  position: relative;
  -ms-touch-action: none;
  touch-action: none;
  display: block;
  height: 1rem;
  width: 100%;
  background: #FAFAFA; }
  .range-slider.vertical-range {
    border: 1px solid #DDDDDD;
    margin: 1.25rem 0;
    position: relative;
    -ms-touch-action: none;
    touch-action: none;
    display: inline-block;
    height: 12.5rem;
    width: 1rem; }
    .range-slider.vertical-range .range-slider-handle {
      bottom: -10.5rem;
      margin-left: -0.5rem;
      margin-top: 0;
      position: absolute; }
    .range-slider.vertical-range .range-slider-active-segment {
      border-bottom-left-radius: inherit;
      border-bottom-right-radius: inherit;
      border-top-left-radius: initial;
      bottom: 0;
      height: auto;
      width: 0.875rem; }
  .range-slider.radius {
    background: #FAFAFA;
    border-radius: 5px; }
    .range-slider.radius .range-slider-handle {
      background: #006000;
      border-radius: 5px; }
      .range-slider.radius .range-slider-handle:hover {
        background: #005400; }
  .range-slider.round {
    background: #FAFAFA;
    border-radius: 1000px; }
    .range-slider.round .range-slider-handle {
      background: #006000;
      border-radius: 1000px; }
      .range-slider.round .range-slider-handle:hover {
        background: #005400; }
  .range-slider.disabled, .range-slider[disabled] {
    background: #FAFAFA;
    cursor: not-allowed;
    opacity: 0.7; }
    .range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle {
      background: #006000;
      cursor: default;
      opacity: 0.7; }
      .range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover {
        background: #005400; }

.range-slider-active-segment {
  background: #2cae2c;
  border-bottom-left-radius: inherit;
  border-top-left-radius: inherit;
  display: inline-block;
  height: 0.875rem;
  position: absolute; }

.range-slider-handle {
  border: 1px solid none;
  cursor: pointer;
  display: inline-block;
  height: 1.375rem;
  position: absolute;
  top: -0.3125rem;
  width: 2rem;
  z-index: 1;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #006000; }
  .range-slider-handle:hover {
    background: #005400; }

.reveal-modal-bg {
  background: #000000;
  background: rgba(0, 0, 0, 0.45);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1004;
  left: 0; }

.reveal-modal {
  border-radius: 5px;
  display: none;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 1005;
  left: 0;
  background-color: #FFFFFF;
  padding: 1.875rem;
  border: solid 1px #666666;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }
  @media only screen and (max-width: 40em) {
    .reveal-modal {
      min-height: 100vh; } }
  .reveal-modal .column, .reveal-modal .columns {
    min-width: 0; }
  .reveal-modal > :first-child {
    margin-top: 0; }
  .reveal-modal > :last-child {
    margin-bottom: 0; }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 80%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal {
      top: 6.25rem; } }
  .reveal-modal.radius {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-radius: 5px; }
  .reveal-modal.round {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-radius: 1000px; }
  .reveal-modal.collapse {
    padding: 0;
    -webkit-box-shadow: none;
            box-shadow: none; }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.tiny {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 30%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.small {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 40%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.medium {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 60%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.large {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 70%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.xlarge {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 95%; } }
  .reveal-modal.full {
    height: 100vh;
    height: 100%;
    left: 0;
    margin-left: 0 !important;
    max-width: none !important;
    min-height: 100vh;
    top: 0; }
    @media only screen and (min-width: 40.0625em) {
      .reveal-modal.full {
        left: 0;
        margin: 0 auto;
        max-width: 62.5rem;
        right: 0;
        width: 100%; } }
  .reveal-modal.toback {
    z-index: 1003; }
  .reveal-modal .close-reveal-modal {
    color: #AAAAAA;
    cursor: pointer;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    top: 0.625rem;
    right: 1.375rem; }

.side-nav {
  display: block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  list-style-position: outside;
  list-style-type: none;
  margin: 0;
  padding: 0.875rem 0; }
  .side-nav li {
    font-size: 0.875rem;
    font-weight: normal;
    margin: 0 0 0.4375rem 0; }
    .side-nav li a:not(.button) {
      color: #006000;
      display: block;
      margin: 0;
      padding: 0.4375rem 0.875rem; }
      .side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus {
        background: rgba(0, 0, 0, 0.025);
        color: #00dc00; }
      .side-nav li a:not(.button):active {
        color: #00dc00; }
    .side-nav li.active > a:first-child:not(.button) {
      color: #00dc00;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-weight: normal; }
    .side-nav li.divider {
      border-top: 1px solid;
      height: 0;
      list-style: none;
      padding: 0;
      border-top-color: #e6e6e6; }
    .side-nav li.heading {
      color: #006000;
      font-size: 0.875rem;
      font-weight: bold;
      text-transform: uppercase; }

.split.button {
  position: relative;
  padding-right: 5.0625rem; }
  .split.button span {
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    border-left: solid 1px; }
    .split.button span:after {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      display: block;
      border-style: inset;
      top: 50%;
      left: 50%; }
    .split.button span:active {
      background-color: rgba(0, 0, 0, 0.1); }
  .split.button span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button span {
    width: 3.09375rem; }
    .split.button span:after {
      border-top-style: solid;
      border-width: 0.375rem;
      margin-left: -0.375rem;
      top: 48%; }
  .split.button span:after {
    border-color: #FFFFFF transparent transparent transparent; }
  .split.button.secondary span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.secondary span:after {
    border-color: #FFFFFF transparent transparent transparent; }
  .split.button.alert span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.success span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.tiny {
    padding-right: 3.75rem; }
    .split.button.tiny span {
      width: 2.25rem; }
      .split.button.tiny span:after {
        border-top-style: solid;
        border-width: 0.375rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.small {
    padding-right: 4.375rem; }
    .split.button.small span {
      width: 2.625rem; }
      .split.button.small span:after {
        border-top-style: solid;
        border-width: 0.4375rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.large {
    padding-right: 5.5rem; }
    .split.button.large span {
      width: 3.4375rem; }
      .split.button.large span:after {
        border-top-style: solid;
        border-width: 0.3125rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.expand {
    padding-left: 2rem; }
  .split.button.secondary span:after {
    border-color: #333333 transparent transparent transparent; }
  .split.button.radius span {
    -webkit-border-bottom-right-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-top-right-radius: 5px; }
  .split.button.round span {
    -webkit-border-bottom-right-radius: 1000px;
    -webkit-border-top-right-radius: 1000px;
    border-bottom-right-radius: 1000px;
    border-top-right-radius: 1000px; }
  .split.button.no-pip span:before {
    border-style: none; }
  .split.button.no-pip span:after {
    border-style: none; }
  .split.button.no-pip span > i {
    display: block;
    left: 50%;
    margin-left: -0.28889em;
    margin-top: -0.48889em;
    position: absolute;
    top: 50%; }

.sub-nav {
  display: block;
  margin: -0.25rem 0 1.125rem;
  overflow: hidden;
  padding-top: 0.25rem;
  width: auto; }
  .sub-nav dt {
    text-transform: uppercase; }
  .sub-nav dt,
  .sub-nav dd,
  .sub-nav li {
    color: #999999;
    float: left;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: normal;
    margin-left: 1rem;
    margin-bottom: 0; }
    .sub-nav dt a,
    .sub-nav dd a,
    .sub-nav li a {
      color: #999999;
      padding: 0.1875rem 1rem;
      text-decoration: none; }
      .sub-nav dt a:hover,
      .sub-nav dd a:hover,
      .sub-nav li a:hover {
        color: #737373; }
    .sub-nav dt.active a,
    .sub-nav dd.active a,
    .sub-nav li.active a {
      border-radius: 3px;
      background: #006000;
      color: #FFFFFF;
      cursor: default;
      font-weight: normal;
      padding: 0.1875rem 1rem; }
      .sub-nav dt.active a:hover,
      .sub-nav dd.active a:hover,
      .sub-nav li.active a:hover {
        background: #005300; }

.switch {
  border: none;
  margin-bottom: 1.5rem;
  outline: 0;
  padding: 0;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .switch label {
    background: #DDDDDD;
    color: transparent;
    cursor: pointer;
    display: block;
    margin-bottom: 1rem;
    position: relative;
    text-indent: 100%;
    width: 4rem;
    height: 2rem;
    -webkit-transition: left 0.15s ease-out;
    transition: left 0.15s ease-out; }
  .switch input {
    left: 10px;
    opacity: 0;
    padding: 0;
    position: absolute;
    top: 9px; }
    .switch input + label {
      margin-left: 0;
      margin-right: 0; }
  .switch label:after {
    background: #FFFFFF;
    content: "";
    display: block;
    height: 1.5rem;
    left: .25rem;
    position: absolute;
    top: .25rem;
    width: 1.5rem;
    -webkit-transition: left 0.15s ease-out;
    transition: left 0.15s ease-out;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  .switch input:checked + label {
    background: #006000; }
  .switch input:checked + label:after {
    left: 2.25rem; }
  .switch label {
    height: 2rem;
    width: 4rem; }
  .switch label:after {
    height: 1.5rem;
    width: 1.5rem; }
  .switch input:checked + label:after {
    left: 2.25rem; }
  .switch label {
    color: transparent;
    background: #DDDDDD; }
  .switch label:after {
    background: #FFFFFF; }
  .switch input:checked + label {
    background: #006000; }
  .switch.large label {
    height: 2.5rem;
    width: 5rem; }
  .switch.large label:after {
    height: 2rem;
    width: 2rem; }
  .switch.large input:checked + label:after {
    left: 2.75rem; }
  .switch.small label {
    height: 1.75rem;
    width: 3.5rem; }
  .switch.small label:after {
    height: 1.25rem;
    width: 1.25rem; }
  .switch.small input:checked + label:after {
    left: 2rem; }
  .switch.tiny label {
    height: 1.5rem;
    width: 3rem; }
  .switch.tiny label:after {
    height: 1rem;
    width: 1rem; }
  .switch.tiny input:checked + label:after {
    left: 1.75rem; }
  .switch.radius label {
    border-radius: 4px; }
  .switch.radius label:after {
    border-radius: 3px; }
  .switch.round {
    border-radius: 1000px; }
    .switch.round label {
      border-radius: 2rem; }
    .switch.round label:after {
      border-radius: 2rem; }

table {
  background: #FFFFFF;
  border: solid 1px #DDDDDD;
  margin-bottom: 1.25rem;
  table-layout: auto; }
  table caption {
    background: transparent;
    color: #222222;
    font-size: 1rem;
    font-weight: bold; }
  table thead {
    background: #F5F5F5; }
    table thead tr th,
    table thead tr td {
      color: #222222;
      font-size: 0.875rem;
      font-weight: bold;
      padding: 0.5rem 0.625rem 0.625rem; }
  table tfoot {
    background: #F5F5F5; }
    table tfoot tr th,
    table tfoot tr td {
      color: #222222;
      font-size: 0.875rem;
      font-weight: bold;
      padding: 0.5rem 0.625rem 0.625rem; }
  table tr th,
  table tr td {
    color: #222222;
    font-size: 0.875rem;
    padding: 0.5625rem 0.625rem;
    text-align: left; }
  table tr.even, table tr.alt, table tr:nth-of-type(even) {
    background: #F9F9F9; }
  table thead tr th,
  table tfoot tr th,
  table tfoot tr td,
  table tbody tr th,
  table tbody tr td,
  table tr td {
    display: table-cell;
    line-height: 1.125rem; }

.tabs {
  margin-bottom: 0 !important;
  margin-left: 0; }
  .tabs:before, .tabs:after {
    content: " ";
    display: table; }
  .tabs:after {
    clear: both; }
  .tabs dd,
  .tabs .tab-title {
    float: left;
    list-style: none;
    margin-bottom: 0 !important;
    position: relative; }
    .tabs dd > a,
    .tabs .tab-title > a {
      display: block;
      background-color: #EFEFEF;
      color: #222222;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      padding: 1rem 2rem; }
      .tabs dd > a:hover,
      .tabs .tab-title > a:hover {
        background-color: #e1e1e1; }
    .tabs dd.active > a,
    .tabs .tab-title.active > a {
      background-color: #FFFFFF;
      color: #222222; }
  .tabs.radius dd:first-child a,
  .tabs.radius .tab:first-child a {
    -webkit-border-bottom-left-radius: 5px;
    -webkit-border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    border-top-left-radius: 5px; }
  .tabs.radius dd:last-child a,
  .tabs.radius .tab:last-child a {
    -webkit-border-bottom-right-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-top-right-radius: 5px; }
  .tabs.vertical dd,
  .tabs.vertical .tab-title {
    position: inherit;
    float: none;
    display: block;
    top: auto; }

.tabs-content {
  margin-bottom: 1.5rem;
  width: 100%; }
  .tabs-content:before, .tabs-content:after {
    content: " ";
    display: table; }
  .tabs-content:after {
    clear: both; }
  .tabs-content > .content {
    display: none;
    float: left;
    padding: 0.9375rem 0;
    width: 100%; }
    .tabs-content > .content.active {
      display: block;
      float: none; }
    .tabs-content > .content.contained {
      padding: 0.9375rem; }
  .tabs-content.vertical {
    display: block; }
    .tabs-content.vertical > .content {
      padding: 0 0.9375rem; }

@media only screen and (min-width: 40.0625em) {
  .tabs.vertical {
    float: left;
    margin: 0;
    margin-bottom: 1.25rem !important;
    max-width: 20%;
    width: 20%; }
  .tabs-content.vertical {
    float: left;
    margin-left: -1px;
    max-width: 80%;
    padding-left: 1rem;
    width: 80%; } }

.no-js .tabs-content > .content {
  display: block;
  float: none; }

/* Image Thumbnails */
.th {
  border: solid 4px #FFFFFF;
  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  -webkit-transition: all 200ms ease-out;
  transition: all 200ms ease-out; }
  .th:hover, .th:focus {
    -webkit-box-shadow: 0 0 6px 1px rgba(0, 96, 0, 0.5);
            box-shadow: 0 0 6px 1px rgba(0, 96, 0, 0.5); }
  .th.radius {
    border-radius: 5px; }

/* Tooltips */
.has-tip {
  border-bottom: dotted 1px #CCCCCC;
  color: #333333;
  cursor: help;
  font-weight: bold; }
  .has-tip:hover, .has-tip:focus {
    border-bottom: dotted 1px #002b00;
    color: #006000; }
  .has-tip.tip-left, .has-tip.tip-right {
    float: none !important; }

.tooltip {
  background: #333333;
  color: #FFFFFF;
  display: none;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.3;
  max-width: 300px;
  padding: 0.75rem;
  position: absolute;
  width: 100%;
  z-index: 1006;
  left: 50%; }
  .tooltip > .nub {
    border: solid 5px;
    border-color: transparent transparent #333333 transparent;
    display: block;
    height: 0;
    pointer-events: none;
    position: absolute;
    top: -10px;
    width: 0;
    left: 5px; }
    .tooltip > .nub.rtl {
      left: auto;
      right: 5px; }
  .tooltip.radius {
    border-radius: 5px; }
  .tooltip.round {
    border-radius: 1000px; }
    .tooltip.round > .nub {
      left: 2rem; }
  .tooltip.opened {
    border-bottom: dotted 1px #002b00 !important;
    color: #006000 !important; }

.tap-to-close {
  color: #777777;
  display: block;
  font-size: 0.625rem;
  font-weight: normal; }

@media only screen {
  .tooltip > .nub {
    border-color: transparent transparent #333333 transparent;
    top: -10px; }
  .tooltip.tip-top > .nub {
    border-color: #333333 transparent transparent transparent;
    bottom: -10px;
    top: auto; }
  .tooltip.tip-left, .tooltip.tip-right {
    float: none !important; }
  .tooltip.tip-left > .nub {
    border-color: transparent transparent transparent #333333;
    left: auto;
    margin-top: -5px;
    right: -10px;
    top: 50%; }
  .tooltip.tip-right > .nub {
    border-color: transparent #333333 transparent transparent;
    left: -10px;
    margin-top: -5px;
    right: auto;
    top: 50%; } }

meta.foundation-mq-topbar {
  font-family: "/only screen and (min-width: 960px)/";
  width: 960px; }

/* Wrapped around .top-bar to contain to grid width */
.contain-to-grid {
  width: 100%;
  background: #eee; }
  .contain-to-grid .top-bar {
    margin-bottom: 0; }

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
  left: 0; }
  .fixed.expanded:not(.top-bar) {
    height: auto;
    max-height: 100%;
    overflow-y: auto;
    width: 100%; }
    .fixed.expanded:not(.top-bar) .title-area {
      position: fixed;
      width: 100%;
      z-index: 99; }
    .fixed.expanded:not(.top-bar) .top-bar-section {
      margin-top: 2.8125rem;
      z-index: 98; }

.top-bar {
  background: #eee;
  height: 2.8125rem;
  line-height: 2.8125rem;
  margin-bottom: 0;
  overflow: hidden;
  position: relative; }
  .top-bar ul {
    list-style: none;
    margin-bottom: 0; }
  .top-bar .row {
    max-width: none; }
  .top-bar form,
  .top-bar input,
  .top-bar select {
    margin-bottom: 0; }
  .top-bar input,
  .top-bar select {
    font-size: 0.75rem;
    height: 1.75rem;
    padding-bottom: .35rem;
    padding-top: .35rem; }
  .top-bar .button, .top-bar button {
    font-size: 0.75rem;
    margin-bottom: 0;
    padding-bottom: 0.4125rem;
    padding-top: 0.4125rem; }
    @media only screen and (max-width: 40em) {
      .top-bar .button, .top-bar button {
        position: relative;
        top: -1px; } }
  .top-bar .title-area {
    margin: 0;
    position: relative; }
  .top-bar .name {
    font-size: 16px;
    height: 2.8125rem;
    margin: 0; }
    .top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span {
      font-size: 1.0625rem;
      line-height: 2.8125rem;
      margin: 0; }
      .top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a {
        color: #222;
        display: block;
        font-weight: normal;
        padding: 0 0.9375rem;
        width: 75%; }
  .top-bar .toggle-topbar {
    position: absolute;
    right: 0;
    top: 0; }
    .top-bar .toggle-topbar a {
      color: #222;
      display: block;
      font-size: 0.8125rem;
      font-weight: bold;
      height: 2.8125rem;
      line-height: 2.8125rem;
      padding: 0 0.9375rem;
      position: relative;
      text-transform: uppercase; }
    .top-bar .toggle-topbar.menu-icon {
      margin-top: -16px;
      top: 50%; }
      .top-bar .toggle-topbar.menu-icon a {
        color: #222;
        height: 34px;
        line-height: 33px;
        padding: 0 2.5rem 0 0.9375rem;
        position: relative; }
        .top-bar .toggle-topbar.menu-icon a span::after {
          content: "";
          display: block;
          height: 0;
          position: absolute;
          margin-top: -8px;
          top: 50%;
          right: 0.9375rem;
          -webkit-box-shadow: 0 0 0 1px #222, 0 7px 0 1px #222, 0 14px 0 1px #222;
                  box-shadow: 0 0 0 1px #222, 0 7px 0 1px #222, 0 14px 0 1px #222;
          width: 16px; }
        .top-bar .toggle-topbar.menu-icon a span:hover:after {
          -webkit-box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px "";
                  box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px ""; }
  .top-bar.expanded {
    background: transparent;
    height: auto; }
    .top-bar.expanded .title-area {
      background: #eee; }
    .top-bar.expanded .toggle-topbar a {
      color: #888888; }
      .top-bar.expanded .toggle-topbar a span::after {
        -webkit-box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888;
                box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888; }
    @media screen and (-webkit-min-device-pixel-ratio: 0) {
      .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown,
      .top-bar.expanded .top-bar-section .dropdown {
        clip: initial; }
      .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul {
        padding: 0; } }

.top-bar-section {
  left: 0;
  position: relative;
  width: auto;
  -webkit-transition: left 300ms ease-out;
  transition: left 300ms ease-out; }
  .top-bar-section ul {
    display: block;
    font-size: 16px;
    height: auto;
    margin: 0;
    padding: 0;
    width: 100%; }
  .top-bar-section .divider,
  .top-bar-section [role="separator"] {
    border-top: solid 1px #777777;
    clear: both;
    height: 1px;
    width: 100%; }
  .top-bar-section ul li {
    background: #eee; }
    .top-bar-section ul li > a {
      color: #222;
      display: block;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 0.8125rem;
      font-weight: normal;
      padding-left: 0.9375rem;
      padding: 12px 0 12px 0.9375rem;
      text-transform: none;
      width: 100%; }
      .top-bar-section ul li > a.button {
        font-size: 0.8125rem;
        padding-left: 0.9375rem;
        padding-right: 0.9375rem;
        background-color: #006000;
        border-color: #004d00;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
          background-color: #004d00; }
        .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.secondary {
        background-color: #2cb02c;
        border-color: #238d23;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
          background-color: #238d23; }
        .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.success {
        background-color: #bc2f2f;
        border-color: #962626;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
          background-color: #962626; }
        .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.alert {
        background-color: #f04124;
        border-color: #cf2a0e;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
          background-color: #cf2a0e; }
        .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.warning {
        background-color: #f08a24;
        border-color: #cf6e0e;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
          background-color: #cf6e0e; }
        .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.info {
        background-color: #a0d3e8;
        border-color: #61b6d9;
        color: #333333; }
        .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
          background-color: #61b6d9; }
        .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
          color: #FFFFFF; }
    .top-bar-section ul li > button {
      font-size: 0.8125rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      background-color: #006000;
      border-color: #004d00;
      color: #FFFFFF; }
      .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
        background-color: #004d00; }
      .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
        color: #FFFFFF; }
      .top-bar-section ul li > button.secondary {
        background-color: #2cb02c;
        border-color: #238d23;
        color: #FFFFFF; }
        .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
          background-color: #238d23; }
        .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.success {
        background-color: #bc2f2f;
        border-color: #962626;
        color: #FFFFFF; }
        .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
          background-color: #962626; }
        .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.alert {
        background-color: #f04124;
        border-color: #cf2a0e;
        color: #FFFFFF; }
        .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
          background-color: #cf2a0e; }
        .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.warning {
        background-color: #f08a24;
        border-color: #cf6e0e;
        color: #FFFFFF; }
        .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
          background-color: #cf6e0e; }
        .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.info {
        background-color: #a0d3e8;
        border-color: #61b6d9;
        color: #333333; }
        .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
          background-color: #61b6d9; }
        .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
          color: #FFFFFF; }
    .top-bar-section ul li:hover:not(.has-form) > a {
      background-color: #555555;
      color: #FFFFFF;
      background: #222222; }
    .top-bar-section ul li.active > a {
      background: #006000;
      color: #FFFFFF; }
      .top-bar-section ul li.active > a:hover {
        background: #005300;
        color: #FFFFFF; }
  .top-bar-section .has-form {
    padding: 0.9375rem; }
  .top-bar-section .has-dropdown {
    position: relative; }
    .top-bar-section .has-dropdown > a:after {
      border: inset 5px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent rgba(255, 255, 255, 0.4);
      border-left-style: solid;
      margin-right: 0.9375rem;
      margin-top: -4.5px;
      position: absolute;
      top: 50%;
      right: 0; }
    .top-bar-section .has-dropdown.moved {
      position: static; }
      .top-bar-section .has-dropdown.moved > .dropdown {
        position: static !important;
        height: auto;
        width: auto;
        overflow: visible;
        clip: auto;
        display: block;
        position: absolute !important;
        width: 100%; }
      .top-bar-section .has-dropdown.moved > a:after {
        display: none; }
  .top-bar-section .dropdown {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    display: block;
    padding: 0;
    position: absolute;
    top: 0;
    z-index: 99;
    left: 100%; }
    .top-bar-section .dropdown li {
      height: auto;
      width: 100%; }
      .top-bar-section .dropdown li a {
        font-weight: normal;
        padding: 8px 0.9375rem; }
        .top-bar-section .dropdown li a.parent-link {
          font-weight: normal; }
      .top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link {
        margin-bottom: 0;
        margin-top: 0;
        font-size: 1.125rem; }
        .top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a {
          color: #222;
          display: block; }
          .top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover {
            background: none; }
      .top-bar-section .dropdown li.has-form {
        padding: 8px 0.9375rem; }
      .top-bar-section .dropdown li .button,
      .top-bar-section .dropdown li button {
        top: auto; }
    .top-bar-section .dropdown label {
      color: #777777;
      font-size: 0.625rem;
      font-weight: bold;
      margin-bottom: 0;
      padding: 8px 0.9375rem 2px;
      text-transform: uppercase; }

.js-generated {
  display: block; }

@media only screen and (min-width: 960px) {
  .top-bar {
    background: #eee;
    overflow: visible; }
    .top-bar:before, .top-bar:after {
      content: " ";
      display: table; }
    .top-bar:after {
      clear: both; }
    .top-bar .toggle-topbar {
      display: none; }
    .top-bar .title-area {
      float: left; }
    .top-bar .name h1 a,
    .top-bar .name h2 a,
    .top-bar .name h3 a,
    .top-bar .name h4 a,
    .top-bar .name h5 a,
    .top-bar .name h6 a {
      width: auto; }
    .top-bar input,
    .top-bar select,
    .top-bar .button,
    .top-bar button {
      font-size: 0.875rem;
      height: 1.75rem;
      position: relative;
      top: 0.53125rem; }
    .top-bar .has-form > .button,
    .top-bar .has-form > button {
      font-size: 0.875rem;
      height: 1.75rem;
      position: relative;
      top: 0.53125rem; }
    .top-bar.expanded {
      background: #eee; }
  .contain-to-grid .top-bar {
    margin: 0 auto;
    margin-bottom: 0;
    max-width: 62.5rem; }
  .top-bar-section {
    -webkit-transition: none 0 0;
    transition: none 0 0;
    left: 0 !important; }
    .top-bar-section ul {
      display: inline;
      height: auto !important;
      width: auto; }
      .top-bar-section ul li {
        float: left; }
        .top-bar-section ul li .js-generated {
          display: none; }
    .top-bar-section li.hover > a:not(.button) {
      background-color: #555555;
      background: #222222;
      color: #FFFFFF; }
    .top-bar-section li:not(.has-form) a:not(.button) {
      background: #eee;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      .top-bar-section li:not(.has-form) a:not(.button):hover {
        background-color: #555555;
        background: #222222; }
    .top-bar-section li.active:not(.has-form) a:not(.button) {
      background: #006000;
      color: #FFFFFF;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      .top-bar-section li.active:not(.has-form) a:not(.button):hover {
        background: #005300;
        color: #FFFFFF; }
    .top-bar-section .has-dropdown > a {
      padding-right: 2.1875rem !important; }
      .top-bar-section .has-dropdown > a:after {
        border: inset 5px;
        content: "";
        display: block;
        height: 0;
        width: 0;
        border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent;
        border-top-style: solid;
        margin-top: -2.5px;
        top: 1.40625rem; }
    .top-bar-section .has-dropdown.moved {
      position: relative; }
      .top-bar-section .has-dropdown.moved > .dropdown {
        clip: rect(1px, 1px, 1px, 1px);
        height: 1px;
        overflow: hidden;
        position: absolute !important;
        width: 1px;
        display: block; }
    .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    .top-bar-section .has-dropdown > a:focus + .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {
      border: none;
      content: "\00bb";
      top: 0.1875rem;
      right: 5px; }
    .top-bar-section .dropdown {
      left: 0;
      background: transparent;
      min-width: 100%;
      top: auto; }
      .top-bar-section .dropdown li a {
        background: #eee;
        color: #222;
        line-height: 2.8125rem;
        padding: 12px 0.9375rem;
        white-space: nowrap; }
      .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) {
        background: #eee;
        color: #222; }
      .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) {
        background-color: #555555;
        color: #FFFFFF;
        background: #222222; }
      .top-bar-section .dropdown li label {
        background: #333333;
        white-space: nowrap; }
      .top-bar-section .dropdown li .dropdown {
        left: 100%;
        top: 0; }
    .top-bar-section > ul > .divider,
    .top-bar-section > ul > [role="separator"] {
      border-right: solid 1px #f0f0f0;
      border-bottom: none;
      border-top: none;
      clear: none;
      height: 2.8125rem;
      width: 0; }
    .top-bar-section .has-form {
      background: #eee;
      height: 2.8125rem;
      padding: 0 0.9375rem; }
    .top-bar-section .right li .dropdown {
      left: auto;
      right: 0; }
      .top-bar-section .right li .dropdown li .dropdown {
        right: 100%; }
    .top-bar-section .left li .dropdown {
      right: auto;
      left: 0; }
      .top-bar-section .left li .dropdown li .dropdown {
        left: 100%; }
  .no-js .top-bar-section ul li:hover > a {
    background-color: #555555;
    background: #222222;
    color: #FFFFFF; }
  .no-js .top-bar-section ul li:active > a {
    background: #006000;
    color: #FFFFFF; }
  .no-js .top-bar-section .has-dropdown:hover > .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; }
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; } }

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

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

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

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

@media only screen and (max-width: 40em) {
  .small-only-text-left {
    text-align: left !important; }
  .small-only-text-right {
    text-align: right !important; }
  .small-only-text-center {
    text-align: center !important; }
  .small-only-text-justify {
    text-align: justify !important; } }

@media only screen {
  .small-text-left {
    text-align: left !important; }
  .small-text-right {
    text-align: right !important; }
  .small-text-center {
    text-align: center !important; }
  .small-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 40.0625em) and (max-width: 64em) {
  .medium-only-text-left {
    text-align: left !important; }
  .medium-only-text-right {
    text-align: right !important; }
  .medium-only-text-center {
    text-align: center !important; }
  .medium-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 40.0625em) {
  .medium-text-left {
    text-align: left !important; }
  .medium-text-right {
    text-align: right !important; }
  .medium-text-center {
    text-align: center !important; }
  .medium-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 64.0625em) and (max-width: 90em) {
  .large-only-text-left {
    text-align: left !important; }
  .large-only-text-right {
    text-align: right !important; }
  .large-only-text-center {
    text-align: center !important; }
  .large-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 64.0625em) {
  .large-text-left {
    text-align: left !important; }
  .large-text-right {
    text-align: right !important; }
  .large-text-center {
    text-align: center !important; }
  .large-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 90.0625em) and (max-width: 120em) {
  .xlarge-only-text-left {
    text-align: left !important; }
  .xlarge-only-text-right {
    text-align: right !important; }
  .xlarge-only-text-center {
    text-align: center !important; }
  .xlarge-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 90.0625em) {
  .xlarge-text-left {
    text-align: left !important; }
  .xlarge-text-right {
    text-align: right !important; }
  .xlarge-text-center {
    text-align: center !important; }
  .xlarge-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 120.0625em) and (max-width: 6249999.9375em) {
  .xxlarge-only-text-left {
    text-align: left !important; }
  .xxlarge-only-text-right {
    text-align: right !important; }
  .xxlarge-only-text-center {
    text-align: center !important; }
  .xxlarge-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 120.0625em) {
  .xxlarge-text-left {
    text-align: left !important; }
  .xxlarge-text-right {
    text-align: right !important; }
  .xxlarge-text-center {
    text-align: center !important; }
  .xxlarge-text-justify {
    text-align: justify !important; } }

/* Typography resets */
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

/* Default Link Styles */
a {
  color: #bc2f2f;
  line-height: inherit;
  text-decoration: none; }
  a:hover, a:focus {
    color: #8f2424; }
  a img {
    border: none; }

/* Default paragraph styles */
p {
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  text-rendering: optimizeLegibility; }
  p.lead {
    font-size: 1.21875rem;
    line-height: 1.6; }
  p aside {
    font-size: 0.875rem;
    font-style: italic;
    line-height: 1.35; }

/* Default header styles */
h1, h2, h3, h4, h5, h6 {
  color: #222222;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 1rem;
  margin-top: 0.2rem;
  text-rendering: optimizeLegibility; }
  h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    color: #6f6f6f;
    font-size: 60%;
    line-height: 0; }

h1 {
  font-size: 2.125rem; }

h2 {
  font-size: 1.6875rem; }

h3 {
  font-size: 1.375rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.125rem; }

h6 {
  font-size: 1rem; }

.subheader {
  line-height: 1.4;
  color: #6f6f6f;
  font-weight: normal;
  margin-top: 0.2rem;
  margin-bottom: 0.5rem; }

hr {
  border: solid #DDDDDD;
  border-width: 1px 0 0;
  clear: both;
  height: 0;
  margin: 1.25rem 0 1.1875rem; }

/* Helpful Typography Defaults */
em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 60%;
  line-height: inherit; }

code {
  background-color: #b9eeb9;
  border-color: #98e598;
  border-style: solid;
  border-width: 1px;
  color: #333333;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  padding: 0.125rem 0.3125rem 0.0625rem; }

/* Lists */
ul,
ol,
dl {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.6;
  list-style-position: outside;
  margin-bottom: 1.25rem; }

ul {
  margin-left: 1.1rem; }

/* Unordered Lists */
ul li ul,
ul li ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

ul.square li ul, ul.circle li ul, ul.disc li ul {
  list-style: inherit; }

ul.square {
  list-style-type: square;
  margin-left: 1.1rem; }

ul.circle {
  list-style-type: circle;
  margin-left: 1.1rem; }

ul.disc {
  list-style-type: disc;
  margin-left: 1.1rem; }

/* Ordered Lists */
ol {
  margin-left: 1.4rem; }
  ol li ul,
  ol li ol {
    margin-left: 1.25rem;
    margin-bottom: 0; }

.no-bullet {
  list-style-type: none;
  margin-left: 0; }
  .no-bullet li ul,
  .no-bullet li ol {
    margin-left: 1.25rem;
    margin-bottom: 0;
    list-style: none; }

/* Definition Lists */
dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold; }

dl dd {
  margin-bottom: 0.75rem; }

/* Abbreviations */
abbr,
acronym {
  text-transform: uppercase;
  font-size: 90%;
  color: #222;
  cursor: help; }

abbr {
  text-transform: none; }
  abbr[title] {
    border-bottom: 1px dotted #DDDDDD; }

/* Blockquotes */
blockquote {
  margin: 0 0 1.25rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #DDDDDD; }
  blockquote cite {
    display: block;
    font-size: 0.8125rem;
    color: #555555; }
    blockquote cite:before {
      content: "\2014 \0020"; }
    blockquote cite a,
    blockquote cite a:visited {
      color: #555555; }

blockquote,
blockquote p {
  line-height: 1.6;
  color: #6f6f6f; }

/* Microformats */
.vcard {
  display: inline-block;
  margin: 0 0 1.25rem 0;
  border: 1px solid #DDDDDD;
  padding: 0.625rem 0.75rem; }
  .vcard li {
    margin: 0;
    display: block; }
  .vcard .fn {
    font-weight: bold;
    font-size: 0.9375rem; }

.vevent .summary {
  font-weight: bold; }

.vevent abbr {
  cursor: default;
  text-decoration: none;
  font-weight: bold;
  border: none;
  padding: 0 0.0625rem; }

@media only screen and (min-width: 40.0625em) {
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4; }
  h1 {
    font-size: 2.75rem; }
  h2 {
    font-size: 2.3125rem; }
  h3 {
    font-size: 1.6875rem; }
  h4 {
    font-size: 1.4375rem; }
  h5 {
    font-size: 1.125rem; }
  h6 {
    font-size: 1rem; } }

/*
       * Print styles.
       *
       * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
       * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
      */
@media print {
  * {
    background: transparent !important;
    color: #000000 !important;
    /* Black prints faster: h5bp.com/s */
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group;
    /* h5bp.com/t */ }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.34in; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

.off-canvas-wrap {
  -webkit-backface-visibility: hidden;
  position: relative;
  width: 100%;
  overflow: hidden; }
  .off-canvas-wrap.move-right, .off-canvas-wrap.move-left, .off-canvas-wrap.move-bottom, .off-canvas-wrap.move-top {
    min-height: 100%;
    -webkit-overflow-scrolling: touch; }

.inner-wrap {
  position: relative;
  width: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  .inner-wrap:before, .inner-wrap:after {
    content: " ";
    display: table; }
  .inner-wrap:after {
    clear: both; }

.tab-bar {
  -webkit-backface-visibility: hidden;
  background: #333333;
  color: #FFFFFF;
  height: 2.8125rem;
  line-height: 2.8125rem;
  position: relative; }
  .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4, .tab-bar h5, .tab-bar h6 {
    color: #FFFFFF;
    font-weight: bold;
    line-height: 2.8125rem;
    margin: 0; }
  .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 {
    font-size: 1.125rem; }

.left-small {
  height: 2.8125rem;
  position: absolute;
  top: 0;
  width: 2.8125rem;
  border-right: solid 1px #1a1a1a;
  left: 0; }

.right-small {
  height: 2.8125rem;
  position: absolute;
  top: 0;
  width: 2.8125rem;
  border-left: solid 1px #1a1a1a;
  right: 0; }

.tab-bar-section {
  height: 2.8125rem;
  padding: 0 0.625rem;
  position: absolute;
  text-align: center;
  top: 0; }
  .tab-bar-section.left {
    text-align: left; }
  .tab-bar-section.right {
    text-align: right; }
  .tab-bar-section.left {
    left: 0;
    right: 2.8125rem; }
  .tab-bar-section.right {
    left: 2.8125rem;
    right: 0; }
  .tab-bar-section.middle {
    left: 2.8125rem;
    right: 2.8125rem; }

.tab-bar .menu-icon {
  color: #FFFFFF;
  display: block;
  height: 2.8125rem;
  padding: 0;
  position: relative;
  text-indent: 2.1875rem;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  width: 2.8125rem; }
  .tab-bar .menu-icon span::after {
    content: "";
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
    left: 0.90625rem;
    -webkit-box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
            box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
    width: 1rem; }
  .tab-bar .menu-icon span:hover:after {
    -webkit-box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3;
            box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3; }

.left-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  -webkit-transition: -webkit-transform 500ms ease 0s;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0;
  top: 0; }
  .left-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

.right-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  -webkit-transition: -webkit-transform 500ms ease 0s;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(100%, 0, 0);
  -ms-transform: translate(100%, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
  top: 0; }
  .right-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

.top-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  -webkit-transition: -webkit-transform 500ms ease 0s;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(0, -100%, 0);
  -ms-transform: translate(0, -100%);
  transform: translate3d(0, -100%, 0);
  top: 0;
  width: 100%;
  height: 18.75rem; }
  .top-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

.bottom-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  -webkit-transition: -webkit-transform 500ms ease 0s;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(0, 100%, 0);
  -ms-transform: translate(0, 100%);
  transform: translate3d(0, 100%, 0);
  bottom: 0;
  width: 100%;
  height: 18.75rem; }
  .bottom-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

ul.off-canvas-list {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  ul.off-canvas-list li label {
    background: #444444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    display: block;
    font-size: 0.75rem;
    font-weight: bold;
    margin: 0;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase; }
  ul.off-canvas-list li a {
    border-bottom: 1px solid #262626;
    color: rgba(255, 255, 255, 0.7);
    display: block;
    padding: 0.66667rem;
    -webkit-transition: background 300ms ease;
    transition: background 300ms ease; }
    ul.off-canvas-list li a:hover {
      background: #242424; }
    ul.off-canvas-list li a:active {
      background: #242424; }

.move-right > .inner-wrap {
  -webkit-transform: translate3d(15.625rem, 0, 0);
  -ms-transform: translate(15.625rem, 0);
  transform: translate3d(15.625rem, 0, 0); }

.move-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
          box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .move-right .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.move-left > .inner-wrap {
  -webkit-transform: translate3d(-15.625rem, 0, 0);
  -ms-transform: translate(-15.625rem, 0);
  transform: translate3d(-15.625rem, 0, 0); }

.move-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
          box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .move-left .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.move-top > .inner-wrap {
  -webkit-transform: translate3d(0, -18.75rem, 0);
  -ms-transform: translate(0, -18.75rem);
  transform: translate3d(0, -18.75rem, 0); }

.move-top .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
          box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .move-top .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.move-bottom > .inner-wrap {
  -webkit-transform: translate3d(0, 18.75rem, 0);
  -ms-transform: translate(0, 18.75rem);
  transform: translate3d(0, 18.75rem, 0); }

.move-bottom .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
          box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .move-bottom .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu,
.offcanvas-overlap .top-off-canvas-menu, .offcanvas-overlap .bottom-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
          box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .offcanvas-overlap .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-left .right-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
          box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .offcanvas-overlap-left .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-right .left-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
          box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .offcanvas-overlap-right .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-top .bottom-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-top .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
          box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .offcanvas-overlap-top .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-bottom .top-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-bottom .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
          box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .offcanvas-overlap-bottom .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.no-csstransforms .left-off-canvas-menu {
  left: -15.625rem; }

.no-csstransforms .right-off-canvas-menu {
  right: -15.625rem; }

.no-csstransforms .top-off-canvas-menu {
  top: -18.75rem; }

.no-csstransforms .bottom-off-canvas-menu {
  bottom: -18.75rem; }

.no-csstransforms .move-left > .inner-wrap {
  right: 15.625rem; }

.no-csstransforms .move-right > .inner-wrap {
  left: 15.625rem; }

.no-csstransforms .move-top > .inner-wrap {
  right: 18.75rem; }

.no-csstransforms .move-bottom > .inner-wrap {
  left: 18.75rem; }

.left-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  .left-submenu * {
    -webkit-backface-visibility: hidden; }
  .left-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .left-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    .left-submenu .back > a:before {
      content: "\AB";
      margin-right: .5rem;
      display: inline; }
  .left-submenu.move-right, .left-submenu.offcanvas-overlap-right, .left-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0%, 0, 0);
    -ms-transform: translate(0%, 0);
    transform: translate3d(0%, 0, 0); }

.right-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(100%, 0, 0);
  -ms-transform: translate(100%, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  .right-submenu * {
    -webkit-backface-visibility: hidden; }
  .right-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .right-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    .right-submenu .back > a:after {
      content: "\BB";
      margin-left: .5rem;
      display: inline; }
  .right-submenu.move-left, .right-submenu.offcanvas-overlap-left, .right-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0%, 0, 0);
    -ms-transform: translate(0%, 0);
    transform: translate3d(0%, 0, 0); }

.top-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(0, -100%, 0);
  -ms-transform: translate(0, -100%);
  transform: translate3d(0, -100%, 0);
  top: 0;
  width: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  .top-submenu * {
    -webkit-backface-visibility: hidden; }
  .top-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .top-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
  .top-submenu.move-bottom, .top-submenu.offcanvas-overlap-bottom, .top-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0, 0%, 0);
    -ms-transform: translate(0, 0%);
    transform: translate3d(0, 0%, 0); }

.bottom-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(0, 100%, 0);
  -ms-transform: translate(0, 100%);
  transform: translate3d(0, 100%, 0);
  bottom: 0;
  width: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  .bottom-submenu * {
    -webkit-backface-visibility: hidden; }
  .bottom-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .bottom-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
  .bottom-submenu.move-top, .bottom-submenu.offcanvas-overlap-top, .bottom-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0, 0%, 0);
    -ms-transform: translate(0, 0%);
    transform: translate3d(0, 0%, 0); }

.left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
  content: "\BB";
  margin-left: .5rem;
  display: inline; }

.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
  content: "\AB";
  margin-right: .5rem;
  display: inline; }

/* small displays */
@media only screen {
  .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* medium displays */
@media only screen and (min-width: 40.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* large displays */
@media only screen and (min-width: 64.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* xlarge displays */
@media only screen and (min-width: 90.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* xxlarge displays */
@media only screen and (min-width: 120.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* Orientation targeting */
.show-for-landscape,
.hide-for-portrait {
  display: inherit !important; }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }

/* Specific visibility for tables */
table.hide-for-landscape, table.show-for-portrait {
  display: table !important; }

thead.hide-for-landscape, thead.show-for-portrait {
  display: table-header-group !important; }

tbody.hide-for-landscape, tbody.show-for-portrait {
  display: table-row-group !important; }

tr.hide-for-landscape, tr.show-for-portrait {
  display: table-row !important; }

td.hide-for-landscape, td.show-for-portrait,
th.hide-for-landscape,
th.show-for-portrait {
  display: table-cell !important; }

@media only screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: inherit !important; }
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important; }
  /* Specific visibility for tables */
  table.show-for-landscape, table.hide-for-portrait {
    display: table !important; }
  thead.show-for-landscape, thead.hide-for-portrait {
    display: table-header-group !important; }
  tbody.show-for-landscape, tbody.hide-for-portrait {
    display: table-row-group !important; }
  tr.show-for-landscape, tr.hide-for-portrait {
    display: table-row !important; }
  td.show-for-landscape, td.hide-for-portrait,
  th.show-for-landscape,
  th.hide-for-portrait {
    display: table-cell !important; } }

@media only screen and (orientation: portrait) {
  .show-for-portrait,
  .hide-for-landscape {
    display: inherit !important; }
  .hide-for-portrait,
  .show-for-landscape {
    display: none !important; }
  /* Specific visibility for tables */
  table.show-for-portrait, table.hide-for-landscape {
    display: table !important; }
  thead.show-for-portrait, thead.hide-for-landscape {
    display: table-header-group !important; }
  tbody.show-for-portrait, tbody.hide-for-landscape {
    display: table-row-group !important; }
  tr.show-for-portrait, tr.hide-for-landscape {
    display: table-row !important; }
  td.show-for-portrait, td.hide-for-landscape,
  th.show-for-portrait,
  th.hide-for-landscape {
    display: table-cell !important; } }

/* Touch-enabled device targeting */
.show-for-touch {
  display: none !important; }

.hide-for-touch {
  display: inherit !important; }

.touch .show-for-touch {
  display: inherit !important; }

.touch .hide-for-touch {
  display: none !important; }

/* Specific visibility for tables */
table.hide-for-touch {
  display: table !important; }

.touch table.show-for-touch {
  display: table !important; }

thead.hide-for-touch {
  display: table-header-group !important; }

.touch thead.show-for-touch {
  display: table-header-group !important; }

tbody.hide-for-touch {
  display: table-row-group !important; }

.touch tbody.show-for-touch {
  display: table-row-group !important; }

tr.hide-for-touch {
  display: table-row !important; }

.touch tr.show-for-touch {
  display: table-row !important; }

td.hide-for-touch {
  display: table-cell !important; }

.touch td.show-for-touch {
  display: table-cell !important; }

th.hide-for-touch {
  display: table-cell !important; }

.touch th.show-for-touch {
  display: table-cell !important; }

/* Screen reader-specific classes */
.show-for-sr {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px; }

.show-on-focus {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px; }
  .show-on-focus:focus, .show-on-focus:active {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }

/* Print visibility */
.print-only,
.show-for-print {
  display: none !important; }

@media print {
  .print-only,
  .show-for-print {
    display: block !important; }
  .hide-on-print,
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; } }

html {
  min-height: 100%;
  background: #EAF9CA; }

body {
  /*background: #EAF9CA;*/
  background: -webkit-gradient(linear, left top, left bottom, from(#C3E87A), to(#EAF9CA));
  background: linear-gradient(to bottom, #C3E87A 0%, #EAF9CA 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#C3E87A', endColorstr='#EAF9CA',GradientType=0 );
  background-repeat: no-repeat; }

.row {
  background: #ffffff; }

.right-border {
  border-right: dotted 1px #c0c0c0; }

.top-bar {
  -webkit-box-shadow: 2px 2px 5px 0px rgba(50, 50, 50, 0.75);
  box-shadow: 2px 2px 5px 0px rgba(50, 50, 50, 0.75); }

.top-bar .dropdown {
  -webkit-box-shadow: 3px 3px 5px -3px rgba(50, 50, 50, 0.75);
  box-shadow: 3px 3px 5px -3px rgba(50, 50, 50, 0.75); }

.top-bar ul > li.has-dropdown a:after {
  border-color: #222 transparent transparent transparent; }

.top-bar ul > li.has-dropdown:hover a:after, .top-bar ul > li.has-dropdown.active a:after {
  border-color: #fff transparent transparent transparent; }

.top-bar ul > li.toggle-topbar a {
  border-color: #222 transparent transparent transparent; }

@media only screen and (min-width: 960px) {
  .top-bar-section li:not(.has-form) a:not(.button) {
    padding: 0 12px; } }

.button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 0.5rem 1rem 0.5625rem 1rem;
  background-color: rgba(50, 50, 255, 0.7);
  border-color: rgba(0, 0, 244, 0.7);
  color: #FFFFFF;
  border-radius: 0.5rem;
  -webkit-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out; }
  .button:hover, .button:focus {
    background-color: rgba(0, 0, 244, 0.7); }
  .button:hover, .button:focus {
    color: #FFFFFF; }

.inline-list > li h3 {
  background: url(../images/dot-white.png) 0% 50% no-repeat;
  /*padding-left: 18px;*/ }

#main {
  padding-top: 20px;
  /*
	-webkit-box-shadow: 0px 0px 10px 0px rgba(50, 50, 50, 0.2);
	box-shadow:         0px 0px 10px 0px rgba(50, 50, 50, 0.2);
*/
  /*
-webkit-box-shadow: inset 0px 0px 10px 0px rgba(0,0,0,0.75);
-moz-box-shadow: inset 0px 0px 10px 0px rgba(0,0,0,0.75);
box-shadow: inset 0px 0px 10px 0px rgba(0,0,0,0.75);
*/ }

hr {
  background-color: #5200ff; }

h3 {
  color: #006000; }

.imgleft {
  float: left;
  margin: 0 10px 5px 0; }
  @media only screen and (max-width: 50em) {
    .imgleft {
      float: none;
      display: block;
      margin: 0 auto 5px auto; } }

.imgright {
  float: right;
  margin: 0 0 5px 10px; }
  @media only screen and (max-width: 50em) {
    .imgright {
      float: none;
      display: block;
      margin: 0 auto 5px auto; } }

.img-shadow {
  border: solid 1px #888;
  -webkit-box-shadow: 4px 4px 6px 0px #888;
  box-shadow: 4px 4px 6px 0px #888; }

.clearfloats {
  clear: both; }

.clearright {
  clear: right; }

.clearleft {
  clear: left; }

a.minfo {
  background: #eeeeee;
  padding: 4px;
  border-right: solid 1px #aaaaaa;
  border-bottom: solid 1px #aaaaaa;
  display: block;
  width: 6em;
  position: relative;
  top: -1px;
  text-align: center; }

.normal {
  font-weight: normal; }

a.seolink:link, a.seolink:visited, a.seolink:hover {
  color: #333;
  text-decoration: none; }

@media only screen and (max-width: 40em) {
  figure {
    display: block;
    margin: 0 auto 5px auto;
    max-width: 100%;
    height: auto; } }

figure.captionovertop, figure.captionoverbottom {
  position: relative; }

figcaption {
  width: 100%;
  text-align: center; }

figure.captionovertop figcaption {
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: rgba(51, 51, 51, 0.8);
  color: #ffffff; }

figure.captionoverbottom figcaption {
  position: absolute;
  bottom: 0px;
  left: 0px;
  background-color: rgba(51, 51, 51, 0.8);
  color: #ffffff; }

/*
*  responsive tooltip
*/
#tooltip {
  text-align: left;
  color: #fff;
  background: #111;
  position: absolute;
  z-index: 100;
  padding: 15px;
  font-size: 1rem; }

#tooltip:after {
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #111;
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px;
  margin-left: -10px; }

#tooltip.top:after {
  /*border-top-color: transparent;*/
  border-top: none;
  border-bottom: 10px solid #111;
  /*top: -20px;*/
  top: -10px;
  bottom: auto; }

#tooltip.left:after {
  left: 10px;
  margin: 0; }

#tooltip.right:after {
  right: 10px;
  left: auto;
  margin: 0; }

#tooltip sup {
  font-size: 70%;
  padding-right: 3px; }

.toggle-view {
  list-style: none;
  margin: 0;
  padding: 0; }
  .toggle-view > li {
    margin: 10px 0 10px 0;
    border-bottom: 1px solid #ccc;
    position: relative;
    cursor: pointer; }
    .toggle-view > li h6 {
      margin: 0 20px 0 0;
      color: #0171a3; }
    .toggle-view > li span {
      position: absolute;
      right: 5px;
      top: 0;
      color: #0171a3;
      font-weight: bold; }
    .toggle-view > li .ans {
      margin: 5px 0;
      display: none; }

.attention {
  /*
	background: #006000;
	background: -moz-linear-gradient(top, #00fc00 0%, #006000 100%);
	background: -webkit-gradient(left top, left bottom, color-stop(0%, #00fc00), color-stop(100%, #006000));
	background: -webkit-linear-gradient(top, #00fc00 0%, #006000 100%);
	background: -o-linear-gradient(top, #00fc00 0%, #006000 100%);
	background: -ms-linear-gradient(top, #00fc00 0%, #006000 100%);
	background: linear-gradient(to bottom, #00fc00 0%, #006000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fc00', endColorstr='#006000', GradientType=0 );
*/
  margin: 0 -1.0625rem 1.25rem -1.0625rem;
  padding: 0 1.0625rem 0.3125rem 1.0625rem;
  border-radius: 5px; }
  .attention h1 {
    /*color: #ffffff;*/
    color: #222222; }
  .attention h3 {
    /*color: #ffffff;*/
    color: #006000; }

.panel {
  border-color: #006000; }

.panel h5 {
  color: #ffffff;
  background: #006000;
  margin: -1.3125rem -1.3125rem 0.625rem -1.3125rem !important;
  padding: 1.25rem;
  -webkit-top-left-radius: 5px;
  -webkit-top-right-radius: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px; }

.panel.lightgreen {
  background: #EAF9CA;
  border-width: 3px; }
  .panel.lightgreen p {
    color: #006000; }

.contain-to-grid {
  background: #C3E87A; }

.feature {
  background: #ffffcc; }
  .feature h3 a {
    color: #006000; }
  .feature h3 a:hover {
    color: #8f2424; }

#footer .panel {
  /* background: #eeeeee; */
  /* border-color: #eeeeee; */
  background: #dddddd;
  border: none;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  /*
	-webkit-box-shadow: 0px 0px 10px 0px rgba(50, 50, 50, 0.2);
	box-shadow:         0px 0px 10px 0px rgba(50, 50, 50, 0.2);
*/ }

#footer .contact {
  font-size: 1.5rem; }

#footer .contact, #footer .hosting {
  padding-bottom: 10px; }

#smartphone {
  position: relative;
  width: 263px;
  height: 508px;
  margin: 0 auto 10px auto; }

#smartphone > img {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1; }

#smartphone div {
  position: absolute;
  top: 85px;
  left: 17px;
  width: 231px;
  height: 339px; }

#smartphone div a img {
  position: absolute;
  top: 0px;
  left: 0px;
  display: hidden;
  z-index: 7; }

#smartphone div a.active img {
  z-index: 9; }

#smartphone div a.next-active img {
  z-index: 8; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYWxlcnQtYm94ZXMuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiYXBwLmNzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYmxvY2stZ3JpZC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fY2xlYXJpbmcuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24tYnV0dG9ucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2ljb24tYmFyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2lubGluZS1saXN0cy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19qb3lyaWRlLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2tleXN0cm9rZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fbGFiZWxzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX21hZ2VsbGFuLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcGFuZWxzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3ByaWNpbmctdGFibGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhcnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcmFuZ2Utc2xpZGVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zaWRlLW5hdi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zcGxpdC1idXR0b25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3N1Yi1uYXYuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc3dpdGNoZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGh1bWJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Rvb2x0aXBzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdHlwZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiX292ZXJyaWRlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOGFJO0VBQ0UsdUJBQXNCLEVBQ3ZCOztBQUVEO0VBQ0UsNkJBQTJDO0VBQzNDLFNBakVZLEVBa0ViOztBQUVEO0VBQ0UsbURBQTZDO0VBQzdDLFNBdEVZLEVBdUViOztBQUVEO0VBQ0UsdURBQTRDO0VBQzVDLGlCQTFFMEMsRUEyRTNDOztBQUVEO0VBQ0UsNEVBQThDO0VBQzlDLGlCQS9FMEMsRUFnRjNDOztBQUVEO0VBQ0UsdURBQTJDO0VBQzNDLGlCQW5GMEMsRUFvRjNDOztBQUVEO0VBQ0UsNEVBQTZDO0VBQzdDLGlCQXhGMEMsRUF5RjNDOztBQUVEO0VBQ0UsdURBQTRDO0VBQzVDLGlCQTVGMEMsRUE2RjNDOztBQUVEO0VBQ0UsNkVBQThDO0VBQzlDLGlCQWpHMEMsRUFrRzNDOztBQUVEO0VBQ0Usd0RBQTZDO0VBQzdDLGtCQXJHMEMsRUFzRzNDOztBQUVEO0VBQ0UsbUJBQWEsRUFDZDs7QUFPRDtFQUFhLGFBQVksRUFBSzs7QUFHOUI7OztFQXZWRiwrQkEwVmtDO0VBeFYxQix1QkF3VjBCLEVBQy9C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LGVUdUhrQixFU3RIbkI7TTRCd0lEO1E1Qm5KQSwwQkpqR21CO1FJa0duQixzQkFSd0g7UUFheEgsZVQySG9CLEVxQytEa0Q7UUE3Q3RFO1U1QmhKVSwwQkFkc0csRUFjdkU7UTRCZ0p6QztVNUJ6SUUsZVR1SGtCLEVTdEhuQjtNNEJ3SUQ7UTVCbkpBLDBCVHdKaUI7UVN2SmpCLHNCQVJ3SDtRQWF4SCxlVDJIb0IsRXFDZ0U4QztRQTlDbEU7VTVCaEpVLDBCQWRzRyxFQWN2RTtRNEJnSnpDO1U1QnpJRSxlVHVIa0IsRVN0SG5CO000QndJRDtRNUJuSkEsMEJUMEptQjtRU3pKbkIsc0JBUndIO1FBYXhILGVUMkhvQixFcUNpRWtEO1FBL0N0RTtVNUJoSlUsMEJBZHNHLEVBY3ZFO1E0QmdKekM7VTVCeklFLGVUdUhrQixFU3RIbkI7TTRCd0lEO1E1Qm5KQSwwQlQySmdCO1FTMUpoQixzQkFSd0g7UUFheEgsZVQySW9CLEVxQ2tENEM7UUFoRGhFO1U1QmhKVSwwQkFkc0csRUFjdkU7UTRCZ0p6QztVNUJ6SUUsZVR1SGtCLEVTdEhuQjtJNEJ3SUQ7TUFvRE0scUJuQzNRbUQ7TW1DNFFuRCx3QkEvVGdDO01BZ1VoQyx5QkFoVWdDO001QnVIdEMsMEJKdkdtQjtNSXdHbkIsc0JBMUhnRjtNQStIaEYsZVQySG9CLEVxQ2dGZjtNQTlETDtRNUJoSlUsMEJBNUhzRSxFQTRIdkM7TTRCZ0p6QztRNUJ6SUUsZVR1SGtCLEVTdEhuQjtNNEJ3SUQ7UTVCbkpBLDBCSnJHcUI7UUlzR3JCLHNCQVJ3SDtRQWF4SCxlVDJIb0IsRXFDMkUrQztRQXpEbkU7VTVCaEpVLDBCQWRzRyxFQWN2RTtRNEJnSnpDO1U1QnpJRSxlVHVIa0IsRVN0SG5CO000QndJRDtRNUJuSkEsMEJKakdtQjtRSWtHbkIsc0JBUndIO1FBYXhILGVUMkhvQixFcUM0RTJDO1FBMUQvRDtVNUJoSlUsMEJBZHNHLEVBY3ZFO1E0QmdKekM7VTVCeklFLGVUdUhrQixFU3RIbkI7TTRCd0lEO1E1Qm5KQSwwQlR3SmlCO1FTdkpqQixzQkFSd0g7UUFheEgsZVQy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QmYsNEJLa0JlO0VMakJmLDZCS2lCZSxFb0MyTWxCOztBQUVEO0VBQ0Msb0JBQW1CO0VBQ25CLGtCQUFpQixFQUlqQjtFQU5EO0lBSUUsZUFBYyxFQUNkOztBQUdGO0VBQ0Msb0JBQW1CLEVBQ25COztBQUVEO0VBQ0Msb0JBQW1CLEVBT25CO0VBUkQ7SUFHRSxlQUFjLEVBQ2Q7RUFKRjtJQU1FLGVwQ3JIcUUsRW9Dc0hyRTs7QUFLRjtFQUNDLDBCQUEwQjtFQUMxQiw0QkFBNEI7RUFDNUIsb0JBQW1CO0VBQ25CLGFBQVk7RUFDWiwrQkFBOEI7RUFDOUIsZ0NBQStCO0VBQ2hDOzs7RUFHRSxFQUNEOztBQUNEO0VBQ0Esa0JBQWlCLEVBQ2hCOztBQUNEO0VBQ0EscUJBQW9CLEVBQ25COztBQUNEO0VBQ0MsbUJBQWtCO0VBQ2xCLGFBQVk7RUFDWixjQUFhO0VBQ2IseUJBQXdCLEVBQ3hCOztBQUNEO0VBQ0MsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixVQUFTO0VBQ1QsV0FBVSxFQUNWOztBQUNEO0VBQ0MsbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxXQUFVO0VBQ1YsYUFBWTtFQUNaLGNBQWEsRUFDYjs7QUFDRDtFQUNDLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsVUFBUztFQUNULGdCQUFlO0VBQ2YsV0FBVSxFQUNWOztBQUNEO0VBQ0MsV0FBVSxFQUNWOztBQUNEO0VBQ0MsV0FBVSxFQUNWIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICcuLi9mdW5jdGlvbnMnO1xuLy9cbi8vIEZvdW5kYXRpb24gVmFyaWFibGVzXG4vL1xuXG4vLyBEYXRhIGF0dHJpYnV0ZSBuYW1lc3BhY2Vcbi8vIHN0eWxlcyBnZXQgYXBwbGllZCB0byBbZGF0YS1teXNpdGUtcGx1Z2luXSwgZXRjXG4kbmFtZXNwYWNlOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udC1zaXplIGlzIHNldCB0byAxMDAlIG9mIHRoZSBicm93c2VyIHN0eWxlIHNoZWV0ICh1c3VhbGx5IDE2cHgpXG4vLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGJyb3dzZXItYmFzZWQgdGV4dCB6b29tIG9yIHVzZXItc2V0IGRlZmF1bHRzLlxuXG4vLyBTaW5jZSB0aGUgdHlwaWNhbCBkZWZhdWx0IGJyb3dzZXIgZm9udC1zaXplIGlzIDE2cHgsIHRoYXQgbWFrZXMgdGhlIGNhbGN1bGF0aW9uIGZvciBncmlkIHNpemUuXG4vLyBJZiB5b3Ugd2FudCB5b3VyIGJhc2UgZm9udC1zaXplIHRvIGJlIGRpZmZlcmVudCBhbmQgbm90IGhhdmUgaXQgYWZmZWN0IHRoZSBncmlkIGJyZWFrcG9pbnRzLFxuLy8gc2V0ICRyZW0tYmFzZSB0byAkYmFzZS1mb250LXNpemUgYW5kIG1ha2Ugc3VyZSAkYmFzZS1mb250LXNpemUgaXMgYSBweCB2YWx1ZS5cbiRiYXNlLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gJGJhc2UtbGluZS1oZWlnaHQgaXMgMjRweCB3aGlsZSAkYmFzZS1mb250LXNpemUgaXMgMTZweFxuJGJhc2UtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy9cbi8vIEdsb2JhbCBGb3VuZGF0aW9uIE1peGluc1xuLy9cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1cy5cbi8vICRyYWRpdXMgLSBEZWZhdWx0OiAkZ2xvYmFsLXJhZGl1cyB8fCA0cHhcbkBtaXhpbiByYWRpdXMoJHJhZGl1czokZ2xvYmFsLXJhZGl1cykge1xuICBAaWYgJHJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGVxdWFsIHNpZGUgYm9yZGVyIHJhZGl1cyBvbiBlbGVtZW50cy5cbi8vICRzaWRlIC0gT3B0aW9uczogbGVmdCwgcmlnaHQsIHRvcCwgYm90dG9tXG5AbWl4aW4gc2lkZS1yYWRpdXMoJHNpZGUsICRyYWRpdXM6JGdsb2JhbC1yYWRpdXMpIHtcbiAgQGlmICgkc2lkZSA9PSBsZWZ0IG9yICRzaWRlID09IHJpZ2h0KSB7XG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICAtd2Via2l0LWJvcmRlci10b3AtI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICAtd2Via2l0LSN7JHNpZGV9LWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIC13ZWJraXQtI3skc2lkZX0tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci0jeyRzaWRlfS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItI3skc2lkZX0tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSBjYW4gY29udHJvbCB3aGV0aGVyIG9yIG5vdCB3ZSBoYXZlIGluc2V0IHNoYWRvd3MgZWRnZXMuXG4vLyAkYWN0aXZlIC0gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2VcbkBtaXhpbiBpbnNldC1zaGFkb3coJGFjdGl2ZTp0cnVlKSB7XG4gIGJveC1zaGFkb3c6ICRzaGlueS1lZGdlLXNpemUgJHNoaW55LWVkZ2UtY29sb3IgaW5zZXQ7XG5cbiAgQGlmICRhY3RpdmUgeyAmOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogJHNoaW55LWVkZ2Utc2l6ZSAkc2hpbnktZWRnZS1hY3RpdmUtY29sb3IgaW5zZXQ7IH0gfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIHRyYW5zaXRpb25zIHRvIGVsZW1lbnRzXG4vLyAkcHJvcGVydHkgLSBEZWZhdWx0OiBhbGwsIE9wdGlvbnM6IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdHJhbnNpdGlvbnMvI2FuaW1hdGFibGUtcHJvcGVydGllc1xuLy8gJHNwZWVkIC0gRGVmYXVsdDogMzAwbXNcbi8vICRlYXNlIC0gRGVmYXVsdDogZWFzZS1vdXQsIE9wdGlvbnM6IGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3Byb3BlcnRpZXMvdC90cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbi9cbkBtaXhpbiBzaW5nbGUtdHJhbnNpdGlvbigkcHJvcGVydHk6YWxsLCAkc3BlZWQ6MzAwbXMsICRlYXNlOmVhc2Utb3V0KSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb3BlcnR5LCAkc3BlZWQsICRlYXNlKTtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBzaW5nbGUgb3IgbXVsdGlwbGUgdHJhbnNpdGlvbnMgdG8gZWxlbWVudHNcbi8vICRwcm9wZXJ0eSAtIERlZmF1bHQ6IGFsbCwgT3B0aW9uczogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy10cmFuc2l0aW9ucy8jYW5pbWF0YWJsZS1wcm9wZXJ0aWVzXG4vLyAkc3BlZWQgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGVhc2UgLSBEZWZhdWx0OiBlYXNlLW91dCwgT3B0aW9uczogaHR0cDovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy90L3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uL1xuLy8gJGRlbGF5IC0gRGVmYXVsdDogbnVsbCAoMHMpXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydHk6YWxsLCAkc3BlZWQ6MzAwbXMsICRlYXNlOmVhc2Utb3V0LCAkZGVsYXk6bnVsbCkge1xuICAkdHJhbnNpdGlvbjogbm9uZTtcblxuICBAaWYgbGVuZ3RoKCRwcm9wZXJ0eSkgPiAxIHtcblxuICAgIEBlYWNoICR0cmFuc2l0aW9uX2xpc3QgaW4gJHByb3BlcnR5IHtcblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkge1xuXG4gICAgICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICAgICAkX3Byb3BlcnR5OiBudGgoJHRyYW5zaXRpb25fbGlzdCwgJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSA+IDEge1xuICAgICAgICAgIEBpZiAkaSA9PSAyIHtcbiAgICAgICAgICAgICRfc3BlZWQ6IG50aCgkdHJhbnNpdGlvbl9saXN0LCAkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX3NwZWVkOiAkc3BlZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpID4gMiB7XG4gICAgICAgICAgQGlmICRpID09IDMge1xuICAgICAgICAgICAgJF9lYXNlOiBudGgoJHRyYW5zaXRpb25fbGlzdCwgJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgJF9lYXNlOiAkZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkgPiAzIHtcbiAgICAgICAgICBAaWYgJGkgPT0gNCB7XG4gICAgICAgICAgICAkX2RlbGF5OiBudGgoJHRyYW5zaXRpb25fbGlzdCwgJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgJF9kZWxheTogJGRlbGF5O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkdHJhbnNpdGlvbiA9PSBub25lIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICRfcHJvcGVydHkgJF9zcGVlZCAkX2Vhc2UgJF9kZWxheTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24sICRfcHJvcGVydHkgJF9zcGVlZCAkX2Vhc2UgJF9kZWxheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGVhY2ggJHByb3AgaW4gJHByb3BlcnR5IHtcblxuICAgICAgQGlmICR0cmFuc2l0aW9uID09IG5vbmUge1xuICAgICAgICAkdHJhbnNpdGlvbjogJHByb3AgJHNwZWVkICRlYXNlICRkZWxheTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24sICRwcm9wICRzcGVlZCAkZWFzZSAkZGVsYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYm94LXNpemluZyBhY3Jvc3MgYnJvd3NlciBwcmVmaXhlc1xuQG1peGluIGJveC1zaXppbmcoJHR5cGU6Ym9yZGVyLWJveCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICR0eXBlOyAvLyBBbmRyb2lkIDwgMi4zLCBpT1MgPCA0XG4gICAgIC1tb3otYm94LXNpemluZzogJHR5cGU7IC8vIEZpcmVmb3ggPCAyOVxuICAgICAgICAgIGJveC1zaXppbmc6ICR0eXBlOyAvLyBDaHJvbWUsIElFIDgrLCBPcGVyYSwgU2FmYXJpIDUuMVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGlzb3NjZWxlcyB0cmlhbmdsZXNcbi8vICR0cmlhbmdsZS1zaXplIC0gVXNlZCB0byBzZXQgYm9yZGVyLXNpemUuIE5vIGRlZmF1bHQsIHNldCBhIHB4IG9yIGVtIHNpemUuXG4vLyAkdHJpYW5nbGUtY29sb3IgLSBVc2VkIHRvIHNldCBib3JkZXItY29sb3Igd2hpY2ggbWFrZXMgdXAgdHJpYW5nbGUuIE5vIGRlZmF1bHRcbi8vICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBVc2VkIHRvIGRldGVybWluZSB3aGljaCBkaXJlY3Rpb24gdHJpYW5nbGUgcG9pbnRzLiBPcHRpb25zOiB0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHRcbkBtaXhpbiBjc3MtdHJpYW5nbGUoJHRyaWFuZ2xlLXNpemUsICR0cmlhbmdsZS1jb2xvciwgJHRyaWFuZ2xlLWRpcmVjdGlvbikge1xuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHRvcCkge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBib3R0b20pIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGljb24gd2l0aCB0aHJlZSBsaW5lcyBha2EgdGhlIGhhbWJ1cmdlciBpY29uLCB0aGUgbWVudS1pY29uIG9yIHRoZSBuYXZpY29uXG4vLyAkd2lkdGggLSBXaWR0aCBvZiBoYW1idXJnZXIgaWNvbiBpbiByZW1cbi8vICRsZWZ0IC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCBob3Jpem9udGFsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXG4vLyAkdG9wIC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCB2ZXJ0aWNhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbVxuLy8gJHRoaWNrbmVzcyAtIHRoaWNrbmVzcyBvZiBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4XG4vLyAkZ2FwIC0gc3BhY2luZyBiZXR3ZWVuIHRoZSBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4XG4vLyAkY29sb3IgLSBpY29uIGNvbG9yXG4vLyAkaG92ZXItY29sb3IgLSBpY29uIGNvbG9yIGR1cmluZyBob3ZlclxuLy8gJG9mZmNhbnZhcyAtIFNldCB0byB0cnVlIG9mIEBpbmNsdWRlIGluIG9mZmNhbnZhc1xuQG1peGluIGhhbWJ1cmdlcigkd2lkdGgsICRsZWZ0LCAkdG9wLCAkdGhpY2tuZXNzLCAkZ2FwLCAkY29sb3IsICRob3Zlci1jb2xvciwgJG9mZmNhbnZhcykge1xuICBzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgQGlmICRvZmZjYW52YXMge1xuICAgICAgQGlmICR0b3Age1xuICAgICAgICB0b3A6ICR0b3A7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSR3aWR0aC8yKTtcbiAgICAgIH1cbiAgICAgIEBpZiAkbGVmdCB7XG4gICAgICAgIGxlZnQ6ICRsZWZ0O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiAoJHRhYmJhci1tZW51LWljb24td2lkdGggLSAkd2lkdGgpLzI7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0oJHdpZHRoLzIpO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OlxuICAgICAgMCAwIDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICgyICogJGdhcCArIDIqJHRoaWNrbmVzcykgMCAkdGhpY2tuZXNzICRjb2xvcjtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9XG4gIHNwYW46aG92ZXI6YWZ0ZXIge1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcixcbiAgICAgIDAgJGdhcCArICR0aGlja25lc3MgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcixcbiAgICAgIDAgKDIgKiAkZ2FwICsgMiokdGhpY2tuZXNzKSAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGRvIGNsZWFyIGZsb2F0c1xuQG1peGluIGNsZWFyZml4IHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIgeyBjb250ZW50OiBcIiBcIjsgZGlzcGxheTogdGFibGU7IH1cbiAgJjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYSBnbG93aW5nIGVmZmVjdCB0byBibG9jayBlbGVtZW50c1xuLy8gJHNlbGVjdG9yIC0gVXNlZCBmb3Igc2VsZWN0b3Igc3RhdGUuIERlZmF1bHQ6IGZvY3VzLCBPcHRpb25zOiBob3ZlciwgYWN0aXZlLCB2aXNpdGVkXG4vLyAkZmFkZS10aW1lIC0gRGVmYXVsdDogMzAwbXNcbi8vICRnbG93aW5nLWVmZmVjdC1jb2xvciAtIERlZmF1bHQ6IGZhZGUtb3V0KCRwcmltYXJ5LWNvbG9yLCAuMjUpXG5AbWl4aW4gYmxvY2stZ2xvd2luZy1lZmZlY3QoJHNlbGVjdG9yOmZvY3VzLCAkZmFkZS10aW1lOjMwMG1zLCAkZ2xvd2luZy1lZmZlY3QtY29sb3I6ZmFkZS1vdXQoJHByaW1hcnktY29sb3IsIC4yNSkpIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkZmFkZS10aW1lLCBib3JkZXItY29sb3IgJGZhZGUtdGltZSBlYXNlLWluLW91dDtcblxuICAmOiN7JHNlbGVjdG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ2xvd2luZy1lZmZlY3QtY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAkZ2xvd2luZy1lZmZlY3QtY29sb3I7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHRyYW5zbGF0ZSBlbGVtZW50cyBpbiAyRFxuLy8gJGhvcml6b250YWw6IERlZmF1bHQ6IDBcbi8vICR2ZXJ0aWNhbDogRGVmYXVsdDogMFxuQG1peGluIHRyYW5zbGF0ZTJkKCRob3Jpem9udGFsOjAsICR2ZXJ0aWNhbDowKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRob3Jpem9udGFsLCAkdmVydGljYWwpXG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IGFjY2Vzc2libGUuXG4vLyBAc2VlIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gVHVybnMgb2ZmIHRoZSBlbGVtZW50LWludmlzaWJsZSBlZmZlY3QuXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuJHdoaXRlICAgICAgICAgOiAjRkZGRkZGICFkZWZhdWx0O1xuJGdob3N0ICAgICAgICAgOiAjRkFGQUZBICFkZWZhdWx0O1xuJHNub3cgICAgICAgICAgOiAjRjlGOUY5ICFkZWZhdWx0O1xuJHZhcG9yICAgICAgICAgOiAjRjZGNkY2ICFkZWZhdWx0O1xuJHdoaXRlLXNtb2tlICAgOiAjRjVGNUY1ICFkZWZhdWx0O1xuJHNpbHZlciAgICAgICAgOiAjRUZFRkVGICFkZWZhdWx0O1xuJHNtb2tlICAgICAgICAgOiAjRUVFRUVFICFkZWZhdWx0O1xuJGdhaW5zYm9ybyAgICAgOiAjREREREREICFkZWZhdWx0O1xuJGlyb24gICAgICAgICAgOiAjQ0NDQ0NDICFkZWZhdWx0O1xuJGJhc2UgICAgICAgICAgOiAjQUFBQUFBICFkZWZhdWx0O1xuJGFsdW1pbnVtICAgICAgOiAjOTk5OTk5ICFkZWZhdWx0O1xuJGp1bWJvICAgICAgICAgOiAjODg4ODg4ICFkZWZhdWx0O1xuJG1vbnNvb24gICAgICAgOiAjNzc3Nzc3ICFkZWZhdWx0O1xuJHN0ZWVsICAgICAgICAgOiAjNjY2NjY2ICFkZWZhdWx0O1xuJGNoYXJjb2FsICAgICAgOiAjNTU1NTU1ICFkZWZhdWx0O1xuJHR1YXRhcmEgICAgICAgOiAjNDQ0NDQ0ICFkZWZhdWx0O1xuJG9pbCAgICAgICAgICAgOiAjMzMzMzMzICFkZWZhdWx0O1xuJGpldCAgICAgICAgICAgOiAjMjIyMjIyICFkZWZhdWx0O1xuJGJsYWNrICAgICAgICAgOiAjMDAwMDAwICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgYXMgZGVmYXVsdCBjb2xvcnMgdGhyb3VnaG91dFxuJHByaW1hcnktY29sb3I6ICMwMDhDQkEgIWRlZmF1bHQ7ICAgLy8gYm9uZGktYmx1ZVxuJHNlY29uZGFyeS1jb2xvcjogI2U3ZTdlNyAhZGVmYXVsdDsgLy8gd2hpdGUtbGlsYWNcbiRhbGVydC1jb2xvcjogI2YwNDEyNCAhZGVmYXVsdDsgICAgIC8vIGNpbm5hYmFyXG4kc3VjY2Vzcy1jb2xvcjogIzQzQUM2QSAhZGVmYXVsdDsgICAvLyBzZWEtZ3JlZW5cbiR3YXJuaW5nLWNvbG9yOiAjZjA4YTI0ICFkZWZhdWx0OyAgIC8vIGNhcnJvdFxuJGluZm8tY29sb3I6ICNhMGQzZTggIWRlZmF1bHQ7ICAgICAgLy8gY29ybmZsb3dlclxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCBzdGFja3NcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgd2VpZ2h0c1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgZ2xvYmFsIHN0eWxlc1xuJGJvZHktYmc6ICNmZmYgIWRlZmF1bHQ7XG4kYm9keS1mb250LWNvbG9yOiAjMjIyICFkZWZhdWx0O1xuJGJvZHktZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuJGJvZHktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYm9keS1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgZm9udC1zbW9vdGhpbmdcbiRmb250LXNtb290aGluZzogYW50aWFsaWFzZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgZGlyZWN0aW9uIHNldHRpbmdzXG4kdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcbiRkZWZhdWx0LWZsb2F0OiBsZWZ0ICFkZWZhdWx0O1xuJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQgIWRlZmF1bHQ7XG5AaWYgJHRleHQtZGlyZWN0aW9uID09IGx0ciB7XG4gICRkZWZhdWx0LWZsb2F0OiBsZWZ0O1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbn0gQGVsc2Uge1xuICAkZGVmYXVsdC1mbG9hdDogcmlnaHQ7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGxlZnQ7XG59XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cbiRnbG9iYWwtcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLXJvdW5kZWQ6IDEwMDBweCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaW5zZXQgc2hhZG93IHNoaW55IGVkZ2VzIGFuZCBkZXByZXNzaW9ucy5cbiRzaGlueS1lZGdlLXNpemU6IDAgMXB4IDAgIWRlZmF1bHQ7XG4kc2hpbnktZWRnZS1jb2xvcjogcmdiYSgjZmZmLCAuNSkgIWRlZmF1bHQ7XG4kc2hpbnktZWRnZS1hY3RpdmUtY29sb3I6IHJnYmEoIzAwMCwgLjIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdoZXRoZXIgb3Igbm90IENTUyBjbGFzc2VzIGNvbWUgdGhyb3VnaCBpbiB0aGUgZ2VtIGZpbGVzLlxuJGluY2x1ZGUtaHRtbC1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtcHJpbnQtc3R5bGVzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtanMtbWV0YS1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7IC8vIFdhcm5pbmchIE1ldGEgc3R5bGVzIGFyZSBhIGRlcGVuZGFuY3kgb2YgdGhlIEphdmFzY3JpcHQuXG4kaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRjb2x1bW4tZ3V0dGVyOiByZW0tY2FsYygzMCkgIWRlZmF1bHQ7XG5cbi8vIE1lZGlhIFF1ZXJ5IFJhbmdlc1xuJHNtYWxsLWJyZWFrcG9pbnQ6ICBlbS1jYWxjKDY0MCkgICFkZWZhdWx0O1xuJG1lZGl1bS1icmVha3BvaW50OiBlbS1jYWxjKDEwMjQpICFkZWZhdWx0O1xuJGxhcmdlLWJyZWFrcG9pbnQ6ICBlbS1jYWxjKDE0NDApICFkZWZhdWx0O1xuJHhsYXJnZS1icmVha3BvaW50OiBlbS1jYWxjKDE5MjApICFkZWZhdWx0O1xuXG4kc21hbGwtcmFuZ2U6ICAgKDAsICRzbWFsbC1icmVha3BvaW50KSAhZGVmYXVsdDtcbiRtZWRpdW0tcmFuZ2U6ICAoJHNtYWxsLWJyZWFrcG9pbnQgICsgZW0tY2FsYygxKSwgJG1lZGl1bS1icmVha3BvaW50KSAhZGVmYXVsdDtcbiRsYXJnZS1yYW5nZTogICAoJG1lZGl1bS1icmVha3BvaW50ICsgZW0tY2FsYygxKSwgJGxhcmdlLWJyZWFrcG9pbnQpICAhZGVmYXVsdDtcbiR4bGFyZ2UtcmFuZ2U6ICAoJGxhcmdlLWJyZWFrcG9pbnQgICsgZW0tY2FsYygxKSwgJHhsYXJnZS1icmVha3BvaW50KSAhZGVmYXVsdDtcbiR4eGxhcmdlLXJhbmdlOiAoJHhsYXJnZS1icmVha3BvaW50ICsgZW0tY2FsYygxKSwgZW0tY2FsYyg5OTk5OTk5OSkpICFkZWZhdWx0O1xuXG4kc2NyZWVuOiBcIm9ubHkgc2NyZWVuXCIgIWRlZmF1bHQ7XG5cbiRsYW5kc2NhcGU6IFwiI3skc2NyZWVufSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpXCIgIWRlZmF1bHQ7XG4kcG9ydHJhaXQ6IFwiI3skc2NyZWVufSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdClcIiAhZGVmYXVsdDtcblxuJHNtYWxsLXVwOiAkc2NyZWVuICFkZWZhdWx0O1xuJHNtYWxsLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1heC13aWR0aDogI3t1cHBlci1ib3VuZCgkc21hbGwtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJG1lZGl1bS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJG1lZGl1bS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4kbGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4keGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4keGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiR4eGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJHh4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4kcmV0aW5hOiAoXG4gIFwiI3skc2NyZWVufSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMilcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweClcIlxuKTtcblxuLy8gTGVnYWN5XG4kc21hbGw6ICRzbWFsbC11cDtcbiRtZWRpdW06ICRtZWRpdW0tdXA7XG4kbGFyZ2U6ICRsYXJnZS11cDtcblxuXG4vL1dlIHVzZSB0aGlzIGFzIGN1cnNvcnMgdmFsdWVzIGZvciBlbmFibGluZyB0aGUgb3B0aW9uIG9mIGhhdmluZyBjdXN0b20gY3Vyc29ycyBpbiB0aGUgd2hvbGUgc2l0ZSdzIHN0eWxlc2hlZXRcbiRjdXJzb3ItYXV0by12YWx1ZTogYXV0byAhZGVmYXVsdDtcbiRjdXJzb3ItY3Jvc3NoYWlyLXZhbHVlOiBjcm9zc2hhaXIgIWRlZmF1bHQ7XG4kY3Vyc29yLWRlZmF1bHQtdmFsdWU6IGRlZmF1bHQgIWRlZmF1bHQ7XG4kY3Vyc29yLWRpc2FibGVkLXZhbHVlOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcbiRjdXJzb3ItcG9pbnRlci12YWx1ZTogcG9pbnRlciAhZGVmYXVsdDtcbiRjdXJzb3ItaGVscC12YWx1ZTogaGVscCAhZGVmYXVsdDtcbiRjdXJzb3ItdGV4dC12YWx1ZTogdGV4dCAhZGVmYXVsdDtcblxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZ2xvYmFsXCIpIHtcblxuICAvLyBNZXRhIHN0eWxlcyBhcmUgYSBkZXBlbmRhbmN5IG9mIHRoZSBKYXZhc2NyaXB0LlxuICAvLyBVc2VkIHRvIHByb3ZpZGUgbWVkaWEgcXVlcnkgdmFsdWVzIGZvciBqYXZhc2NyaXB0IGNvbXBvbmVudHMuXG4gIC8vIEZvcndhcmQgc2xhc2ggcGxhY2VkIGFyb3VuZCBldmVyeXRoaW5nIHRvIGNvbnZpbmNlIFBoYW50b21KUyB0byByZWFkIHRoZSB2YWx1ZS5cblxuICBAaWYgJGluY2x1ZGUtanMtbWV0YS1zdHlsZXMge1xuXG4gICAgbWV0YS5mb3VuZGF0aW9uLXZlcnNpb24ge1xuICAgICAgZm9udC1mYW1pbHk6IFwiLzUuNS4zL1wiO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbCB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRzbWFsbC11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkc21hbGwtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbC1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHNtYWxsLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJG1lZGl1bS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbWVkaXVtLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJGxhcmdlLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbGFyZ2Utb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS14bGFyZ2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeGxhcmdlLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS14bGFyZ2Utb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4bGFyZ2Utb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteHhsYXJnZSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4eGxhcmdlLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tZGF0YS1hdHRyaWJ1dGUtbmFtZXNwYWNlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAjeyRuYW1lc3BhY2V9O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXMge1xuXG4gICAgLy8gTXVzdCBiZSAxMDAlIGZvciBvZmYgY2FudmFzIHRvIHdvcmtcbiAgICBodG1sLCBib2R5IHsgaGVpZ2h0OiAxMDAlOyB9XG5cbiAgICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIH1cblxuICAgIGh0bWwsXG4gICAgYm9keSB7IGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplOyB9XG5cbiAgICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gICAgYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYm9keS1iZztcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWF1dG8tdmFsdWU7XG4gICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICBmb250LXN0eWxlOiAkYm9keS1mb250LXN0eWxlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRib2R5LWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0OyAvLyBTZXQgdG8gJGJhc2UtbGluZS1oZWlnaHQgdG8gdGFrZSBvbiBicm93c2VyIGRlZmF1bHQgb2YgMTUwJVxuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgYTpob3ZlciB7IGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlOyB9XG5cbiAgICAvLyBHcmlkIERlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH1cblxuICAgIGltZyB7IC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxuICAgICNtYXBfY2FudmFzLFxuICAgIC5tYXBfY2FudmFzLFxuICAgIC5tcWEtZGlzcGxheSB7XG4gICAgICBpbWcsXG4gICAgICBlbWJlZCxcbiAgICAgIG9iamVjdCB7IG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1pc2NlbGxhbmVvdXMgdXNlZnVsIEhUTUwgY2xhc3Nlc1xuICAgIC5sZWZ0IHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmNsZWFyZml4IHsgQGluY2x1ZGUgY2xlYXJmaXg7IH1cblxuICAgIC8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnNcbiAgICAuaGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMsIGJ1dCBtYWludGFpbiBsYXlvdXRcbiAgICAuaW52aXNpYmxlIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbiAgICAvLyBGb250IHNtb290aGluZ1xuICAgIC8vIEFudGlhbGlhc2VkIGZvbnQgc21vb3RoaW5nIHdvcmtzIGJlc3QgZm9yIGxpZ2h0IHRleHQgb24gYSBkYXJrIGJhY2tncm91bmQuXG4gICAgLy8gQXBwbHkgdG8gc2luZ2xlIGVsZW1lbnRzIGluc3RlYWQgb2YgZ2xvYmFsbHkgdG8gYm9keS5cbiAgICAvLyBOb3RlIHRoaXMgb25seSBhcHBsaWVzIHRvIHdlYmtpdC1iYXNlZCBkZXNrdG9wIGJyb3dzZXJzIGFuZCBGaXJlZm94IDI1IChhbmQgbGF0ZXIpIG9uIHRoZSBNYWMuXG4gICAgLmFudGlhbGlhc2VkIHsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEdsb2JhbCByZXNldHMgZm9yIGZvcm1zXG4gICAgLy9cblxuICAgIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICAgIHRleHRhcmVhIHsgaGVpZ2h0OiBhdXRvOyBtaW4taGVpZ2h0OiA1MHB4OyB9XG5cbiAgICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgICBzZWxlY3QgeyB3aWR0aDogMTAwJTsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG4kaW5jbHVkZS14bC1odG1sLWdyaWQtY2xhc3NlczogZmFsc2UgIWRlZmF1bHQ7XG5cbiRyb3ctd2lkdGg6IHJlbS1jYWxjKDEwMDApICFkZWZhdWx0O1xuJHRvdGFsLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuXG4kbGFzdC1jaGlsZC1mbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbiAhZGVmYXVsdDtcblxuLy9cbi8vIEdyaWQgRnVuY3Rpb25zXG4vL1xuXG4vLyBEZXByZWNhdGVkOiBXZSdsbCBkcm9wIHN1cHBvcnQgZm9yIHRoaXMgaW4gNS4xLCB1c2UgZ3JpZC1jYWxjKClcbkBmdW5jdGlvbiBncmlkQ2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKSB7XG4gIEB3YXJuIFwiZ3JpZENhbGMoKSBpcyBkZXByZWNhdGVkLCB1c2UgZ3JpZC1jYWxjKClcIjtcbiAgQHJldHVybiBncmlkLWNhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucyk7XG59XG5cbi8vIEBGVU5DVElPTlxuLy8gJGNvbE51bWJlciAtIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcbi8vICR0b3RhbENvbHVtbnMgLSBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXG5AZnVuY3Rpb24gZ3JpZC1jYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpIHtcbiAgJHJlc3VsdDogcGVyY2VudGFnZSgoJGNvbE51bWJlciAvICR0b3RhbENvbHVtbnMpKTtcbiAgQGlmICRyZXN1bHQgPT0gMCUgeyAkcmVzdWx0OiAwOyB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIEZvciBjcmVhdGluZyBjb250YWluZXIsIG5lc3RlZCwgYW5kIGNvbGxhcHNlZCByb3dzLlxuLy9cbi8vXG4vLyAkYmVoYXZpb3IgLSBBbnkgc3BlY2lhbCBiZWhhdmlvciBmb3IgdGhpcyByb3c/IERlZmF1bHQ6IGZhbHNlLiBPcHRpb25zOiBuZXN0LCBjb2xsYXBzZSwgbmVzdC1jb2xsYXBzZSwgZmFsc2UuXG5AbWl4aW4gZ3JpZC1yb3coJGJlaGF2aW9yOiBmYWxzZSkge1xuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhuZXN0KTsgdG8gaW5jbHVkZSBhIG5lc3RlZCByb3dcbiAgQGlmICRiZWhhdmlvciA9PSBuZXN0IHtcbiAgICBtYXJnaW46IDAgKC0oJGNvbHVtbi1ndXR0ZXIvMikpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhjb2xsYXBzZSk7IHRvIGNvbGxhcHNlZCBhIGNvbnRhaW5lciByb3cgbWFyZ2luc1xuICBAZWxzZSBpZiAkYmVoYXZpb3IgPT0gY29sbGFwc2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3cobmVzdC1jb2xsYXBzZSk7IHRvIGNvbGxhcHNlIG91dGVyIG1hcmdpbnMgb24gYSBuZXN0ZWQgcm93XG4gIEBlbHNlIGlmICRiZWhhdmlvciA9PSBuZXN0LWNvbGxhcHNlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93OyB0byB1c2UgYSBjb250YWluZXIgcm93XG4gIEBlbHNlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBDbGVhcmZpeCBmb3IgYWxsIHJvd3NcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGNvbHVtbiwgc2hvdWxkIGJlIHVzZWQgaW5zaWRlIG9mIGEgbWVkaWEgcXVlcnkgdG8gY29udHJvbCBsYXlvdXRzXG4vL1xuLy8gJGNvbHVtbnMgLSBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhpcyBzaG91bGQgYmVcbi8vICRsYXN0LWNvbHVtbiAtIElzIHRoaXMgdGhlIGxhc3QgY29sdW1uPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRjZW50ZXIgLSBDZW50ZXIgdGhlc2UgY29sdW1ucz8gRGVmYXVsdDogZmFsc2UuXG4vLyAkb2Zmc2V0IC0gIyBvZiBjb2x1bW5zIHRvIG9mZnNldC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkcHVzaCAtICMgb2YgY29sdW1ucyB0byBwdXNoLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRwdWxsIC0gIyBvZiBjb2x1bW5zIHRvIHB1bGwuIERlZmF1bHQ6IGZhbHNlLlxuLy8gJGNvbGxhcHNlIC0gR2V0IHJpZCBvZiBndXR0ZXIgcGFkZGluZyBvbiBjb2x1bW4/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJGZsb2F0IC0gU2hvdWxkIHRoaXMgZmxvYXQ/IERlZmF1bHQ6IHRydWUuIE9wdGlvbnM6IHRydWUsIGZhbHNlLCBsZWZ0LCByaWdodC5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ZmFsc2UsXG4gICRsYXN0LWNvbHVtbjpmYWxzZSxcbiAgJGNlbnRlcjpmYWxzZSxcbiAgJG9mZnNldDpmYWxzZSxcbiAgJHB1c2g6ZmFsc2UsXG4gICRwdWxsOmZhbHNlLFxuICAkY29sbGFwc2U6ZmFsc2UsXG4gICRmbG9hdDp0cnVlLFxuICAkcG9zaXRpb246ZmFsc2UpIHtcblxuICAvLyBJZiBwb3NpdGlvbmVkIGZvciBkZWZhdWx0IC5jb2x1bW4sIGluY2x1ZGUgcmVsYXRpdmUgcG9zaXRpb25cbiAgLy8gcHVzaCBhbmQgcHVsbCByZXF1aXJlIHBvc2l0aW9uIHNldFxuICBAaWYgJHBvc2l0aW9uIG9yICRwdXNoIG9yICRwdWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvLyBJZiBjb2xsYXBzZWQsIGdldCByaWQgb2YgZ3V0dGVyIHBhZGRpbmdcbiAgQGlmICRjb2xsYXBzZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAvLyBHdXR0ZXIgcGFkZGluZyB3aGVuZXZlciBhIGNvbHVtbiBpc24ndCBzZXQgdG8gY29sbGFwc2VcbiAgLy8gKHVzZSAkY29sbGFwc2U6bnVsbCB0byBkbyBub3RoaW5nKVxuICBAZWxzZSBpZiAkY29sbGFwc2UgPT0gZmFsc2Uge1xuICAgIHBhZGRpbmctbGVmdDogKCRjb2x1bW4tZ3V0dGVyIC8gMik7XG4gICAgcGFkZGluZy1yaWdodDogKCRjb2x1bW4tZ3V0dGVyIC8gMik7XG4gIH1cblxuICAvLyBJZiBhIGNvbHVtbiBudW1iZXIgaXMgZ2l2ZW4sIGNhbGN1bGF0ZSB3aWR0aFxuICBAaWYgJGNvbHVtbnMge1xuICAgIHdpZHRoOiBncmlkLWNhbGMoJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zKTtcblxuICAgIC8vIElmIGxhc3QgY29sdW1uLCBmbG9hdCBuYXR1cmFsbHkgaW5zdGVhZCBvZiB0byB0aGUgcmlnaHRcbiAgICBAaWYgJGxhc3QtY29sdW1uIHsgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247IH1cbiAgfVxuXG4gIC8vIFNvdXJjZSBPcmRlcmluZywgYWRkcyBsZWZ0L3JpZ2h0IGRlcGVuZGluZyBvbiB3aGljaCB5b3UgdXNlLlxuICBAaWYgJHB1c2ggeyAjeyRkZWZhdWx0LWZsb2F0fTogZ3JpZC1jYWxjKCRwdXNoLCAkdG90YWwtY29sdW1ucyk7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87IH1cbiAgQGlmICRwdWxsIHsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogZ3JpZC1jYWxjKCRwdWxsLCAkdG90YWwtY29sdW1ucyk7ICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvOyB9XG5cbiAgQGlmICRmbG9hdCBhbmQgJGxhc3QtY29sdW1uID09IGZhbHNlIHtcbiAgICBAaWYgJGZsb2F0ID09IGxlZnQgb3IgJGZsb2F0ID09IHRydWUgeyBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7IH1cbiAgICBAZWxzZSBpZiAkZmxvYXQgPT0gcmlnaHQgeyBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjsgfVxuICAgIEBlbHNlIHsgZmxvYXQ6IG5vbmU7IH1cbiAgfVxuXG4gIC8vIElmIGNlbnRlcmVkLCBnZXQgcmlkIG9mIGZsb2F0IGFuZCBhZGQgYXBwcm9wcmlhdGUgbWFyZ2luc1xuICBAaWYgJGNlbnRlciB7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gSWYgb2Zmc2V0LCBjYWxjdWxhdGUgYXBwcm9wcmlhdGUgbWFyZ2luc1xuICBAaWYgJG9mZnNldCB7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogZ3JpZC1jYWxjKCRvZmZzZXQsICR0b3RhbC1jb2x1bW5zKSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLy8gQ3JlYXRlIHByZXNlbnRhdGlvbmFsIGNsYXNzZXMgZm9yIGdyaWRcbi8vXG4vLyAkc2l6ZSAtIE5hbWUgb2YgY2xhc3MgdG8gdXNlLCBpLmUuIFwibGFyZ2VcIiB3aWxsIGdlbmVyYXRlIC5sYXJnZS0xLCAubGFyZ2UtMiwgZXRjLlxuQG1peGluIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplKSB7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgIC4jeyRzaXplfS1wdXNoLSN7JGl9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICB9XG4gICAgLiN7JHNpemV9LXB1bGwtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnM6ZmFsc2UsICRwb3NpdGlvbjp0cnVlKTsgfVxuXG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkdG90YWwtY29sdW1ucyB7XG4gICAgLiN7JHNpemV9LSN7JGl9IHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnM6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpOyB9XG4gIH1cblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgLiN7JHNpemV9LW9mZnNldC0jeyRpfSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRvZmZzZXQ6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpOyB9XG4gIH1cblxuICAuI3skc2l6ZX0tcmVzZXQtb3JkZXIge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gIC5jb2x1bW4uI3skc2l6ZX0tY2VudGVyZWQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LWNlbnRlcmVkIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNlbnRlcjp0cnVlLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZCB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgfVxuXG4gIC8vIEZpZ2h0aW5nIFtjbGFzcyo9XCJjb2x1bW5cIl0gKyBbY2xhc3MqPVwiY29sdW1uXCJdOmxhc3QtY2hpbGRcbiAgLmNvbHVtbi4jeyRzaXplfS1jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy4jeyRzaXplfS1jZW50ZXJlZDpsYXN0LWNoaWxke1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gRmlnaHRpbmcgLmNvbHVtbi48cHJldmlvdXMtc2l6ZT4tY2VudGVyZWQ6bGFzdC1jaGlsZFxuICAuY29sdW1uLiN7JHNpemV9LXVuY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gIH1cblxuICAuY29sdW1uLiN7JHNpemV9LXVuY2VudGVyZWQub3Bwb3NpdGUsXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQub3Bwb3NpdGUge1xuICAgIGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xuICB9XG5cbiAgLnJvdyB7XG4gICAgJi4jeyRzaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4sXG4gICAgICA+IC5jb2x1bW5zIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbGxhcHNlOnRydWUsICRmbG9hdDpmYWxzZSk7IH1cblxuICAgICAgLnJvdyB7bWFyZ2luLWxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjA7fVxuICAgIH1cbiAgICAmLiN7JHNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uLFxuICAgICAgPiAuY29sdW1ucyB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZ3JpZFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlcyB7XG4gICAgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgICA+IC5jb2x1bW4sXG4gICAgICAgICA+IC5jb2x1bW5zIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbGxhcHNlOnRydWUsICRmbG9hdDpmYWxzZSk7IH1cblxuICAgICAgICAucm93IHttYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDt9XG4gICAgICB9XG5cbiAgICAgIC5yb3cgeyBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6bmVzdCk7XG4gICAgICAgICYuY29sbGFwc2UgeyBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6bmVzdC1jb2xsYXBzZSk7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sdW1uLFxuICAgIC5jb2x1bW5zIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnM6JHRvdGFsLWNvbHVtbnMpOyB9XG5cbiAgICAuY29sdW1uLFxuICAgIC5jb2x1bW5zIHtcbiAgICAgICYgKyAmOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogJGxhc3QtY2hpbGQtZmxvYXQ7XG4gICAgICB9XG4gICAgICAmICsgJi5lbmQge1xuICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JHNtYWxsLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpzbWFsbCk7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bWVkaXVtKTtcbiAgICAgIC8vIE9sZCBwdXNoIGFuZCBwdWxsIGNsYXNzZXNcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAgICAgLnB1c2gtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICAucHVsbC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bGFyZ2UpO1xuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgICAgICAucHVzaC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIC5wdWxsLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRpbmNsdWRlLXhsLWh0bWwtZ3JpZC1jbGFzc2VzIHtcbiAgICBAbWVkaWEgI3skeGxhcmdlLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4bGFyZ2UpO1xuICAgIH1cbiAgICBAbWVkaWEgI3skeHhsYXJnZS11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eHhsYXJnZSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBUaGlzIGlzIHRoZSBkZWZhdWx0IGh0bWwgYW5kIGJvZHkgZm9udC1zaXplIGZvciB0aGUgYmFzZSByZW0gdmFsdWUuXG4kcmVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIElNUE9SVCBPTkNFXG4vLyBXZSB1c2UgdGhpcyB0byBwcmV2ZW50IHN0eWxlcyBmcm9tIGJlaW5nIGxvYWRlZCBtdWx0aXBsZSB0aW1lcyBmb3IgY29tcG9uZW50cyB0aGF0IHJlbHkgb24gb3RoZXIgY29tcG9uZW50cy5cbiRtb2R1bGVzOiAoKSAhZGVmYXVsdDtcblxuQG1peGluIGV4cG9ydHMoJG5hbWUpIHtcbiAgLy8gSW1wb3J0IGZyb20gZ2xvYmFsIHNjb3BlXG4gICRtb2R1bGVzOiAkbW9kdWxlcyAhZ2xvYmFsO1xuICAvLyBDaGVjayBpZiBhIG1vZHVsZSBpcyBhbHJlYWR5IG9uIHRoZSBsaXN0XG4gICRtb2R1bGVfaW5kZXg6IGluZGV4KCRtb2R1bGVzLCAkbmFtZSk7XG4gIEBpZiAoKCRtb2R1bGVfaW5kZXggPT0gbnVsbCkgb3IgKCRtb2R1bGVfaW5kZXggPT0gZmFsc2UpKSB7XG4gICAgJG1vZHVsZXM6IGFwcGVuZCgkbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy9cbi8vIEBmdW5jdGlvbnNcbi8vXG5cblxuLy8gUkFOR0VTXG4vLyBXZSB1c2UgdGhlc2UgZnVuY3Rpb25zIHRvIGRlZmluZSByYW5nZXMgZm9yIHZhcmlvdXMgdGhpbmdzLCBsaWtlIG1lZGlhIHF1ZXJpZXMuXG5AZnVuY3Rpb24gbG93ZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAxKTtcbn1cblxuQGZ1bmN0aW9uIHVwcGVyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPCAyIHtcbiAgICBAcmV0dXJuIDk5OTk5OTk5OTk5OTtcbiAgfVxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDIpO1xufVxuXG4vLyBTVFJJUCBVTklUXG4vLyBJdCBzdHJpcHMgdGhlIHVuaXQgb2YgbWVhc3VyZSBhbmQgcmV0dXJucyBpdFxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8gVEVYVCBJTlBVVCBUWVBFU1xuXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoICR0eXBlczogYWxsLCAkc2VsZWN0b3I6IGlucHV0ICkge1xuXG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdGV4dC1pbnB1dC10eXBlczpcbiAgICB0ZXh0XG4gICAgcGFzc3dvcmRcbiAgICBkYXRlXG4gICAgZGF0ZXRpbWVcbiAgICBkYXRldGltZS1sb2NhbFxuICAgIG1vbnRoXG4gICAgd2Vla1xuICAgIGVtYWlsXG4gICAgbnVtYmVyXG4gICAgc2VhcmNoXG4gICAgdGVsXG4gICAgdGltZVxuICAgIHVybFxuICAgIGNvbG9yXG4gICAgdGV4dGFyZWE7XG5cbiAgQGlmICR0eXBlcyA9PSBhbGwgeyAkdHlwZXM6ICRhbGwtdGV4dC1pbnB1dC10eXBlczsgfVxuXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XG4gICAgQGlmICR0eXBlID09IHRleHRhcmVhIHtcbiAgICAgIEBpZiAkc2VsZWN0b3IgPT0gaW5wdXQge1xuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0nKSwgY29tbWEpXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHR5cGV9I3skc2VsZWN0b3J9JyksIGNvbW1hKVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHNlbGVjdG9yfVt0eXBlPVwiI3skdHlwZX1cIl0nKSwgY29tbWEpXG4gICAgfVxuICB9XG5cbiAgICBAcmV0dXJuICRyZXR1cm47XG5cbn1cblxuLy8gQ09OVkVSVCBUTyBSRU1cbkBmdW5jdGlvbiBjb252ZXJ0LXRvLXJlbSgkdmFsdWUsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlLXZhbHVlKSAqIDFyZW07XG4gIEBpZiAoJHZhbHVlID09IDByZW0pIHsgJHZhbHVlOiAwOyB9IC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBkYXRhKCRhdHRyKSB7XG4gIEBpZiAkbmFtZXNwYWNlIHtcbiAgICBAcmV0dXJuICdbZGF0YS0nICsgJG5hbWVzcGFjZSArICctJyArICRhdHRyICsgJ10nO1xuICB9XG5cbiAgQHJldHVybiAnW2RhdGEtJyArICRhdHRyICsgJ10nO1xufVxuXG4vLyBSRU0gQ0FMQ1xuXG4vLyBOZXcgU3ludGF4LCBhbGxvd3MgdG8gb3B0aW9uYWxseSBjYWxjdWxhdGUgb24gYSBkaWZmZXJlbnQgYmFzZSB2YWx1ZSB0byBjb3VudGVyIGNvbXBvdW5kaW5nIGVmZmVjdCBvZiByZW0ncy5cbi8vIENhbGwgd2l0aCAxLCAyLCAzIG9yIDQgcGFyYW1ldGVycywgJ3B4JyBpcyBub3QgcmVxdWlyZWQgYnV0IHN1cHBvcnRlZDpcbi8vXG4vLyAgIHJlbS1jYWxjKDEwIDIwIDMwcHggNDApO1xuLy9cbi8vIFNwYWNlIGRlbGltaXRlZCwgaWYgeW91IHdhbnQgdG8gZGVsaW1pdCB1c2luZyBjb21tYSdzLCB3cmFwIGl0IGluIGFub3RoZXIgcGFpciBvZiBicmFja2V0c1xuLy9cbi8vICAgcmVtLWNhbGMoKDEwLCAyMCwgMzAsIDQwcHgpKTtcbi8vXG4vLyBPcHRpb25hbGx5IGNhbGwgd2l0aCBhIGRpZmZlcmVudCBiYXNlIChlZzogOHB4KSB0byBjYWxjdWxhdGUgcmVtLlxuLy9cbi8vICAgcmVtLWNhbGMoMTZweCAzMnB4IDQ4cHgsIDhweCk7XG4vL1xuLy8gSWYgeW91IHJlcXVpcmUgdG8gY29tbWEgc2VwYXJhdGUgeW91ciBsaXN0XG4vL1xuLy8gICByZW0tY2FsYygoMTZweCwgMzJweCwgNDgpLCA4cHgpO1xuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkbWF4OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgQGlmICRtYXggPT0gMSB7IEByZXR1cm4gY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsIDEpLCAkYmFzZS12YWx1ZSk7IH1cblxuICAkcmVtVmFsdWVzOiAoKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcbiAgfVxuICBAcmV0dXJuICRyZW1WYWx1ZXM7XG59XG5cblxuQGZ1bmN0aW9uIGVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkcmVtVmFsdWVzOiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKTtcblxuICAkbWF4OiBsZW5ndGgoJHJlbVZhbHVlcyk7XG5cbiAgQGlmICRtYXggPT0gMSB7IEByZXR1cm4gc3RyaXAtdW5pdChudGgoJHJlbVZhbHVlcywgMSkpICogMWVtOyB9XG5cbiAgJGVtVmFsdWVzOiAoKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkZW1WYWx1ZXM6IGFwcGVuZCgkZW1WYWx1ZXMsIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsICRpKSkgKiAxZW0pO1xuICB9XG4gIEByZXR1cm4gJGVtVmFsdWVzO1xufVxuXG5cbi8vIERlcHJlY2F0ZWQ6IE9MRCBFTSBDQUxDXG5AZnVuY3Rpb24gZW1DYWxjKCR2YWx1ZXMpIHtcbiAgQHJldHVybiBlbS1jYWxjKCR2YWx1ZXMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogKCRjb2x1bW4tZ3V0dGVyLzIpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250ZW50LWFjdGl2ZS1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vICBNaXhpbjogYWNjb3JkaW9uLWNvbnRhaW5lcigpXG4vLyAgRGVjcmlwdGlvbjogUmVzcG9uc2libGUgZm9yIHRoZSBjb250YWluZXIgY29tcG9uZW50IG9mIGFjY29yZGlvbnMsIGdlbmVyYXRpbmcgc3R5bGVzIHJlbGF0aW5nIHRvIGEgbWFyZ2luIG9mIHplcm8gYW5kIGEgY2xlYXJmaXhcbi8vICBFeHBsaWNpdCBEZXBlbmRlbmNpZXM6IGEgY2xlYXJmaXggbWl4aW4gKmlzKiBkZWZpbmVkLlxuLy8gIEltcGxpY2l0IERlcGVuZGVuY2llczogTm9uZVxuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lcigpIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vICBNaXhpbjogYWNjb3JkaW9uLW5hdmlnYXRpb24oICRiZywgJGhvdmVyLWJnLCAkYWN0aXZlLWJnLCAkcGFkZGluZywgJGFjdGl2ZV9jbGFzcywgICRmb250LWNvbG9yLCAkZm9udC1zaXplLCAkZm9udC1mYW1pbHkpIHtcbi8vICAgIEBwYXJhbXMgJGJnLWNvbG9yOiBbIGNvbG9yIG9yIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgbmF2aWdhdGlvbiBlbGVtZW50XG4vLyAgICBAcGFyYW1zICRob3Zlci1iZy1jb2xvciBbIGNvbG9yIG9yIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgbmF2aWdhdGlvbiBlbGVtZW50IHdoZW4gaG92ZXJlZFxuLy8gICAgQHBhcmFtcyAkYWN0aXZlLWJnIFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnQgd2hlbiBjbGlja2VkIGFuZCBub3QgcmVsZWFzZWQuXG4vLyAgICBAcGFyYW1zICRhY3RpdmVfY2xhc3MgWyBzdHJpbmcgXTogU3BlY2lmeSB0aGUgY2xhc3MgbmFtZSB1c2VkIHRvIGtlZXAgdHJhY2sgb2Ygd2hpY2ggYWNjb3JkaW9uIHRhYiBzaG91bGQgYmUgdmlzaWJsZVxuLy8gICAgQHBhcmFtcyAkZm9udC1jb2xvciBbIGNvbG9yIG9yIHN0cmluZyBdOiBDb2xvciBvZiB0aGUgZm9udCBmb3IgYWNjb3JkaW9uXG4vLyAgICBAcGFyYW1zICRmb250LXNpemUgWyBudW1iZXIgXTogU3BlY2lmaXkgdGhlIGZvbnQtc2l6ZSBvZiB0aGUgdGV4dCBpbnNpZGUgdGhlIG5hdmlnYXRpb24gZWxlbWVudFxuLy8gICAgQHBhcmFtcyAkZm9udC1mYW1pbHkgWyBzdHJpbmcgXTogU3BlY2lmeSB0aGUgZm9udCBmYW1pbHkgZm9yIHRoZSB0ZXh0IG9mIHRoZSBuYXZpZ2F0aW9uIG9mIHRoZSBhY2NvcmlvblxuLy8gICAgQHBhcmFtcyAkYWN0aXZlLWZvbnQgWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgZm9udCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudCB3aGVuIGFjdGl2ZS5cblxuQG1peGluIGFjY29yZGlvbi1uYXZpZ2F0aW9uKCAkYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGhvdmVyLWJnOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3IsICRhY3RpdmUtYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3IsICRwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZywgJGFjdGl2ZV9jbGFzczogJ2FjdGl2ZScsICAkZm9udC1jb2xvcjogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3IsICRmb250LXNpemU6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUsICRmb250LWZhbWlseTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5LCAkYWN0aXZlLWZvbnQ6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvciApIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgQGlmIHR5cGUtb2YoJGFjdGl2ZV9jbGFzcykgIT0gXCJzdHJpbmdcIiB7XG4gICAgQHdhcm4gXCJgI3skYWN0aXZlX2NsYXNzfWAgaXNuJ3QgYSB2YWxpZCBzdHJpbmcuIEEgdmFsaWQgc3RyaW5nIGlzIG5lZWRlZCB0byBjb3JyZWN0bHkgYmUgaW50ZXJwb2xhdGVkIGFzIGEgQ1NTIGNsYXNzLiBDU1MgY2xhc3NlcyBjYW5ub3Qgc3RhcnQgd2l0aCBhIG51bWJlciBvciBjb25zaXN0IG9mIG9ubHkgbnVtYmVycy4gQ1NTIHdpbGwgbm90IGJlIGdlbmVyYXRlZCBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGlzIG5hdmlnYXRpb24gY29tcG9uZW50LlwiXG4gIH1cbiAgQGVsc2Uge1xuICAgICYuI3sgJGFjdGl2ZV9jbGFzcyB9ID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xuICAgICAgY29sb3I6ICRhY3RpdmUtZm9udDtcbiAgICB9XG4gIH1cbiAgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgIEBpZiB0eXBlLW9mKCRwYWRkaW5nKSAhPSBudW1iZXIge1xuICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIHdhcyByZWFkIGFzICN7dHlwZS1vZigkcGFkZGluZyl9XCI7XG4gICAgICBAaWYgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmcgIT0gbnVsbCB7XG4gICAgICAgIEB3YXJuIFwiI3skcGFkZGluZ30gd2FzIHJlYWQgYXMgYSAje3R5cGUtb2YoJHBhZGRpbmcpfVwiO1xuICAgICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIuICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nICgjeyRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nfSkgd2lsbCBiZSB1c2VkIGluc3RlYWQuKVwiO1xuICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIGlzbid0IGEgdmFsaWQgbnVtYmVyIGFuZCAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZyBpcyBtaXNzaW5nLiBBIHZhbHVlIG9mIGBudWxsYCBpcyByZXR1cm5lZCB0byBub3Qgb3V0cHV0IGFuIGludmFsaWQgdmFsdWUgZm9yIHBhZGRpbmdcIjtcbiAgICAgICAgcGFkZGluZzogbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgfVxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgQGlmIHR5cGUtb2YoJGZvbnQtc2l6ZSkgIT0gbnVtYmVyIHtcbiAgICAgIEB3YXJuIFwiYCN7JGZvbnQtc2l6ZX1gIHdhcyByZWFkIGFzIGEgI3t0eXBlLW9mKCRmb250LXNpemUpfVwiO1xuICAgICAgQGlmICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUgIT0gbnVsbCB7XG4gICAgICAgIEB3YXJuIFwiYCN7JGZvbnQtc2l6ZX1gIGlzIG5vdCBhIHZhbGlkIG51bWJlci4gVGhlIHZhbHVlIG9mICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUgd2lsbCBiZSB1c2VkIGluc3RlYWQgKCN7JGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZX0pLlwiO1xuICAgICAgICBmb250LXNpemU6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU7XG4gICAgICB9XG4gICAgICBAZWxzZXtcbiAgICAgICAgQHdhcm4gXCJgI3skZm9udC1zaXplfWAgaXMgbm90IGEgdmFsaWQgbnVtYmVyIGFuZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplIGlzIG5vdCBkZWZpbmVkLiBBIHZhbHVlIG9mIGBudWxsYCB3aWxsIGJlIHJldHVybmVkIHRvIG5vdCBnZW5lcmF0ZSBhbiBpbnZhbGlkIHZhbHVlIGZvciBmb250LXNpemUuXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogbnVsbDtcblxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG4vLyAgTWl4aW46IGFjY29yZGlvbi1jb250ZW50KCRiZywgJHBhZGRpbmcsICRhY3RpdmUtY2xhc3MpXG4vLyAgICBAcGFyYW1zICRwYWRkaW5nIFsgbnVtYmVyIF06IFBhZGRpbmcgZm9yIHRoZSBjb250ZW50IG9mIHRoZSBjb250YWluZXJcbi8vICAgIEBwYXJhbXMgJGJnIFsgY29sb3IgIF06IEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBjb250ZW50IHdoZW4gaXQncyB2aXNpYmxlXG4vLyAgICBAcGFyYW1zICRhY3RpdmVfY2xhc3MgWyBzdHJpbmcgXTogQ2xhc3MgbmFtZSB1c2VkIHRvIGtlZXAgdHJhY2sgb2Ygd2hpY2ggYWNjb3JkaW9uIHRhYiBzaG91bGQgYmUgdmlzaWJsZS5cblxuQG1peGluIGFjY29yZGlvbi1jb250ZW50KCRiZzogJGFjY29yZGlvbi1jb250ZW50LWFjdGl2ZS1iZy1jb2xvciwgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLCAkYWN0aXZlX2NsYXNzOiAnYWN0aXZlJykge1xuICBkaXNwbGF5OiBub25lO1xuICBAaWYgdHlwZS1vZigkcGFkZGluZykgIT0gXCJudW1iZXJcIiB7XG4gICAgQHdhcm4gXCIjeyRwYWRkaW5nfSB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkcGFkZGluZyl9XCI7XG4gICAgQGlmICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nICE9IG51bGwge1xuICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIGlzbid0IGEgdmFsaWQgbnVtYmVyLiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyB1c2VkIGluc3RlYWRcIjtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIGlzbid0IGEgdmFsaWQgbnVtYmVyIGFuZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyBpcyBub3QgZGVmaW5lZC4gQSB2YWx1ZSBvZiBgbnVsbGAgaXMgcmV0dXJuZWQgdG8gbm90IG91dHB1dCBhbiBpbnZhbGlkIHZhbHVlIGZvciBwYWRkaW5nLlwiO1xuICAgICAgcGFkZGluZzogbnVsbDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJGFjdGl2ZV9jbGFzcykgIT0gXCJzdHJpbmdcIiB7XG4gICAgQHdhcm4gXCJgI3skYWN0aXZlX2NsYXNzfWAgaXNuJ3QgYSB2YWxpZCBzdHJpbmcuIEEgdmFsaWQgc3RyaW5nIGlzIG5lZWRlZCB0byBjb3JyZWN0bHkgYmUgaW50ZXJwb2xhdGVkIGFzIGEgQ1NTIGNsYXNzLiBDU1MgY2xhc3NlcyBjYW5ub3Qgc3RhcnQgd2l0aCBhIG51bWJlciBvciBjb25zaXN0IG9mIG9ubHkgbnVtYmVycy4gQ1NTIHdpbGwgbm90IGJlIGdlbmVyYXRlZCBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGUgY29udGVudC4gXCJcbiAgfVxuICBAZWxzZSB7XG4gICAgJi4jeyRhY3RpdmVfY2xhc3N9IHtcbiAgICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYWNjb3JkaW9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXMge1xuICAgIC5hY2NvcmRpb24ge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAuYWNjb3JkaW9uLW5hdmlnYXRpb24sIGRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgJi5hY3RpdmUgPiBhIHsgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjsgY29sb3I6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjsgfVxuICAgICAgICA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWZhbWlseTtcbiAgICAgICAgICBmb250LXNpemU6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU7XG4gICAgICAgICAgcGFkZGluZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc7XG4gICAgICAgICAgJjpob3ZlciB7IGJhY2tncm91bmQ6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjsgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGVudCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQWxlcnQgQm94IFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYWxlcnQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFsZXJ0IHBhZGRpbmcuXG4kYWxlcnQtcGFkZGluZy10b3A6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLWRlZmF1bHQtZmxvYXQ6ICRhbGVydC1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbjogJGFsZXJ0LXBhZGRpbmctdG9wICsgcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctYm90dG9tOiAkYWxlcnQtcGFkZGluZy10b3AgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGUuXG4kYWxlcnQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYWxlcnQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kYWxlcnQtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGFsZXJ0LWZvbnQtY29sb3ItYWx0OiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNjYlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgZm9yIGNsb3NlIGhvdmVyIGVmZmVjdC5cbiRhbGVydC1mdW5jdGlvbi1mYWN0b3I6IC0xNCUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXMuXG4kYWxlcnQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAkYWxlcnQtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRhbGVydC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgY2xvc2UgYnV0dG9uc1xuJGFsZXJ0LWNsb3NlLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXRvcDogNTAlICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXBvc2l0aW9uOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1vcGFjaXR5OiAuMyAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1vcGFjaXR5LWhvdmVyOiAuNSAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1wYWRkaW5nOiAwIDZweCA0cHggIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtYmFja2dyb3VuZDogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBib3JkZXIgcmFkaXVzXG4kYWxlcnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuJGFsZXJ0LXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zICFkZWZhdWx0O1xuJGFsZXJ0LXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBBbGVydCBNaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgYWxlcnQgYmFzZS5cbkBtaXhpbiBhbGVydC1iYXNlIHtcbiAgYm9yZGVyLXN0eWxlOiAkYWxlcnQtYm9yZGVyLXN0eWxlO1xuICBib3JkZXItd2lkdGg6ICRhbGVydC1ib3JkZXItd2lkdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRhbGVydC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtZm9udC13ZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1ib3R0b20tbWFyZ2luO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy10b3AgJGFsZXJ0LXBhZGRpbmctb3Bwb3NpdGUtZGlyZWN0aW9uICRhbGVydC1wYWRkaW5nLWJvdHRvbSAkYWxlcnQtcGFkZGluZy1kZWZhdWx0LWZsb2F0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKG9wYWNpdHksICRhbGVydC10cmFuc2l0aW9uLXNwZWVkLCAkYWxlcnQtdHJhbnNpdGlvbi1lYXNlKVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYWxlcnQgc3R5bGVzXG4vL1xuLy8gJGJnIC0gVGhlIGJhY2tncm91bmQgb2YgdGhlIGFsZXJ0LiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cbkBtaXhpbiBhbGVydC1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpIHtcblxuICAvLyBUaGlzIGZpbmRzIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBib3JkZXIgY29tZSB0aHJvdWdoLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIGJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAkYWxlcnQtZnVuY3Rpb24tZmFjdG9yKTtcblxuICAvLyBXZSBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGZvciB5b3UgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4gIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlIHsgY29sb3I6ICRhbGVydC1mb250LWNvbG9yLWFsdDsgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICB7IGNvbG9yOiAkYWxlcnQtZm9udC1jb2xvcjsgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGFsZXJ0LWNsb3NlIHtcbiAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGFsZXJ0LWNsb3NlLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kOiAkYWxlcnQtY2xvc2UtYmFja2dyb3VuZDtcbiAgY29sb3I6ICRhbGVydC1jbG9zZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkYWxlcnQtY2xvc2UtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogLjk7XG4gIG1hcmdpbi10b3A6IC0oJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZSAvIDIpO1xuICBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eTtcbiAgcGFkZGluZzogJGFsZXJ0LWNsb3NlLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkYWxlcnQtY2xvc2UtdG9wO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHsgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI7IH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgYWxlcnRzIHdpdGggYSBzaW5nbGUgbWl4aW4uXG4vL1xuLy8gJGJnIC0gQmFja2dyb3VuZCBvZiBhbGVydC4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXG4vLyAkcmFkaXVzIC0gUmFkaXVzIG9mIGFsZXJ0IGJveC4gRGVmYXVsdDogZmFsc2UuXG5AbWl4aW4gYWxlcnQoJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XG4gIEBpbmNsdWRlIGFsZXJ0LWJhc2U7XG4gIEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRiZyk7XG4gIEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImFsZXJ0LWJveFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWFsZXJ0LWNsYXNzZXMge1xuICAgIC5hbGVydC1ib3gge1xuICAgICAgQGluY2x1ZGUgYWxlcnQ7XG5cbiAgICAgIC5jbG9zZSAgICAgIHsgQGluY2x1ZGUgYWxlcnQtY2xvc2U7IH1cblxuICAgICAgJi5yYWRpdXMgICAgeyBAaW5jbHVkZSByYWRpdXMoJGFsZXJ0LXJhZGl1cyk7IH1cbiAgICAgICYucm91bmQgICAgIHsgQGluY2x1ZGUgcmFkaXVzKCRnbG9iYWwtcm91bmRlZCk7IH1cblxuICAgICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGFsZXJ0LWNvbG9yKTsgfVxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgJi53YXJuaW5nIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAmLmluZm8geyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkaW5mby1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQtY2xvc2UgeyBvcGFjaXR5OiAwfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy9cbi8vIEZPVU5EQVRJT04gU0VUVElOR1Ncbi8vXG5cbi8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgaHRtbCBhbmQgYm9keSBmb250LXNpemUgZm9yIHRoZSBiYXNlIHJlbSB2YWx1ZS5cbi8vICRyZW0tYmFzZTogMTZweDtcblxuLy8gQWxsb3dzIHRoZSB1c2Ugb2YgcmVtLWNhbGMoKSBvciBsb3dlci1ib3VuZCgpIGluIHlvdXIgc2V0dGluZ3NcbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2Z1bmN0aW9uc1wiO1xuXG4vLyBUaGUgZGVmYXVsdCBmb250LXNpemUgaXMgc2V0IHRvIDEwMCUgb2YgdGhlIGJyb3dzZXIgc3R5bGUgc2hlZXQgKHVzdWFsbHkgMTZweClcbi8vIGZvciBjb21wYXRpYmlsaXR5IHdpdGggYnJvd3Nlci1iYXNlZCB0ZXh0IHpvb20gb3IgdXNlci1zZXQgZGVmYXVsdHMuXG5cbi8vIFNpbmNlIHRoZSB0eXBpY2FsIGRlZmF1bHQgYnJvd3NlciBmb250LXNpemUgaXMgMTZweCwgdGhhdCBtYWtlcyB0aGUgY2FsY3VsYXRpb24gZm9yIGdyaWQgc2l6ZS5cbi8vIElmIHlvdSB3YW50IHlvdXIgYmFzZSBmb250LXNpemUgdG8gYmUgZGlmZmVyZW50IGFuZCBub3QgaGF2ZSBpdCBhZmZlY3QgdGhlIGdyaWQgYnJlYWtwb2ludHMsXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxuLy8gJGJhc2UtZm9udC1zaXplOiAxMDAlO1xuXG4vLyBUaGUgJGJhc2UtbGluZS1oZWlnaHQgaXMgMTAwJSB3aGlsZSAkYmFzZS1mb250LXNpemUgaXMgMTUwJVxuLy8gJGJhc2UtbGluZS1oZWlnaHQ6IDE1MCU7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgQ1NTIGNsYXNzZXMgY29tZSB0aHJvdWdoIGluIHRoZSBnZW0gZmlsZXMuXG4vLyAkaW5jbHVkZS1odG1sLWNsYXNzZXM6IHRydWU7XG4vLyAkaW5jbHVkZS1wcmludC1zdHlsZXM6IHRydWU7XG4vLyAkaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIEdyaWRcblxuLy8gJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vICRpbmNsdWRlLXhsLWh0bWwtZ3JpZC1jbGFzc2VzOiBmYWxzZTtcblxuLy8gJHJvdy13aWR0aDogcmVtLWNhbGMoMTAwMCk7XG4vLyAkdG90YWwtY29sdW1uczogMTI7XG5cbi8vIEdsb2JhbFxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGdsb2JhbCBzdHlsZXNcbi8vICRib2R5LWJnOiAjZmZmO1xuLy8gJGJvZHktZm9udC1jb2xvcjogIzIyMjtcbi8vICRib2R5LWZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4vLyAkYm9keS1mb250LXdlaWdodDogbm9ybWFsO1xuLy8gJGJvZHktZm9udC1zdHlsZTogbm9ybWFsO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGZvbnQtc21vb3RoaW5nXG4vLyAkZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IGRpcmVjdGlvbiBzZXR0aW5nc1xuLy8gJHRleHQtZGlyZWN0aW9uOiBsdHI7XG4vLyAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbi8vICRkZWZhdWx0LWZsb2F0OiBsZWZ0O1xuXG4vLyBXZSB1c2UgdGhlc2UgYXMgZGVmYXVsdCBjb2xvcnMgdGhyb3VnaG91dFxuLy8gJHByaW1hcnktY29sb3I6ICMwMDhDQkE7XG4kcHJpbWFyeS1jb2xvcjogIzAwNjAwMDtcbi8vICRzZWNvbmRhcnktY29sb3I6ICNlN2U3ZTc7XG4kc2Vjb25kYXJ5LWNvbG9yOiAjMmNiMDJjO1xuLy8gJGFsZXJ0LWNvbG9yOiAjZjA0MTI0O1xuLy8gJHN1Y2Nlc3MtY29sb3I6ICM0M0FDNkE7XG4vLyRzdWNjZXNzLWNvbG9yOiAjYWMwMDAwO1xuJHN1Y2Nlc3MtY29sb3I6ICNiYzJmMmY7XG4vLyAkd2FybmluZy1jb2xvcjogI2YwOGEyNDtcbi8vICRpbmZvLWNvbG9yOiAjYTBkM2U4O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSBzdXJlIGJvcmRlciByYWRpdXMgbWF0Y2hlcyB1bmxlc3Mgd2Ugd2FudCBpdCBkaWZmZXJlbnQuXG4vLyAkZ2xvYmFsLXJhZGl1czogM3B4O1xuJGdsb2JhbC1yYWRpdXM6IDVweDtcbi8vICRnbG9iYWwtcm91bmRlZDogMTAwMHB4O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBpbnNldCBzaGFkb3cgc2hpbnkgZWRnZXMgYW5kIGRlcHJlc3Npb25zLlxuLy8gJHNoaW55LWVkZ2Utc2l6ZTogMCAxcHggMDtcbi8vICRzaGlueS1lZGdlLWNvbG9yOiByZ2JhKCNmZmYsIC41KTtcbi8vICRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvcjogcmdiYSgjMDAwLCAuMik7XG5cbi8vICRjb2x1bW4tZ3V0dGVyOiByZW0tY2FsYygzMCk7XG5cbi8vIE1lZGlhIFF1ZXJ5IFJhbmdlc1xuLy8gJHNtYWxsLXJhbmdlOiAoMGVtLCA0MGVtKTtcbi8vICRtZWRpdW0tcmFuZ2U6ICg0MC4wNjNlbSwgNjRlbSk7XG4vLyAkbGFyZ2UtcmFuZ2U6ICg2NC4wNjNlbSwgOTBlbSk7XG4vLyAkeGxhcmdlLXJhbmdlOiAoOTAuMDYzZW0sIDEyMGVtKTtcbi8vICR4eGxhcmdlLXJhbmdlOiAoMTIwLjA2M2VtLCA5OTk5OTk5OWVtKTtcblxuLy8gJHNjcmVlbjogXCJvbmx5IHNjcmVlblwiO1xuXG4vLyAkbGFuZHNjYXBlOiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKVwiO1xuLy8gJHBvcnRyYWl0OiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpXCI7XG5cbi8vICRzbWFsbC11cDogJHNjcmVlbjtcbi8vICRzbWFsbC1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQoJHNtYWxsLXJhbmdlKX0pXCI7XG5cbi8vICRtZWRpdW0tdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIjtcbi8vICRtZWRpdW0tb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIjtcblxuLy8gJGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIjtcbi8vICRsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIjtcblxuLy8gJHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiO1xuLy8gJHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiO1xuXG4vLyAkeHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIjtcbi8vICR4eGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIjtcblxuLy8gTGVnYWN5XG4vLyAkc21hbGw6ICRtZWRpdW0tdXA7XG4vLyAkbWVkaXVtOiAkbWVkaXVtLXVwO1xuLy8gJGxhcmdlOiAkbGFyZ2UtdXA7XG5cbi8vV2UgdXNlIHRoaXMgYXMgY3Vyc29ycyB2YWx1ZXMgZm9yIGVuYWJsaW5nIHRoZSBvcHRpb24gb2YgaGF2aW5nIGN1c3RvbSBjdXJzb3JzIGluIHRoZSB3aG9sZSBzaXRlJ3Mgc3R5bGVzaGVldFxuLy8gJGN1cnNvci1jcm9zc2hhaXItdmFsdWU6IGNyb3NzaGFpcjtcbi8vICRjdXJzb3ItZGVmYXVsdC12YWx1ZTogZGVmYXVsdDtcbi8vICRjdXJzb3ItcG9pbnRlci12YWx1ZTogcG9pbnRlcjtcbi8vICRjdXJzb3ItaGVscC12YWx1ZTogaGVscDtcbi8vICRjdXJzb3ItdGV4dC12YWx1ZTogdGV4dDtcblxuLy9cbi8vIFRZUE9HUkFQSFlcbi8vXG5cbi8vICRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHN0eWxlc1xuLy8gJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyAkaGVhZGVyLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICRoZWFkZXItZm9udC1jb2xvcjogIzIyMjtcbi8vICRoZWFkZXItbGluZS1oZWlnaHQ6IDEuNDtcbi8vICRoZWFkZXItdG9wLW1hcmdpbjogLjJyZW07XG4vLyAkaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtO1xuJGhlYWRlci1ib3R0b20tbWFyZ2luOiAxcmVtO1xuLy8gJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzaXplc1xuLy8gJGgxLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDQpO1xuLy8gJGgyLWZvbnQtc2l6ZTogcmVtLWNhbGMoMzcpO1xuLy8gJGgzLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpO1xuLy8gJGg0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xuLy8gJGg1LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuLy8gJGg2LWZvbnQtc2l6ZTogMXJlbTtcblxuLy8gVGhlc2UgY29udHJvbCBob3cgc3ViaGVhZGVycyBhcmUgc3R5bGVkLlxuLy8gJHN1YmhlYWRlci1saW5lLWhlaWdodDogMS40O1xuLy8gJHN1YmhlYWRlci1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSk7XG4vLyAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkc3ViaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtO1xuLy8gJHN1YmhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbTtcblxuLy8gQSBnZW5lcmFsIDxzbWFsbD4gc3R5bGluZ1xuLy8gJHNtYWxsLWZvbnQtc2l6ZTogNjAlO1xuLy8gJHNtYWxsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHBhcmFncmFwaHNcbi8vICRwYXJhZ3JhcGgtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4vLyAkcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkcGFyYWdyYXBoLWZvbnQtc2l6ZTogMXJlbTtcbi8vICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ6IDEuNjtcbi8vICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuLy8gJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ6IDEuMzU7XG4vLyAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYztcbi8vICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIDxjb2RlPiB0YWdzXG4vLyAkY29kZS1jb2xvcjogc2NhbGUtY29sb3IoJGFsZXJ0LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjclKTtcbi8vICRjb2RlLWZvbnQtZmFtaWx5OiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbi8vICRjb2RlLWZvbnQtd2VpZ2h0OiBib2xkO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYW5jaG9yc1xuLy8gJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyAkYW5jaG9yLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1mb250LWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbi8vICRhbmNob3ItZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogLTI0JSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgPGhyPiBlbGVtZW50XG4vLyAkaHItYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkaHItYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRoci1ib3JkZXItY29sb3I6ICNkZGQ7XG4vLyAkaHItbWFyZ2luOiByZW0tY2FsYygyMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsaXN0c1xuLy8gJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4vLyAkbGlzdC1zaWRlLW1hcmdpbjogMS4xcmVtO1xuLy8gJGxpc3Qtb3JkZXJlZC1zaWRlLW1hcmdpbjogMS40cmVtO1xuLy8gJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0OiAwO1xuLy8gJGxpc3QtbmVzdGVkLW1hcmdpbjogcmVtLWNhbGMoMjApO1xuLy8gJGRlZmluaXRpb24tbGlzdC1oZWFkZXItd2VpZ2h0OiBib2xkO1xuLy8gJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTogLjNyZW07XG4vLyAkZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGJsb2NrcXVvdGVzXG4vLyAkYmxvY2txdW90ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSk7XG4vLyAkYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuLy8gJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbi8vICRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4vLyAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMjMlKTtcbi8vICRibG9ja3F1b3RlLWNpdGUtbGluay1jb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yO1xuXG4vLyBBY3JvbnltIHN0eWxlc1xuLy8gJGFjcm9ueW0tdW5kZXJsaW5lOiAxcHggZG90dGVkICNkZGQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHBhZGRpbmcgYW5kIG1hcmdpblxuLy8gJG1pY3JvZm9ybWF0LXBhZGRpbmc6IHJlbS1jYWxjKDEwIDEyKTtcbi8vICRtaWNyb2Zvcm1hdC1tYXJnaW46IHJlbS1jYWxjKDAgMCAyMCAwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBzdHlsZXNcbi8vICRtaWNyb2Zvcm1hdC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRtaWNyb2Zvcm1hdC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJG1pY3JvZm9ybWF0LWJvcmRlci1jb2xvcjogI2RkZDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZnVsbCBuYW1lIGZvbnQgc3R5bGVzXG4vLyAkbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN1bW1hcnkgZm9udCBzdHlsZXNcbi8vICRtaWNyb2Zvcm1hdC1zdW1tYXJ5LWZvbnQtd2VpZ2h0OiBib2xkO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgcGFkZGluZ1xuLy8gJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZzogcmVtLWNhbGMoMCAxKTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIGZvbnQgc3R5bGVzXG4vLyAkbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDogYm9sZDtcbi8vICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtZGVjb3JhdGlvbjogbm9uZTtcblxuLy8gQWNjb3JkaW9uXG5cbi8vICRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvcjogI2VmZWZlZiAgO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC01JSk7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSk7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvcjogIzIyMjtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cbi8vICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAkY29sdW1uLWd1dHRlci8yO1xuLy8gJGFjY29yZGlvbi1jb250ZW50LWFjdGl2ZS1iZy1jb2xvcjogI2ZmZjtcblxuLy8gQWxlcnQgQm94ZXNcblxuLy8gJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWxlcnQgcGFkZGluZy5cbi8vICRhbGVydC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpO1xuLy8gJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDogJGFsZXJ0LXBhZGRpbmctdG9wO1xuLy8gJGFsZXJ0LXBhZGRpbmctb3Bwb3NpdGUtZGlyZWN0aW9uOiAkYWxlcnQtcGFkZGluZy10b3AgKyByZW0tY2FsYygxMCk7XG4vLyAkYWxlcnQtcGFkZGluZy1ib3R0b206ICRhbGVydC1wYWRkaW5nLXRvcDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZS5cbi8vICRhbGVydC1mb250LXdlaWdodDogbm9ybWFsO1xuLy8gJGFsZXJ0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuLy8gJGFsZXJ0LWZvbnQtY29sb3I6ICNmZmY7XG4vLyAkYWxlcnQtZm9udC1jb2xvci1hbHQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC02NiUpO1xuXG4vLyBXZSB1c2UgdGhpcyBmb3IgY2xvc2UgaG92ZXIgZWZmZWN0LlxuLy8gJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcjogLTE0JTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cbi8vICRhbGVydC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGFsZXJ0LWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGFsZXJ0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGFsZXJ0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25zXG4vLyAkYWxlcnQtY2xvc2UtY29sb3I6ICMzMzM7XG4vLyAkYWxlcnQtY2xvc2UtdG9wOiA1MCU7XG4vLyAkYWxlcnQtY2xvc2UtcG9zaXRpb246IHJlbS1jYWxjKDQpO1xuLy8gJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuLy8gJGFsZXJ0LWNsb3NlLW9wYWNpdHk6IDAuMztcbi8vICRhbGVydC1jbG9zZS1vcGFjaXR5LWhvdmVyOiAwLjU7XG4vLyAkYWxlcnQtY2xvc2UtcGFkZGluZzogOXB4IDZweCA0cHg7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1c1xuLy8gJGFsZXJ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdHJhbnNpdGlvbiBlZmZlY3RzXG4vLyAkYWxlcnQtdHJhbnNpdGlvbi1zcGVlZDogMzAwbXM7XG4vLyAkYWxlcnQtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dDtcblxuLy8gQmxvY2sgR3JpZFxuXG4vLyAkaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXM6IGZhbHNlO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXhpbXVtIG51bWJlciBvZiBibG9jayBncmlkIGVsZW1lbnRzIHBlciByb3dcbi8vICRibG9jay1ncmlkLWVsZW1lbnRzOiAxMjtcbi8vICRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZzogcmVtLWNhbGMoMjApO1xuLy8gJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZDogZmFsc2U7XG5cblxuLy8gRW5hYmxlcyBtZWRpYSBxdWVyaWVzIGZvciBibG9jay1ncmlkIGNsYXNzZXMuIFNldCB0byBmYWxzZSBpZiB3cml0aW5nIHNlbWFudGljIEhUTUwuXG4vLyAkYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzOiB0cnVlO1xuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGJyZWFkY3J1bWIgY29udGFpbmVyLlxuLy8gJGNydW1iLWJnOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA1NSUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBwYWRkaW5nIGFyb3VuZCB0aGUgYnJlYWRjcnVtYnMuXG4vLyAkY3J1bWItcGFkZGluZzogcmVtLWNhbGMoOSAxNCA5KTtcbi8vICRjcnVtYi1zaWRlLXBhZGRpbmc6IHJlbS1jYWxjKDEyKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cbi8vICRjcnVtYi1mdW5jdGlvbi1mYWN0b3I6IC0xMCU7XG4vLyAkY3J1bWItYm9yZGVyLXNpemU6IDFweDtcbi8vICRjcnVtYi1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGNydW1iLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNydW1iLWJnLCAkbGlnaHRuZXNzOiAkY3J1bWItZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRjcnVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHZhcmlvdXMgdGV4dCBzdHlsZXMgZm9yIGJyZWFkY3J1bWJzLlxuLy8gJGNydW1iLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuLy8gJGNydW1iLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDogIzMzMztcbi8vICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOiAjOTk5O1xuLy8gJGNydW1iLWZvbnQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyAkY3J1bWItbGluay1kZWNvcjogdW5kZXJsaW5lO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1ic1xuLy8gJGNydW1iLXNsYXNoLWNvbG9yOiAjYWFhO1xuLy8gJGNydW1iLXNsYXNoOiBcIi9cIjtcblxuLy9cbi8vIEJVVFRPTlNcbi8vXG5cbi8vICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMuXG4vLyAkYnV0dG9uLXRueTogcmVtLWNhbGMoMTApO1xuLy8gJGJ1dHRvbi1zbWw6IHJlbS1jYWxjKDE0KTtcbi8vICRidXR0b24tbWVkOiByZW0tY2FsYygxNik7XG4vLyAkYnV0dG9uLWxyZzogcmVtLWNhbGMoMTgpO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBkaXNwbGF5IHByb3BlcnR5LlxuLy8gJGJ1dHRvbi1kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyAkYnV0dG9uLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYnV0dG9uIHRleHQgc3R5bGVzLlxuLy8gJGJ1dHRvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyAkYnV0dG9uLWZvbnQtY29sb3I6ICNmZmY7XG4vLyAkYnV0dG9uLWZvbnQtY29sb3ItYWx0OiAjMzMzO1xuLy8gJGJ1dHRvbi1mb250LXRueTogcmVtLWNhbGMoMTEpO1xuLy8gJGJ1dHRvbi1mb250LXNtbDogcmVtLWNhbGMoMTMpO1xuLy8gJGJ1dHRvbi1mb250LW1lZDogcmVtLWNhbGMoMTYpO1xuLy8gJGJ1dHRvbi1mb250LWxyZzogcmVtLWNhbGMoMjApO1xuLy8gJGJ1dHRvbi1mb250LXdlaWdodDogbm9ybWFsO1xuLy8gJGJ1dHRvbi1mb250LWFsaWduOiBjZW50ZXI7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgaG92ZXIgZWZmZWN0cy5cbi8vICRidXR0b24tZnVuY3Rpb24tZmFjdG9yOiAtMjAlO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gYm9yZGVyIHN0eWxlcy5cbi8vICRidXR0b24tYm9yZGVyLXdpZHRoOiAwcHg7XG4vLyAkYnV0dG9uLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkYmc6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGJ1dHRvbi1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cbi8vICRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRidXR0b24tcm91bmQ6ICRnbG9iYWwtcm91bmRlZDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBmb3IgZGlzYWJsZWQgYnV0dG9ucy5cbi8vICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTogMC43O1xuXG4vLyBCdXR0b24gR3JvdXBzXG5cbi8vICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcbi8vICRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTogcmVtLWNhbGMoMTApO1xuLy8gJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGg6IDFweDtcblxuLy8gQ2xlYXJpbmdcblxuLy8gJGluY2x1ZGUtaHRtbC1jbGVhcmluZy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3JzIGZvciBwYXJ0cyBvZiBDbGVhcmluZy5cbi8vICRjbGVhcmluZy1iZzogIzMzMztcbi8vICRjbGVhcmluZy1jYXB0aW9uLWJnOiAkY2xlYXJpbmctYmc7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtYmc6IHJnYmEoNTEsNTEsNTEsMC44KTtcbi8vICRjbGVhcmluZy1pbWctYmc6ICRjbGVhcmluZy1iZztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25cbi8vICRjbGVhcmluZy1jbG9zZS1jb2xvcjogI2NjYztcbi8vICRjbGVhcmluZy1jbG9zZS1zaXplOiAzMHB4O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGFycm93c1xuLy8gJGNsZWFyaW5nLWFycm93LXNpemU6IDEycHg7XG4vLyAkY2xlYXJpbmctYXJyb3ctY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvcjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGNhcHRpb25zXG4vLyAkY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yOiAjY2NjO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplOiAwLjg3NWVtO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZzogMTBweCAzMHB4IDIwcHg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHRoZSBpbWFnZSBhbmQgY2Fyb3VzZWwgaGVpZ2h0IGFuZCBzdHlsZVxuLy8gJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0OiA4NSU7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0OiAxMjBweDtcbi8vICRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDogMTIwcHg7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItYWN0aXZlLWJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7XG5cbi8vIERyb3Bkb3duXG5cbi8vICRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXG4vLyAkZi1kcm9wZG93bi1tYXgtd2lkdGg6IDIwMHB4O1xuLy8gJGYtZHJvcGRvd24taGVpZ2h0OiBhdXRvO1xuLy8gJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZTtcblxuLy8gVXNlZCBmb3IgYm90dG9tIHBvc2l0aW9uXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tdG9wOiAycHg7XG5cbi8vIFVzZWQgZm9yIHJpZ2h0IHBvc2l0aW9uXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tbGVmdDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcblxuLy8gVXNlZCBmb3IgbGVmdCBwb3NpdGlvblxuLy8gJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wO1xuXG4vLyBVc2VkIGZvciB0b3AgcG9zaXRpb25cbi8vICRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b206ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3Jcbi8vICRmLWRyb3Bkb3duLWJnOiAjZmZmO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJvcmRlciBzdHlsZXMgZm9yIGRyb3Bkb3ducy5cbi8vICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTIwJSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgdHJpYW5nbGUgcGlwLlxuLy8gJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZTogNnB4O1xuLy8gJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3I6ICNmZmY7XG4vLyAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDogMTBweDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc3R5bGVzIGZvciB0aGUgbGlzdCBlbGVtZW50cy5cbi8vICRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU6IG5vbmU7XG4vLyAkZi1kcm9wZG93bi1mb250LWNvbG9yOiAjNTU1O1xuLy8gJGYtZHJvcGRvd24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkZi1kcm9wZG93bi1saXN0LXBhZGRpbmc6IHJlbS1jYWxjKDUsIDEwKTtcbi8vICRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4vLyAkZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOiAjZWVlZWVlICA7XG4vLyAkZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDA7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN0eWxlcyBmb3Igd2hlbiB0aGUgZHJvcGRvd24gaGFzIGN1c3RvbSBjb250ZW50LlxuLy8gJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbi8vIERyb3Bkb3duIEJ1dHRvbnNcblxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBjb2xvciBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yOiAjZmZmO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3ItYWx0OiAjMzMzO1xuXG4vLyAkYnV0dG9uLXBpcC10bnk6IHJlbS1jYWxjKDYpO1xuLy8gJGJ1dHRvbi1waXAtc21sOiByZW0tY2FsYyg3KTtcbi8vICRidXR0b24tcGlwLW1lZDogcmVtLWNhbGMoOSk7XG4vLyAkYnV0dG9uLXBpcC1scmc6IHJlbS1jYWxjKDExKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRpbnkgZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogNztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnk7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk6ICRidXR0b24tcGlwLXRueSAqIDM7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtdG55OiAtJGJ1dHRvbi1waXAtdG55IC8gMiArIHJlbS1jYWxjKDEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgc21hbGwgZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXNtbDogJGJ1dHRvbi1waXAtc21sICogNztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtc21sOiAkYnV0dG9uLXBpcC1zbWw7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDM7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3Atc21sOiAtJGJ1dHRvbi1waXAtc21sIC8gMiArIHJlbS1jYWxjKDEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbWVkaXVtIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDYgKyByZW0tY2FsYygzKTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMi41O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLW1lZDogLSRidXR0b24tcGlwLW1lZCAvIDIgKyByZW0tY2FsYygyKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxhcmdlIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgKyByZW0tY2FsYygzKTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLWxyZzogJGJ1dHRvbi1waXAtbHJnICogMi41O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZzogLSRidXR0b24tcGlwLWxyZyAvIDIgKyByZW0tY2FsYygzKTtcblxuLy8gRmxleCBWaWRlb1xuXG4vLyAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmlkZW8gY29udGFpbmVyIHBhZGRpbmcgYW5kIG1hcmdpbnNcbi8vICRmbGV4LXZpZGVvLXBhZGRpbmctdG9wOiByZW0tY2FsYygyNSk7XG4vLyAkZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTogNjcuNSU7XG4vLyAkZmxleC12aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2lkZXNjcmVlbiBib3R0b20gcGFkZGluZ1xuLy8gJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTogNTYuMzQlO1xuXG4vLyBGb3Jtc1xuXG4vLyAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhc2UgZm9yIGxvdHMgb2YgZm9ybSBzcGFjaW5nIGFuZCBwb3NpdGlvbmluZyBzdHlsZXNcbi8vICRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHMgaW4gZGlmZmVyZW50IHdheXNcbi8vICRmb3JtLWxhYmVsLXBvaW50ZXI6IHBvaW50ZXI7XG4vLyAkZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS41O1xuLy8gJGZvcm0tbGFiZWwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoIzAwMCwgJGxpZ2h0bmVzczogMzAlKTtcbi8vICRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbi8vICRmb3JtLWxhYmVsLWJvdHRvbS1tYXJnaW46IDA7XG4vLyAkaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4vLyAkaW5wdXQtZm9udC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcbi8vICRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRpbnB1dC1iZy1jb2xvcjogI2ZmZjtcbi8vICRpbnB1dC1mb2N1cy1iZy1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTIlKTtcbi8vICRpbnB1dC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC0yMCUpO1xuLy8gJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTQwJSk7XG4vLyAkaW5wdXQtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRpbnB1dC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRpbnB1dC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRpbnB1dC1kaXNhYmxlZC1iZzogI2RkZDtcbi8vICRpbnB1dC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjEpO1xuLy8gJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3Q6IHRydWU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZmllbGRzZXQgYm9yZGVyIGFuZCBzcGFjaW5nLlxuLy8gJGZpZWxkc2V0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkZmllbGRzZXQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkZmllbGRzZXQtYm9yZGVyLWNvbG9yOiAjZGRkO1xuLy8gJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbi8vICRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxlZ2VuZHMgd2hlbiB5b3UgdXNlIHRoZW1cbi8vICRsZWdlbmQtYmc6ICNmZmY7XG4vLyAkbGVnZW5kLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHByZWZpeCBhbmQgcG9zdGZpeCBpbnB1dCBlbGVtZW50c1xuLy8gJGlucHV0LXByZWZpeC1iZzogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTUlKTtcbi8vICRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtMjAlKTtcbi8vICRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU6IDFweDtcbi8vICRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU6IHNvbGlkO1xuLy8gJGlucHV0LXByZWZpeC1vdmVyZmxvdzogaGlkZGVuO1xuLy8gJGlucHV0LXByZWZpeC1mb250LWNvbG9yOiAjMzMzO1xuLy8gJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDogI2ZmZjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBlcnJvciBzdGF0ZXMgZm9yIGlucHV0cyBhbmQgbGFiZWxzXG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nOiByZW0tY2FsYyg2IDkgOSk7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A6IC0xcHg7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlOiBpdGFsaWM7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOiAjZmZmO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ6ICMzMzM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBnbG93aW5nIGVmZmVjdCBvZiBpbnB1dHMgd2hlbiBmb2N1c2VkXG4vLyAkZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lOiAwLjQ1cztcbi8vICRnbG93aW5nLWVmZmVjdC1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcblxuLy8gU2VsZWN0IHZhcmlhYmxlc1xuLy8gJHNlbGVjdC1iZy1jb2xvcjogI2ZhZmFmYTtcbi8vICRzZWxlY3QtaG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWxlY3QtYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSk7XG5cbi8vIElubGluZSBMaXN0c1xuXG4vLyAkaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWFyZ2lucyBhbmQgcGFkZGluZyBvZiB0aGUgaW5saW5lIGxpc3QuXG4vLyAkaW5saW5lLWxpc3QtdG9wLW1hcmdpbjogMDtcbi8vICRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW46IDA7XG4vLyAkaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMTcpO1xuLy8gJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbWFyZ2luOiByZW0tY2FsYygtMjIpO1xuXG4vLyAkaW5saW5lLWxpc3QtcGFkZGluZzogMDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgb3ZlcmZsb3cgb2YgdGhlIGlubGluZSBsaXN0LlxuLy8gJGlubGluZS1saXN0LW92ZXJmbG93OiBoaWRkZW47XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbXNcbi8vICRpbmxpbmUtbGlzdC1kaXNwbGF5OiBibG9jaztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbnkgZWxtZW50cyB3aXRoaW4gbGlzdCBpdGVtc1xuLy8gJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk6IGJsb2NrO1xuXG4vLyBKb3lyaWRlXG5cbi8vICRpbmNsdWRlLWh0bWwtam95cmlkZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIENvbnRyb2xsaW5nIGRlZmF1bHQgSm95cmlkZSBzdHlsZXNcbi8vICRqb3lyaWRlLXRpcC1iZzogIzMzMztcbi8vICRqb3lyaWRlLXRpcC1kZWZhdWx0LXdpZHRoOiAzMDBweDtcbi8vICRqb3lyaWRlLXRpcC1wYWRkaW5nOiByZW0tY2FsYygxOCAyMCAyNCk7XG4vLyAkam95cmlkZS10aXAtYm9yZGVyOiBzb2xpZCAxcHggIzU1NTtcbi8vICRqb3lyaWRlLXRpcC1yYWRpdXM6IDRweDtcbi8vICRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ6IDIycHg7XG5cbi8vIEhlcmUsIHdlJ3JlIHNldHRpbmcgdGhlIHRpcCBkb250IHN0eWxlc1xuLy8gJGpveXJpZGUtdGlwLWZvbnQtY29sb3I6ICNmZmY7XG4vLyAkam95cmlkZS10aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkam95cmlkZS10aXAtaGVhZGVyLXdlaWdodDogYm9sZDtcblxuLy8gVGhpcyBjaGFuZ2VzIHRoZSBudWIgc2l6ZVxuLy8gJGpveXJpZGUtdGlwLW51Yi1zaXplOiAxMHB4O1xuXG4vLyBUaGlzIGFkanVzdHMgdGhlIHN0eWxlcyBmb3IgdGhlIHRpbWVyIHdoZW4gaXRzIGVuYWJsZWRcbi8vICRqb3lyaWRlLXRpcC10aW1lci13aWR0aDogNTBweDtcbi8vICRqb3lyaWRlLXRpcC10aW1lci1oZWlnaHQ6IDNweDtcbi8vICRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjogIzY2NjtcblxuLy8gVGhpcyBjaGFuZ2VzIHVwIHRoZSBzdHlsZXMgZm9yIHRoZSBjbG9zZSBidXR0b25cbi8vICRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvcjogIzc3Nztcbi8vICRqb3lyaWRlLXRpcC1jbG9zZS1zaXplOiAyNHB4O1xuLy8gJGpveXJpZGUtdGlwLWNsb3NlLXdlaWdodDogbm9ybWFsO1xuXG4vLyBXaGVuIEpveXJpZGUgaXMgZmlsbGluZyB0aGUgc2NyZWVuLCB3ZSB1c2UgdGhpcyBzdHlsZSBmb3IgdGhlIGJnXG4vLyAkam95cmlkZS1zY3JlZW5maWxsOiByZ2JhKDAsMCwwLDAuNSk7XG5cbi8vIEtleXN0cm9rZXNcblxuLy8gJGluY2x1ZGUtaHRtbC1rZXlzdHJva2UtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlcy5cbi8vICRrZXlzdHJva2UtZm9udDogXCJDb25zb2xhc1wiLCBcIk1lbmxvXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG4vLyAka2V5c3Ryb2tlLWZvbnQtc2l6ZTogaW5oZXJpdDtcbi8vICRrZXlzdHJva2UtZm9udC1jb2xvcjogIzIyMjtcbi8vICRrZXlzdHJva2UtZm9udC1jb2xvci1hbHQ6ICNmZmY7XG4vLyAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcjogLTclO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGtleXN0cm9rZSBwYWRkaW5nLlxuLy8gJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXMuXG4vLyAka2V5c3Ryb2tlLWJnOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAka2V5c3Ryb2tlLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAka2V5c3Ryb2tlLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGtleXN0cm9rZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRrZXlzdHJva2UtYmcsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gTGFiZWxzXG5cbi8vICRpbmNsdWRlLWh0bWwtbGFiZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVsc1xuLy8gJGxhYmVsLXBhZGRpbmc6IHJlbS1jYWxjKDQgOCA2KTtcbi8vICRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVsIHRleHRcbi8vICRsYWJlbC1mb250LXNpemluZzogcmVtLWNhbGMoMTEpO1xuLy8gJGxhYmVsLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkbGFiZWwtZm9udC1jb2xvcjogIzMzMztcbi8vICRsYWJlbC1mb250LWNvbG9yLWFsdDogI2ZmZjtcbi8vICRsYWJlbC1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cbi8vIE1hZ2VsbGFuXG5cbi8vICRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyAkbWFnZWxsYW4tYmc6ICNmZmY7XG4vLyAkbWFnZWxsYW4tcGFkZGluZzogMTBweDtcblxuLy8gT2ZmLWNhbnZhc1xuXG4vLyAkaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyAkdGFiYmFyLWJnOiAjMzMzO1xuLy8gJHRhYmJhci1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcbi8vICR0YWJiYXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuLy8gJHRhYmJhci1jb2xvcjogI2ZmZjtcbi8vICR0YWJiYXItbWlkZGxlLXBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuXG4vLyBPZmYgQ2FudmFzIERpdmlkZXIgU3R5bGVzXG4vLyAkdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogMTMlKTtcbi8vICR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpO1xuXG4vLyBPZmYgQ2FudmFzIFRhYiBCYXIgSGVhZGVyc1xuLy8gJHRhYmJhci1oZWFkZXItY29sb3I6ICNmZmY7XG4vLyAkdGFiYmFyLWhlYWRlci13ZWlnaHQ6IGJvbGQ7XG4vLyAkdGFiYmFyLWhlYWRlci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4vLyAkdGFiYmFyLWhlYWRlci1tYXJnaW46IDA7XG5cbi8vIE9mZiBDYW52YXMgTWVudSBWYXJpYWJsZXNcbi8vICRvZmYtY2FudmFzLXdpZHRoOiByZW0tY2FsYygyNTApO1xuLy8gJG9mZi1jYW52YXMtYmc6ICMzMzM7XG5cbi8vIE9mZiBDYW52YXMgTWVudSBMaXN0IFZhcmlhYmxlc1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZzogMC4zcmVtIHJlbS1jYWxjKDE1KTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLWNvbG9yOiAjOTk5O1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtYmc6ICM0NDQ7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wOiAxcHggc29saWQgc2NhbGUtY29sb3IoIzQ0NCwgJGxpZ2h0bmVzczogMTQlKTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b206IG5vbmU7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW46MDtcbi8vICRvZmYtY2FudmFzLWxpbmstcGFkZGluZzogcmVtLWNhbGMoMTAsIDE1KTtcbi8vICRvZmYtY2FudmFzLWxpbmstY29sb3I6IHJnYmEoI2ZmZiwgMC43KTtcbi8vICRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJnLCAkbGlnaHRuZXNzOiAtMjUlKTtcblxuLy8gT2ZmIENhbnZhcyBNZW51IEljb24gVmFyaWFibGVzXG4vLyAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvcjogI2ZmZjtcbi8vICR0YWJiYXItbWVudS1pY29uLWhvdmVyOiBzY2FsZS1jb2xvcigkdGFiYmFyLW1lbnUtaWNvbi1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSk7XG5cbi8vICR0YWJiYXItbWVudS1pY29uLXRleHQtaW5kZW50OiByZW0tY2FsYygzNSk7XG4vLyAkdGFiYmFyLW1lbnUtaWNvbi13aWR0aDogJHRhYmJhci1oZWlnaHQ7XG4vLyAkdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuLy8gJHRhYmJhci1tZW51LWljb24tbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMzKTtcbi8vICR0YWJiYXItbWVudS1pY29uLXBhZGRpbmc6IDA7XG5cbi8vICR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGg6IHJlbS1jYWxjKDE2KTtcbi8vICR0YWJiYXItaGFtYnVyZ2VyLWljb24tbGVmdDogZmFsc2U7XG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcDogZmFsc2U7XG4vLyAkdGFwYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzczogMXB4O1xuLy8gJHRhcGJhci1oYW1idXJnZXItaWNvbi1nYXA6IDZweDtcblxuLy8gT2ZmIENhbnZhcyBCYWNrLUxpbmsgT3ZlcmxheVxuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7XG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LWN1cnNvcjogcG9pbnRlcjtcbi8vICRvZmYtY2FudmFzLW92ZXJsYXktYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKCMwMDAsIDAuNSksIDRweCAwIDRweCByZ2JhKCMwMDAsIDAuNSk7XG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoI2ZmZiwgMC4yKTtcbi8vICRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgjZmZmLCAwLjA1KTtcblxuLy8gVHJhbnNpdGlvbiBWYXJpYWJsZXNcbi8vICRtZW51LXNsaWRlOiBcInRyYW5zZm9ybSA1MDBtcyBlYXNlXCI7XG5cbi8vIE9yYml0XG5cbi8vICRpbmNsdWRlLWh0bWwtb3JiaXQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgY2FwdGlvbiBzdHlsZXNcbi8vICRvcmJpdC1jb250YWluZXItYmc6IG5vbmU7XG4vLyAkb3JiaXQtY2FwdGlvbi1iZzogcmdiYSg1MSw1MSw1MSwgMC44KTtcbi8vICRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I6ICNmZmY7XG4vLyAkb3JiaXQtY2FwdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uOiBcImJvdHRvbVwiOyAvLyBTdXBwb3J0ZWQgdmFsdWVzOiBcImJvdHRvbVwiLCBcInVuZGVyXCJcbi8vICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDEwIDE0KTtcbi8vICRvcmJpdC1jYXB0aW9uLWhlaWdodDogYXV0bztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxlZnQvcmlnaHQgbmF2IHN0eWxlc1xuLy8gJG9yYml0LW5hdi1iZzogdHJhbnNwYXJlbnQ7XG4vLyAkb3JiaXQtbmF2LWJnLWhvdmVyOiByZ2JhKDAsMCwwLDAuMyk7XG4vLyAkb3JiaXQtbmF2LWFycm93LWNvbG9yOiAjZmZmO1xuLy8gJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjogI2ZmZjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xuLy8gJG9yYml0LXRpbWVyLWJnOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG4vLyAkb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXI6IHRydWU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBidWxsZXQgbmF2IHN0eWxlc1xuLy8gJG9yYml0LWJ1bGxldC1uYXYtY29sb3I6ICNjY2M7XG4vLyAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvci1hY3RpdmU6ICM5OTk7XG4vLyAkb3JiaXQtYnVsbGV0LXJhZGl1czogcmVtLWNhbGMoOSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgc3R5bGUgb2Ygc2xpZGUgbnVtYmVyc1xuLy8gJG9yYml0LXNsaWRlLW51bWJlci1iZzogcmdiYSgwLDAsMCwwKTtcbi8vICRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjogI2ZmZjtcbi8vICRvcmJpdC1zbGlkZS1udW1iZXItcGFkZGluZzogcmVtLWNhbGMoNSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgY3NzIGFuaW1hdGlvblxuLy8gJG9yYml0LWFuaW1hdGlvbi1zcGVlZDogNTAwbXM7XG4vLyAkb3JiaXQtYW5pbWF0aW9uLWVhc2U6IGVhc2UtaW4tb3V0O1xuXG4vLyBIaWRlIGNvbnRyb2xzIG9uIHNtYWxsXG4vLyAkb3JiaXQtbmF2LWhpZGUtZm9yLXNtYWxsOiB0cnVlO1xuLy8gJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbDogdHJ1ZTtcbi8vICRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbDogdHJ1ZTtcblxuLy8gR3JhY2VmdWwgTG9hZGluZyBXcmFwcGVyIGFuZCBwcmVsb2FkZXJcbi8vICR3cmFwcGVyLWNsYXNzOiBcInNsaWRlc2hvdy13cmFwcGVyXCI7XG4vLyAkcHJlbG9hZGVyLWNsYXNzOiBcInByZWxvYWRlclwiO1xuXG4vLyBQYWdpbmF0aW9uXG5cbi8vICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyXG4vLyAkcGFnaW5hdGlvbi1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbi8vICRwYWdpbmF0aW9uLW1hcmdpbjogcmVtLWNhbGMoLTUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBsaXN0LWl0ZW0gcHJvcGVydGllc1xuLy8gJHBhZ2luYXRpb24tbGktZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuLy8gJHBhZ2luYXRpb24tbGktaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4vLyAkcGFnaW5hdGlvbi1saS1mb250LWNvbG9yOiAjMjIyO1xuLy8gJHBhZ2luYXRpb24tbGktZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkcGFnaW5hdGlvbi1saS1tYXJnaW46IHJlbS1jYWxjKDUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIHRoZSBwYWdpbmF0aW9uIGFuY2hvciBsaW5rc1xuLy8gJHBhZ2luYXRpb24tbGluay1wYWQ6IHJlbS1jYWxjKDEgMTAgMSk7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWZvbnQtY29sb3I6ICM5OTk7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTEwJSk7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgZGlzYWJsZWQgYW5jaG9yIGxpbmtzXG4vLyAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWN1cnNvcjogZGVmYXVsdDtcbi8vICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjogIzk5OTtcbi8vICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtYmctYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciBjdXJyZW50bHkgc2VsZWN0ZWQgYW5jaG9yIGxpbmtzXG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjogI2ZmZjtcbi8vICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDogYm9sZDtcbi8vICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I6IGRlZmF1bHQ7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gUGFuZWxzXG5cbi8vICRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHN0eWxlc1xuLy8gJHBhbmVsLWJnOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtNSUpO1xuJHBhbmVsLWJnOiAjZmZmZmZmO1xuLy8gJHBhbmVsLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcGFuZWwtYm9yZGVyLXNpemU6IDFweDtcblxuLy8gV2UgdXNlIHRoaXMgJSB0byBjb250cm9sIGhvdyBtdWNoIHdlIGRhcmtlbiB0aGluZ3Mgb24gaG92ZXJcbi8vICRwYW5lbC1mdW5jdGlvbi1mYWN0b3I6IC0xMSU7XG4vLyAkcGFuZWwtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGFuZWwtYmcsICRsaWdodG5lc3M6ICRwYW5lbC1mdW5jdGlvbi1mYWN0b3IpO1xuLy8kcGFuZWwtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogJHBhbmVsLWZ1bmN0aW9uLWZhY3Rvcik7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBpbm5lciBwYWRkaW5nIGFuZCBib3R0b20gbWFyZ2luXG4vLyAkcGFuZWwtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuLy8gJHBhbmVsLXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGZvbnQgY29sb3JzXG4vLyAkcGFuZWwtZm9udC1jb2xvcjogIzMzMztcbi8vICRwYW5lbC1mb250LWNvbG9yLWFsdDogI2ZmZjtcblxuLy8gJHBhbmVsLWhlYWRlci1hZGp1c3Q6IHRydWU7XG4vLyAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gUHJpY2luZyBUYWJsZXNcblxuLy8gJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm9yZGVyIGNvbG9yXG4vLyAkcHJpY2UtdGFibGUtYm9yZGVyOiBzb2xpZCAxcHggI2RkZDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgcHJpY2luZyB0YWJsZVxuLy8gJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpdGxlIHN0eWxlc1xuLy8gJHByaWNlLXRpdGxlLWJnOiAjMzMzO1xuLy8gJHByaWNlLXRpdGxlLXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKTtcbi8vICRwcmljZS10aXRsZS1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLXRpdGxlLWNvbG9yOiAjZWVlO1xuLy8gJHByaWNlLXRpdGxlLXdlaWdodDogbm9ybWFsO1xuLy8gJHByaWNlLXRpdGxlLXNpemU6IHJlbS1jYWxjKDE2KTtcbi8vICRwcmljZS10aXRsZS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwcmljZSBzdHlsZXNcbi8vICRwcmljZS1tb25leS1iZzogI2Y2ZjZmNiAgO1xuLy8gJHByaWNlLW1vbmV5LXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKTtcbi8vICRwcmljZS1tb25leS1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLW1vbmV5LWNvbG9yOiAjMzMzO1xuLy8gJHByaWNlLW1vbmV5LXdlaWdodDogbm9ybWFsO1xuLy8gJHByaWNlLW1vbmV5LXNpemU6IHJlbS1jYWxjKDMyKTtcbi8vICRwcmljZS1tb25leS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGRlc2NyaXB0aW9uIHN0eWxlc1xuLy8gJHByaWNlLWJnOiAjZmZmO1xuLy8gJHByaWNlLWRlc2MtY29sb3I6ICM3Nzc7XG4vLyAkcHJpY2UtZGVzYy1wYWRkaW5nOiByZW0tY2FsYygxNSk7XG4vLyAkcHJpY2UtZGVzYy1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLWRlc2MtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4vLyAkcHJpY2UtZGVzYy13ZWlnaHQ6IG5vcm1hbDtcbi8vICRwcmljZS1kZXNjLWxpbmUtaGVpZ2h0OiAxLjQ7XG4vLyAkcHJpY2UtZGVzYy1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICNkZGQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW0gc3R5bGVzXG4vLyAkcHJpY2UtaXRlbS1jb2xvcjogIzMzMztcbi8vICRwcmljZS1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbi8vICRwcmljZS1pdGVtLWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRwcmljZS1pdGVtLXdlaWdodDogbm9ybWFsO1xuLy8gJHByaWNlLWl0ZW0tYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAjZGRkO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgQ1RBIGFyZWEgc3R5bGVzXG4vLyAkcHJpY2UtY3RhLWJnOiAjZmZmO1xuLy8gJHByaWNlLWN0YS1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLWN0YS1wYWRkaW5nOiByZW0tY2FsYygyMCAyMCAwKTtcblxuLy8gUHJvZ3Jlc3MgQmFyXG5cbi8vICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIHByb2dyZXNzIGJhciBoZWlnaHRcbi8vICRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSk7XG4vLyAkcHJvZ3Jlc3MtYmFyLWNvbG9yOiAjZjZmNmY2ICA7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogMjAlKTtcbi8vICRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemU6IDFweDtcbi8vICRwcm9ncmVzcy1iYXItYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtYXJnaW4gJiBwYWRkaW5nXG4vLyAkcHJvZ3Jlc3MtYmFyLXBhZDogcmVtLWNhbGMoMik7XG4vLyAkcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbWV0ZXIgY29sb3JzXG4vLyAkcHJvZ3Jlc3MtbWV0ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbi8vICRwcm9ncmVzcy1tZXRlci1zdWNjZXNzLWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbi8vICRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcjogJGFsZXJ0LWNvbG9yO1xuXG4vLyBSZXZlYWxcblxuLy8gJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIHJldmVhbCBvdmVybGF5LlxuLy8gJHJldmVhbC1vdmVybGF5LWJnOiByZ2JhKCMwMDAsIC40NSk7XG4vLyAkcmV2ZWFsLW92ZXJsYXktYmctb2xkOiAjMDAwO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIG1vZGFsIGl0c2VsZi5cbi8vICRyZXZlYWwtbW9kYWwtYmc6ICNmZmY7XG4vLyAkcmV2ZWFsLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoMTAwKTtcbi8vICRyZXZlYWwtZGVmYXVsdC13aWR0aDogODAlO1xuLy8gJHJldmVhbC1tb2RhbC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4vLyAkcmV2ZWFsLWJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwuNCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcmV2ZWFsIGNsb3NlIGJ1dHRvblxuLy8gJHJldmVhbC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbi8vICRyZXZlYWwtY2xvc2UtdG9wOiByZW0tY2FsYyg4KTtcbi8vICRyZXZlYWwtY2xvc2Utc2lkZTogcmVtLWNhbGMoMTEpO1xuLy8gJHJldmVhbC1jbG9zZS1jb2xvcjogI2FhYTtcbi8vICRyZXZlYWwtY2xvc2Utd2VpZ2h0OiBib2xkO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cbi8vICRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRyZXZlYWwtcm91bmQ6ICRnbG9iYWwtcm91bmRlZDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1vZGFsIGJvcmRlclxuLy8gJHJldmVhbC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHJldmVhbC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRyZXZlYWwtYm9yZGVyLWNvbG9yOiAjNjY2O1xuXG4vLyAkcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiO1xuLy8gJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIjtcblxuLy8gU2lkZSBOYXZcblxuLy8gJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHBhZGRpbmcuXG4vLyAkc2lkZS1uYXYtcGFkZGluZzogcmVtLWNhbGMoMTQgMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpc3Qgc3R5bGVzLlxuLy8gJHNpZGUtbmF2LWxpc3QtdHlwZTogbm9uZTtcbi8vICRzaWRlLW5hdi1saXN0LXBvc2l0aW9uOiBpbnNpZGU7XG4vLyAkc2lkZS1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDAgMCA3IDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaW5rIHN0eWxlcy5cbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZTogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkc2lkZS1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkc2lkZS1uYXYtZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICRzaWRlLW5hdi1mb250LXdlaWdodC1hY3RpdmU6ICRzaWRlLW5hdi1mb250LXdlaWdodDtcbi8vICRzaWRlLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyAkc2lkZS1uYXYtYWN0aXZlLWZvbnQtZmFtaWx5OiAkc2lkZS1uYXYtZm9udC1mYW1pbHk7XG5cblxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXG4vLyAkc2lkZS1uYXYtZGl2aWRlci1zaXplOiAxcHg7XG4vLyAkc2lkZS1uYXYtZGl2aWRlci1zdHlsZTogc29saWQ7XG4vLyAkc2lkZS1uYXYtZGl2aWRlci1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogMTAlKTtcblxuLy8gU3BsaXQgQnV0dG9uc1xuXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGRpZmZlcmVudCBzaGFyZWQgc3R5bGVzIGZvciBTcGxpdCBCdXR0b25zXG4vLyAkc3BsaXQtYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogMTAlO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtY29sb3I6ICNmZmY7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICMzMzM7XG4vLyAkc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OiByZ2JhKDAsMCwwLDAuMSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRpbnkgc3BsaXQgYnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogMTA7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55OiAkYnV0dG9uLXBpcC10bnkgKiA2O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueTtcbi8vICRzcGxpdC1idXR0b24tcGlwLXRvcC10bnk6ICRidXR0b24tcGlwLXRueSAqIDI7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTogcmVtLWNhbGMoLTYpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzbWFsbCBzcGxpdCBidXR0b25zXG4vLyAkc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxMDtcbi8vICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDY7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXNtbDogJGJ1dHRvbi1waXAtc21sICogMS41O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1zbWw6IHJlbS1jYWxjKC02KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWVkaXVtIHNwbGl0IGJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDk7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA1LjU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMyk7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAxLjU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LW1lZDogcmVtLWNhbGMoLTYpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsYXJnZSBzcGxpdCBidXR0b25zXG4vLyAkc3BsaXQtYnV0dG9uLXBhZGRpbmctbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA4O1xuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNTtcbi8vICRzcGxpdC1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KTtcbi8vICRzcGxpdC1idXR0b24tcGlwLXRvcC1scmc6ICRidXR0b24tcGlwLWxyZyArIHJlbS1jYWxjKDUpO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc6IHJlbS1jYWxjKC02KTtcblxuLy8gU3ViIE5hdlxuXG4vLyAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1hcmdpbiBhbmQgcGFkZGluZ1xuLy8gJHN1Yi1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKC00IDAgMTgpO1xuLy8gJHN1Yi1uYXYtbGlzdC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoNCk7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRlZmluaXRpb25cbi8vICRzdWItbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRzdWItbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHN1Yi1uYXYtZm9udC1jb2xvcjogIzk5OTtcbi8vICRzdWItbmF2LWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkc3ViLW5hdi10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyAkc3ViLW5hdi1wYWRkaW5nOiByZW0tY2FsYygzIDE2KTtcbi8vICRzdWItbmF2LWJvcmRlci1yYWRpdXM6IDNweDtcbi8vICRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0yNSUpO1xuXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBhY3RpdmUgaXRlbSBzdHlsZXNcbi8vICRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDogbm9ybWFsO1xuLy8gJHN1Yi1uYXYtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtYWN0aXZlLWJnLCAkbGlnaHRuZXNzOiAtMTQlKTtcbi8vICRzdWItbmF2LWFjdGl2ZS1jb2xvcjogI2ZmZjtcbi8vICRzdWItbmF2LWFjdGl2ZS1wYWRkaW5nOiAkc3ViLW5hdi1wYWRkaW5nO1xuLy8gJHN1Yi1uYXYtYWN0aXZlLWN1cnNvcjogZGVmYXVsdDtcblxuLy8gJHN1Yi1uYXYtaXRlbS1kaXZpZGVyOiBcIlwiO1xuLy8gJHN1Yi1uYXYtaXRlbS1kaXZpZGVyLW1hcmdpbjogcmVtLWNhbGMoMTIpO1xuXG4vL1xuLy8gU1dJVENIXG4vL1xuXG4vLyAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBDb250cm9sbGluZyBib3JkZXIgc3R5bGVzIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgdGhlIHN3aXRjaCBjb250YWluZXJcbi8vICRzd2l0Y2gtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtMjAlKTtcbi8vICRzd2l0Y2gtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRzd2l0Y2gtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkc3dpdGNoLWJnOiAjZmZmO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3dpdGNoIGhlaWdodHMgZm9yIG91ciBkZWZhdWx0IGNsYXNzZXNcbi8vICRzd2l0Y2gtaGVpZ2h0LXRueTogMjJweDtcbi8vICRzd2l0Y2gtaGVpZ2h0LXNtbDogMjhweDtcbi8vICRzd2l0Y2gtaGVpZ2h0LW1lZDogMzZweDtcbi8vICRzd2l0Y2gtaGVpZ2h0LWxyZzogNDRweDtcbi8vICRzd2l0Y2gtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBkZWZhdWx0IGZvbnQgc2l6ZXMgZm9yIG91ciBjbGFzc2VzLlxuLy8gJHN3aXRjaC1mb250LXNpemUtdG55OiAxMXB4O1xuLy8gJHN3aXRjaC1mb250LXNpemUtc21sOiAxMnB4O1xuLy8gJHN3aXRjaC1mb250LXNpemUtbWVkOiAxNHB4O1xuLy8gJHN3aXRjaC1mb250LXNpemUtbHJnOiAxN3B4O1xuLy8gJHN3aXRjaC1sYWJlbC1zaWRlLXBhZGRpbmc6IDZweDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBzd2l0Y2gtcGFkZGxlXG4vLyAkc3dpdGNoLXBhZGRsZS1iZzogI2ZmZjtcbi8vICRzd2l0Y2gtcGFkZGxlLWZhZGUtdG8tY29sb3I6IHNjYWxlLWNvbG9yKCRzd2l0Y2gtcGFkZGxlLWJnLCAkbGlnaHRuZXNzOiAtMTAlKTtcbi8vICRzd2l0Y2gtcGFkZGxlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHN3aXRjaC1wYWRkbGUtYmcsICRsaWdodG5lc3M6IC0zNSUpO1xuLy8gJHN3aXRjaC1wYWRkbGUtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkc3dpdGNoLXBhZGRsZS1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZDogLjFzO1xuLy8gJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dDtcbi8vICRzd2l0Y2gtcG9zaXRpdmUtY29sb3I6IHNjYWxlLWNvbG9yKCRzdWNjZXNzLWNvbG9yLCAkbGlnaHRuZXNzOiA5NCUpO1xuLy8gJHN3aXRjaC1uZWdhdGl2ZS1jb2xvcjogI2Y1ZjVmNTtcblxuLy8gT3V0bGluZSBTdHlsZSBmb3IgdGFiYmluZyB0aHJvdWdoIHN3aXRjaGVzXG4vLyAkc3dpdGNoLWxhYmVsLW91dGxpbmU6IDFweCBkb3R0ZWQgIzg4ODtcblxuLy8gVGFibGVzXG5cbi8vICRpbmNsdWRlLWh0bWwtdGFibGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdGFibGUgYW5kIGV2ZW4gcm93c1xuLy8gJHRhYmxlLWJnOiAjZmZmO1xuLy8gJHRhYmxlLWV2ZW4tcm93LWJnOiAjZjlmOWY5ICA7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGNlbGwgYm9yZGVyIHN0eWxlXG4vLyAkdGFibGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICR0YWJsZS1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJHRhYmxlLWJvcmRlci1jb2xvcjogI2RkZDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgaGVhZCBzdHlsZXNcbi8vICR0YWJsZS1oZWFkLWJnOiAjZjVmNWY1ICA7XG4vLyAkdGFibGUtaGVhZC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICMyMjI7XG4vLyAkdGFibGUtaGVhZC1mb250LXdlaWdodDogYm9sZDtcbi8vICR0YWJsZS1oZWFkLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSByb3cgcGFkZGluZyBhbmQgZm9udCBzdHlsZXNcbi8vICR0YWJsZS1yb3ctcGFkZGluZzogcmVtLWNhbGMoOSAxMCk7XG4vLyAkdGFibGUtcm93LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHRhYmxlLXJvdy1mb250LWNvbG9yOiAjMjIyO1xuLy8gJHRhYmxlLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG5cbi8vIFRoZXNlIGFyZSBmb3IgY29udHJvbGxpbmcgdGhlIGRpc3BsYXkgYW5kIG1hcmdpbiBvZiB0YWJsZXNcbi8vICR0YWJsZS1kaXNwbGF5OiB0YWJsZS1jZWxsO1xuLy8gJHRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuLy9cbi8vIFRBQlNcbi8vXG5cbi8vICRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vICR0YWJzLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjogI2VmZWZlZiAgO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6ICNmZmY7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNiUpO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yOiAjMjIyO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbi8vICR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyAkdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcbi8vICR0YWJzLWNvbnRlbnQtcGFkZGluZzogJGNvbHVtbi1ndXR0ZXIvMjtcblxuLy8gJHRhYnMtdmVydGljYWwtbmF2aWdhdGlvbi1tYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXG4vL1xuLy8gVEhVTUJOQUlMU1xuLy9cblxuLy8gJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcbi8vICR0aHVtYi1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHRodW1iLWJvcmRlci13aWR0aDogNHB4O1xuLy8gJHRodW1iLWJvcmRlci1jb2xvcjogI2ZmZjtcbi8vICR0aHVtYi1ib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgjMDAwLC4yKTtcbi8vICR0aHVtYi1ib3gtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNSk7XG5cbi8vIFJhZGl1cyBhbmQgdHJhbnNpdGlvbiBzcGVlZCBmb3IgdGh1bWJzXG4vLyAkdGh1bWItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICR0aHVtYi10cmFuc2l0aW9uLXNwZWVkOiAyMDBtcztcblxuLy9cbi8vIFRPT0xUSVBTXG4vL1xuXG4vLyAkaW5jbHVkZS1odG1sLXRvb2x0aXAtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyAkaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICNjY2M7XG4vLyAkaGFzLXRpcC1mb250LXdlaWdodDogYm9sZDtcbi8vICRoYXMtdGlwLWZvbnQtY29sb3I6ICMzMzM7XG4vLyAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyOiBkb3R0ZWQgMXB4IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNTUlKTtcbi8vICRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGhhcy10aXAtY3Vyc29yLXR5cGU6IGhlbHA7XG5cbi8vICR0b29sdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDEyKTtcbi8vICR0b29sdGlwLWJnOiAjMzMzO1xuLy8gJHRvb2x0aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkdG9vbHRpcC1mb250LXdlaWdodDogbm9ybWFsO1xuLy8gJHRvb2x0aXAtZm9udC1jb2xvcjogI2ZmZjtcbi8vICR0b29sdGlwLWxpbmUtaGVpZ2h0OiAxLjM7XG4vLyAkdG9vbHRpcC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbi8vICR0b29sdGlwLWNsb3NlLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkdG9vbHRpcC1jbG9zZS1mb250LWNvbG9yOiAjNzc3O1xuLy8gJHRvb2x0aXAtZm9udC1zaXplLXNtbDogcmVtLWNhbGMoMTQpO1xuLy8gJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICR0b29sdGlwLXJvdW5kZWQ6ICRnbG9iYWwtcm91bmRlZDtcbi8vICR0b29sdGlwLXBpcC1zaXplOiA1cHg7XG5cbi8vXG4vLyBUT1AgQkFSXG4vL1xuXG4vLyAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhclxuLy8gJHRvcGJhci1iZy1jb2xvcjogIzMzMztcbiR0b3BiYXItYmctY29sb3I6ICNlZWU7XG4vLyAkdG9wYmFyLWJnOiAkdG9wYmFyLWJnLWNvbG9yO1xuXG4vLyBIZWlnaHQgYW5kIG1hcmdpblxuLy8gJHRvcGJhci1oZWlnaHQ6IDQ1cHg7XG4vLyAkdG9wYmFyLW1hcmdpbi1ib3R0b206IDA7XG5cbi8vIENvbnRyb2xsaW5nIHRoZSBzdHlsZXMgZm9yIHRoZSB0aXRsZSBpbiB0aGUgdG9wIGJhclxuLy8gJHRvcGJhci10aXRsZS13ZWlnaHQ6IG5vcm1hbDtcbi8vICR0b3BiYXItdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG5cbi8vIFN0eWxlIHRoZSB0b3AgYmFyIGRyb3Bkb3duIGVsZW1lbnRzXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWJnOiAjMzMzO1xuJHRvcGJhci1kcm9wZG93bi1iZzogI2VlZTtcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjogI2ZmZjtcbiR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjogIzIyMjtcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay1iZzogIzMzMztcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZzogI2VlZTtcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ6IG5vcm1hbDtcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemU6IDVweDtcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yOiAjZmZmO1xuLy8gJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGE6IDAuNDtcblxuLy8gU2V0IHRoZSBsaW5rIGNvbG9ycyBhbmQgc3R5bGVzIGZvciB0b3AtbGV2ZWwgbmF2XG4vLyAkdG9wYmFyLWxpbmstY29sb3I6ICNmZmY7XG4kdG9wYmFyLWxpbmstY29sb3I6ICMyMjI7XG4vLyAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI6ICNmZmY7XG4vLyAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAjZmZmO1xuLy8gJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjogI2ZmZjtcbi8vICR0b3BiYXItbGluay13ZWlnaHQ6IG5vcm1hbDtcbi8vICR0b3BiYXItbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICR0b3BiYXItbGluay1ob3Zlci1saWdodG5lc3M6IC0xMCU7IC8vIERhcmtlbiBieSAxMCVcbi8vICR0b3BiYXItbGluay1iZzogJHRvcGJhci1iZztcbi8vICR0b3BiYXItbGluay1iZy1ob3ZlcjogIzI3MjcyNztcbi8vICR0b3BiYXItbGluay1iZy1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3Zlcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuLy8gJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICR0b3BiYXItbGluay10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbi8vICR0b3BiYXItbGluay1wYWRkaW5nOiAkdG9wYmFyLWhlaWdodCAvIDM7XG5cbi8vICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTogMC43NXJlbTtcbi8vICR0b3BiYXItYnV0dG9uLXRvcDogN3B4O1xuXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yOiAjNzc3O1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDogYm9sZDtcbi8vICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWJnOiAjMzMzO1xuXG4vLyBUb3AgbWVudSBpY29uIHN0eWxlc1xuLy8gJHRvcGJhci1tZW51LWxpbmstdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyAkdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICR0b3BiYXItbWVudS1saW5rLXdlaWdodDogYm9sZDtcbi8vICR0b3BiYXItbWVudS1saW5rLWNvbG9yOiAjZmZmO1xuJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICMyMjI7XG4vLyAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvcjogI2ZmZjtcbiR0b3BiYXItbWVudS1pY29uLWNvbG9yOiAjMjIyO1xuLy8gJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDogIzg4ODtcbi8vICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ6ICM4ODg7XG5cbi8vIFRyYW5zaXRpb25zIGFuZCBicmVha3BvaW50IHN0eWxlc1xuLy8gJHRvcGJhci10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcztcbi8vIFVzaW5nIHJlbS1jYWxjIGZvciB0aGUgYmVsb3cgYnJlYWtwb2ludCBjYXVzZXMgaXNzdWVzIHdpdGggdG9wIGJhclxuLy8gJHRvcGJhci1icmVha3BvaW50OiAje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfTsgLy8gQ2hhbmdlIHRvIDk5OTlweCBmb3IgYWx3YXlzIG1vYmlsZSBsYXlvdXRcbiR0b3BiYXItYnJlYWtwb2ludDogKDk2MHB4KSAhZGVmYXVsdDtcbi8vICR0b3BiYXItbWVkaWEtcXVlcnk6ICRtZWRpdW0tdXA7XG4kdG9wYmFyLW1lZGlhLXF1ZXJ5OiBcIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyR0b3BiYXItYnJlYWtwb2ludH0pXCI7XG5cbi8vIERpdmlkZXIgU3R5bGVzXG4vLyAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMyUpO1xuLy8gJHRvcGJhci1kaXZpZGVyLWJvcmRlci10b3A6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNTAlKTtcblxuLy8gU3RpY2t5IENsYXNzXG4vLyAkdG9wYmFyLXN0aWNreS1jbGFzczogXCIuc3RpY2t5XCI7XG4vLyAkdG9wYmFyLWFycm93czogdHJ1ZTsgLy9TZXQgZmFsc2UgdG8gcmVtb3ZlIHRoZSB0cmlhbmdsZSBpY29uIGZyb20gdGhlIG1lbnUgaXRlbVxuXG4vL1xuLy8gVklTSUJJTElUWSBDTEFTU0VTXG4vL1xuXG4vLyAkaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlO1xuLy8gJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZTtcblxuLy9cbi8vIFJBTkdFIFNMSURFUlxuLy9cblxuLy8gJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBUaGVzZSB2YXJpYWJlbHMgZGVmaW5lIHRoZSBzbGlkZXIgYmFyIHN0eWxlc1xuLy8gJHJhbmdlLXNsaWRlci1iYXItd2lkdGg6IDEwMCU7XG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcblxuLy8gJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLWNvbG9yOiAjZGRkO1xuLy8gJHJhbmdlLXNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHJhbmdlLXNsaWRlci1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xuLy8gJHJhbmdlLXNsaWRlci1iYXItYmctY29sb3I6ICNmYWZhZmE7XG5cbi8vIFZlcnRpY2FsIGJhciBzdHlsZXNcbi8vICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoOiByZW0tY2FsYygxNik7XG4vLyAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG5cbi8vIFRoZXNlIHZhcmlhYmVscyBkZWZpbmUgdGhlIHNsaWRlciBoYW5kbGUgc3R5bGVzXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aDogcmVtLWNhbGMoMzIpO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKC01KTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvcjogbm9uZTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctaG92ZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTIlKTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWN1cnNvcjogcG9pbnRlcjtcbiIsIm1ldGEuZm91bmRhdGlvbi12ZXJzaW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiLzUuNS4zL1wiOyB9XG5cbm1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbCB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbi9cIjtcbiAgd2lkdGg6IDA7IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pL1wiO1xuICB3aWR0aDogMDsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwLjA2MjVlbSkvXCI7XG4gIHdpZHRoOiA0MC4wNjI1ZW07IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bS1vbmx5IHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwLjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6NjRlbSkvXCI7XG4gIHdpZHRoOiA0MC4wNjI1ZW07IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0LjA2MjVlbSkvXCI7XG4gIHdpZHRoOiA2NC4wNjI1ZW07IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDo5MGVtKS9cIjtcbiAgd2lkdGg6IDY0LjA2MjVlbTsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjkwLjA2MjVlbSkvXCI7XG4gIHdpZHRoOiA5MC4wNjI1ZW07IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZS1vbmx5IHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjkwLjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6MTIwZW0pL1wiO1xuICB3aWR0aDogOTAuMDYyNWVtOyB9XG5cbm1ldGEuZm91bmRhdGlvbi1tcS14eGxhcmdlIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMC4wNjI1ZW0pL1wiO1xuICB3aWR0aDogMTIwLjA2MjVlbTsgfVxuXG5tZXRhLmZvdW5kYXRpb24tZGF0YS1hdHRyaWJ1dGUtbmFtZXNwYWNlIHtcbiAgZm9udC1mYW1pbHk6IGZhbHNlOyB9XG5cbmh0bWwsIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzIyMjtcbiAgY3Vyc29yOiBhdXRvO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuYTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5pbWcge1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbiNtYXBfY2FudmFzIGltZyxcbiNtYXBfY2FudmFzIGVtYmVkLFxuI21hcF9jYW52YXMgb2JqZWN0LFxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4ucmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uY2xlYXJmaXg6YmVmb3JlLCAuY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmFudGlhbGlhc2VkIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4OyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5yb3cge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICAucm93OmJlZm9yZSwgLnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnJvdzphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW46IDAgLTAuOTM3NXJlbTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAucm93IC5yb3c6YmVmb3JlLCAucm93IC5yb3c6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5yb3cgLnJvdzphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLnJvdyAucm93LmNvbGxhcHNlOmJlZm9yZSwgLnJvdyAucm93LmNvbGxhcHNlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAucm93IC5yb3cuY29sbGFwc2U6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuXG4uY29sdW1uLFxuLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbHVtbiArIC5jb2x1bW46bGFzdC1jaGlsZCxcbi5jb2x1bW5zICsgLmNvbHVtbjpsYXN0LWNoaWxkLCAuY29sdW1uICtcbi5jb2x1bW5zOmxhc3QtY2hpbGQsXG4uY29sdW1ucyArXG4uY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jb2x1bW4gKyAuY29sdW1uLmVuZCxcbi5jb2x1bW5zICsgLmNvbHVtbi5lbmQsIC5jb2x1bW4gK1xuLmNvbHVtbnMuZW5kLFxuLmNvbHVtbnMgK1xuLmNvbHVtbnMuZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNtYWxsLXB1c2gtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnNtYWxsLXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuY29sdW1uLnNtYWxsLWNlbnRlcmVkLFxuICAuY29sdW1ucy5zbWFsbC1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb2x1bW4uc21hbGwtdW5jZW50ZXJlZCxcbiAgLmNvbHVtbnMuc21hbGwtdW5jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jb2x1bW4uc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmNvbHVtbi5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbHVtbi5zbWFsbC11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy5zbWFsbC11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnJvdy5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdy5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbixcbiAgLnJvdy5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5tZWRpdW0tcHVzaC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4LjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogODMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcmVzZXQtb3JkZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5jb2x1bW4ubWVkaXVtLWNlbnRlcmVkLFxuICAuY29sdW1ucy5tZWRpdW0tY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuY29sdW1uLm1lZGl1bS11bmNlbnRlcmVkLFxuICAuY29sdW1ucy5tZWRpdW0tdW5jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jb2x1bW4ubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuY29sdW1uLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb2x1bW4ubWVkaXVtLXVuY2VudGVyZWQub3Bwb3NpdGUsXG4gIC5jb2x1bW5zLm1lZGl1bS11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnJvdy5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLFxuICAucm93Lm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAucm93Lm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdy5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMzMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMzMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1yZXNldC1vcmRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmNvbHVtbi5sYXJnZS1jZW50ZXJlZCxcbiAgLmNvbHVtbnMubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuY29sdW1uLmxhcmdlLXVuY2VudGVyZWQsXG4gIC5jb2x1bW5zLmxhcmdlLXVuY2VudGVyZWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY29sdW1uLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb2x1bW4ubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb2x1bW4ubGFyZ2UtdW5jZW50ZXJlZC5vcHBvc2l0ZSxcbiAgLmNvbHVtbnMubGFyZ2UtdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5yb3cubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLFxuICAucm93LmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5yb3cubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5yb3cubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnB1c2gtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5hY2NvcmRpb246YmVmb3JlLCAuYWNjb3JkaW9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYWNjb3JkaW9uOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbiwgLmFjY29yZGlvbiBkZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLW5hdmlnYXRpb24uYWN0aXZlID4gYSwgLmFjY29yZGlvbiBkZC5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgICBjb2xvcjogIzIyMjIyMjsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1uYXZpZ2F0aW9uID4gYSwgLmFjY29yZGlvbiBkZCA+IGEge1xuICAgICAgYmFja2dyb3VuZDogI0VGRUZFRjtcbiAgICAgIGNvbG9yOiAjMjIyMjIyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbiA+IGE6aG92ZXIsIC5hY2NvcmRpb24gZGQgPiBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2UzZTNlMzsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1uYXZpZ2F0aW9uID4gLmNvbnRlbnQsIC5hY2NvcmRpb24gZGQgPiAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbiA+IC5jb250ZW50LmFjdGl2ZSwgLmFjY29yZGlvbiBkZCA+IC5jb250ZW50LmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hbGVydC1ib3gge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAwLjg3NXJlbSAxLjVyZW0gMC44NzVyZW0gMC44NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLW91dDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjAwMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA1MzAwO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYWxlcnQtYm94IC5jbG9zZSB7XG4gICAgcmlnaHQ6IDAuMjVyZW07XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICBtYXJnaW4tdG9wOiAtMC42ODc1cmVtO1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBwYWRkaW5nOiAwIDZweCA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlOyB9XG4gICAgLmFsZXJ0LWJveCAuY2xvc2U6aG92ZXIsIC5hbGVydC1ib3ggLmNsb3NlOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAuYWxlcnQtYm94LnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIC5hbGVydC1ib3gucm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfVxuICAuYWxlcnQtYm94LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzJmMmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjYTIyODI4O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5hbGVydC1ib3guYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDQxMjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGUyZDBmO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5hbGVydC1ib3guc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmNiMDJjO1xuICAgIGJvcmRlci1jb2xvcjogIzI2OTcyNjtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYWxlcnQtYm94Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGU3NzBmO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5hbGVydC1ib3guaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgICBib3JkZXItY29sb3I6ICM3NGJmZGQ7XG4gICAgY29sb3I6ICMwZjNjMGY7IH1cbiAgLmFsZXJ0LWJveC5hbGVydC1jbG9zZSB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG5bY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIC0wLjYyNXJlbTsgfVxuICBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl06YmVmb3JlLCBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIFtjbGFzcyo9XCJibG9jay1ncmlkLVwiXTphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDEuMjVyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNtYWxsLWJsb2NrLWdyaWQtMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0yID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0yID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTQgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC01ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtNiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTcgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC04ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTggPiBsaTpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC05ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDExLjExMTExJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoOW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMTAgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMTAgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDEwbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0xMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA5LjA5MDkxJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTExID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0xMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMTJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLm1lZGl1bS1ibG9jay1ncmlkLTEgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0xID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0yID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTMgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTMgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC00ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC00ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtNSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTYgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTYgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC03ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC03ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtOCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC04ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTggPiBsaTpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtOSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMS4xMTExMSU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtOSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoOW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTEwID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDEwbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMTEgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOS4wOTA5MSU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTEyID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMTJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLWJsb2NrLWdyaWQtMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0yID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0yID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTQgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC01ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtNiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTcgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC04ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTggPiBsaTpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC05ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDExLjExMTExJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoOW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMTAgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMTAgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDEwbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0xMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA5LjA5MDkxJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTExID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMTJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMC41NjI1cmVtIDAuODc1cmVtIDAuNTYyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3ZTU5NztcbiAgYm9yZGVyLWNvbG9yOiAjNzhkZDc4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmJyZWFkY3J1bWJzID4gKiB7XG4gICAgY29sb3I6ICMwMDYwMDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuNjg3NXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyA+ICo6aG92ZXIgYSwgLmJyZWFkY3J1bWJzID4gKjpmb2N1cyBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmJyZWFkY3J1bWJzID4gKiBhIHtcbiAgICAgIGNvbG9yOiAjMDA2MDAwOyB9XG4gICAgLmJyZWFkY3J1bWJzID4gKi5jdXJyZW50IHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAuYnJlYWRjcnVtYnMgPiAqLmN1cnJlbnQgYSB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIC5icmVhZGNydW1icyA+ICouY3VycmVudDpob3ZlciwgLmJyZWFkY3J1bWJzID4gKi5jdXJyZW50OmhvdmVyIGEsIC5icmVhZGNydW1icyA+ICouY3VycmVudDpmb2N1cywgLmJyZWFkY3J1bWJzID4gKi5jdXJyZW50OmZvY3VzIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiAqLnVuYXZhaWxhYmxlIHtcbiAgICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gICAgICAuYnJlYWRjcnVtYnMgPiAqLnVuYXZhaWxhYmxlIGEge1xuICAgICAgICBjb2xvcjogIzk5OTk5OTsgfVxuICAgICAgLmJyZWFkY3J1bWJzID4gKi51bmF2YWlsYWJsZTpob3ZlcixcbiAgICAgIC5icmVhZGNydW1icyA+ICoudW5hdmFpbGFibGU6aG92ZXIgYSwgLmJyZWFkY3J1bWJzID4gKi51bmF2YWlsYWJsZTpmb2N1cyxcbiAgICAgIC5icmVhZGNydW1icyA+ICoudW5hdmFpbGFibGUgYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiAqOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0FBQUFBQTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDsgfVxuICAgIC5icmVhZGNydW1icyA+ICo6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbi8qIEFjY2Vzc2liaWxpdHkgLSBoaWRlcyB0aGUgZm9yd2FyZCBzbGFzaCAqL1xuW2FyaWEtbGFiZWw9XCJicmVhZGNydW1ic1wiXSBbYXJpYS1oaWRkZW49XCJ0cnVlXCJdOmFmdGVyIHtcbiAgY29udGVudDogXCIvXCI7IH1cblxuYnV0dG9uLCAuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMXJlbSAycmVtIDEuMDYyNXJlbSAycmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDYwMDA7XG4gIGJvcmRlci1jb2xvcjogIzAwNGQwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXMgZWFzZS1vdXQ7IH1cbiAgYnV0dG9uOmhvdmVyLCBidXR0b246Zm9jdXMsIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDRkMDA7IH1cbiAgYnV0dG9uOmhvdmVyLCBidXR0b246Zm9jdXMsIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmNiMDJjO1xuICAgIGJvcmRlci1jb2xvcjogIzIzOGQyMztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIGJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjM4ZDIzOyB9XG4gICAgYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzJmMmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTYyNjI2O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTYyNjI2OyB9XG4gICAgYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBidXR0b24uYWxlcnQsIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDQxMjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2YyYTBlO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgYnV0dG9uLmFsZXJ0OmhvdmVyLCBidXR0b24uYWxlcnQ6Zm9jdXMsIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NmMmEwZTsgfVxuICAgIGJ1dHRvbi5hbGVydDpob3ZlciwgYnV0dG9uLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2Y2ZTBlO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgYnV0dG9uLndhcm5pbmc6aG92ZXIsIGJ1dHRvbi53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Y2ZTBlOyB9XG4gICAgYnV0dG9uLndhcm5pbmc6aG92ZXIsIGJ1dHRvbi53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBidXR0b24uaW5mbywgLmJ1dHRvbi5pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkM2U4O1xuICAgIGJvcmRlci1jb2xvcjogIzYxYjZkOTtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIGJ1dHRvbi5pbmZvOmhvdmVyLCBidXR0b24uaW5mbzpmb2N1cywgLmJ1dHRvbi5pbmZvOmhvdmVyLCAuYnV0dG9uLmluZm86Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYxYjZkOTsgfVxuICAgIGJ1dHRvbi5pbmZvOmhvdmVyLCBidXR0b24uaW5mbzpmb2N1cywgLmJ1dHRvbi5pbmZvOmhvdmVyLCAuYnV0dG9uLmluZm86Zm9jdXMge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgYnV0dG9uLmxhcmdlLCAuYnV0dG9uLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxLjEyNXJlbSAyLjI1cmVtIDEuMTg3NXJlbSAyLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBidXR0b24uc21hbGwsIC5idXR0b24uc21hbGwge1xuICAgIHBhZGRpbmc6IDAuODc1cmVtIDEuNzVyZW0gMC45Mzc1cmVtIDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgYnV0dG9uLnRpbnksIC5idXR0b24udGlueSB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbSAwLjY4NzVyZW0gMS4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICBidXR0b24uZXhwYW5kLCAuYnV0dG9uLmV4cGFuZCB7XG4gICAgcGFkZGluZzogMXJlbSAycmVtIDEuMDYyNXJlbSAycmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4wNjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIGJ1dHRvbi5sZWZ0LWFsaWduLCAuYnV0dG9uLmxlZnQtYWxpZ24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1pbmRlbnQ6IDAuNzVyZW07IH1cbiAgYnV0dG9uLnJpZ2h0LWFsaWduLCAuYnV0dG9uLnJpZ2h0LWFsaWduIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtOyB9XG4gIGJ1dHRvbi5yYWRpdXMsIC5idXR0b24ucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgYnV0dG9uLnJvdW5kLCAuYnV0dG9uLnJvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgYnV0dG9uLmRpc2FibGVkLCBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjAwMDtcbiAgICBib3JkZXItY29sb3I6ICMwMDRkMDA7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gICAgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0ZDAwOyB9XG4gICAgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjAwMDsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyY2IwMmM7XG4gICAgICBib3JkZXItY29sb3I6ICMyMzhkMjM7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzhkMjM7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmNiMDJjOyB9XG4gICAgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzJmMmY7XG4gICAgICBib3JkZXItY29sb3I6ICM5NjI2MjY7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk2MjYyNjsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMyZjJmOyB9XG4gICAgYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA0MTI0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2YyYTBlO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NmMmEwZTsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwNDEyNDsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA4YTI0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2Y2ZTBlO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZjZlMGU7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCBidXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCBidXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZC5pbmZvLCBidXR0b25bZGlzYWJsZWRdLmluZm8sIC5idXR0b24uZGlzYWJsZWQuaW5mbywgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkM2U4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNjFiNmQ5O1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MWI2ZDk7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5pbmZvOmhvdmVyLCBidXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5pbmZvOmhvdmVyLCBidXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBsZWZ0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXA6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYnV0dG9uLWdyb3VwOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwLmV2ZW4tMiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tMiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTIgbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tMiBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi0yIGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tMiBsaSBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi0yIGxpIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ldmVuLTMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLTJweDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTMgbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi0zIGxpIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTMgbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tMyBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTMgbGkgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tMyBsaSAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idXR0b24tZ3JvdXAuZXZlbi00IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi00IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNCBsaSAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi00IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTQgbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi00IGxpIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTQgbGkgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLWdyb3VwLmV2ZW4tNSBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNSBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTUgbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNSBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi01IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNSBsaSBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi01IGxpIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ldmVuLTYgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLTJweDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTYgbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi02IGxpIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTYgbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNiBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTYgbGkgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNiBsaSAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idXR0b24tZ3JvdXAuZXZlbi03IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi03IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNyBsaSAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi03IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTcgbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi03IGxpIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTcgbGkgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLWdyb3VwLmV2ZW4tOCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi04IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tOCBsaSAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi04IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTggbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi04IGxpIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTggbGkgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLWdyb3VwID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLTJweDsgfVxuICAgIC5idXR0b24tZ3JvdXAgPiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cCA+IGxpIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cCA+IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cCA+IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2sgPiBsaSAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2sgPiBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2sgPiBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGkgPiBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLTJweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSAuYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGkgLmJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpID4gYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwOyB9IH1cbiAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKiAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKiA+IGEsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKiA+IC5idXR0b24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCxcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6bGFzdC1jaGlsZCxcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6bGFzdC1jaGlsZCA+IGEsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqOmxhc3QtY2hpbGQgPiBidXR0b24sXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4OyB9XG4gIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICogLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqID4gYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKixcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICogPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiA+IGJ1dHRvbixcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICogPiAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gYSxcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgLXdlYmtpdC10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmxhc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmxhc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgLXdlYmtpdC1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgLTJweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKixcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCxcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYSxcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICoge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IC5idXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgICAtd2Via2l0LXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgICAtd2Via2l0LXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgIC13ZWJraXQtYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7IH0gfVxuICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQgPiAqIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICosXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICogPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqID4gLmJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6bGFzdC1jaGlsZCxcbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpsYXN0LWNoaWxkID4gYSxcbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9XG4gIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogLmJ1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICosXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqID4gLmJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LXRvcC1sZWZ0LXJhZGl1czogMXJlbTtcbiAgICAgIC13ZWJraXQtdG9wLXJpZ2h0LXJhZGl1czogMXJlbTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDFyZW07XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmxhc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6bGFzdC1jaGlsZCA+IGEsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWJvdHRvbS1sZWZ0LXJhZGl1czogMXJlbTtcbiAgICAgIC13ZWJraXQtYm90dG9tLXJpZ2h0LXJhZGl1czogMXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDFyZW07XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgLTJweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICosXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqIC5idXR0b24ge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYSxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiA+IC5idXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtdG9wLWxlZnQtcmFkaXVzOiAxcmVtO1xuICAgICAgICAtd2Via2l0LXRvcC1yaWdodC1yYWRpdXM6IDFyZW07XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDFyZW07XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxcmVtOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYSxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1ib3R0b20tbGVmdC1yYWRpdXM6IDFyZW07XG4gICAgICAgIC13ZWJraXQtYm90dG9tLXJpZ2h0LXJhZGl1czogMXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDFyZW07IH0gfVxuXG4uYnV0dG9uLWJhcjpiZWZvcmUsIC5idXR0b24tYmFyOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5idXR0b24tYmFyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmJ1dHRvbi1iYXIgLmJ1dHRvbi1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIC5idXR0b24tYmFyIC5idXR0b24tZ3JvdXAgZGl2IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIENsZWFyaW5nIFN0eWxlcyAqL1xuLmNsZWFyaW5nLXRodW1icywgW2RhdGEtY2xlYXJpbmddIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNsZWFyaW5nLXRodW1iczpiZWZvcmUsIC5jbGVhcmluZy10aHVtYnM6YWZ0ZXIsIFtkYXRhLWNsZWFyaW5nXTpiZWZvcmUsIFtkYXRhLWNsZWFyaW5nXTphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNsZWFyaW5nLXRodW1iczphZnRlciwgW2RhdGEtY2xlYXJpbmddOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY2xlYXJpbmctdGh1bWJzIGxpLCBbZGF0YS1jbGVhcmluZ10gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuY2xlYXJpbmctdGh1bWJzW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIGxpLCBbZGF0YS1jbGVhcmluZ11bY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uY2xlYXJpbmctYmxhY2tvdXQge1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk4O1xuICBsZWZ0OiAwOyB9XG4gIC5jbGVhcmluZy1ibGFja291dCAuY2xlYXJpbmctY2xvc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jbGVhcmluZy1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTg7IH1cblxuLmNsZWFyaW5nLXRvdWNoLWxhYmVsIHtcbiAgY29sb3I6ICNBQUFBQUE7XG4gIGZvbnQtc2l6ZTogLjZlbTtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlOyB9XG5cbi52aXNpYmxlLWltZyB7XG4gIGhlaWdodDogOTUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnZpc2libGUtaW1nIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jbGVhcmluZy1jYXB0aW9uIHtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgYm90dG9tOiAwO1xuICBjb2xvcjogI0NDQ0NDQztcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxMHB4IDMwcHggMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwOyB9XG5cbi5jbGVhcmluZy1jbG9zZSB7XG4gIGNvbG9yOiAjQ0NDQ0NDO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLmNsZWFyaW5nLWNsb3NlOmhvdmVyLCAuY2xlYXJpbmctY2xvc2U6Zm9jdXMge1xuICAgIGNvbG9yOiAjQ0NDQ0NDOyB9XG5cbi5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsID4gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNsZWFyaW5nLWZlYXR1cmUgbGkge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jbGVhcmluZy1mZWF0dXJlIGxpLmNsZWFyaW5nLWZlYXR1cmVkLWltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmNsZWFyaW5nLW1haW4tcHJldixcbiAgLmNsZWFyaW5nLW1haW4tbmV4dCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDQwcHg7IH1cbiAgICAuY2xlYXJpbmctbWFpbi1wcmV2ID4gc3BhbixcbiAgICAuY2xlYXJpbmctbWFpbi1uZXh0ID4gc3BhbiB7XG4gICAgICBib3JkZXI6IHNvbGlkIDEycHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC5jbGVhcmluZy1tYWluLXByZXYgPiBzcGFuOmhvdmVyLFxuICAgICAgLmNsZWFyaW5nLW1haW4tbmV4dCA+IHNwYW46aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAuODsgfVxuICAuY2xlYXJpbmctbWFpbi1wcmV2IHtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLmNsZWFyaW5nLW1haW4tcHJldiA+IHNwYW4ge1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI0NDQ0NDQzsgfVxuICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcbiAgICByaWdodDogMDsgfVxuICAgIC5jbGVhcmluZy1tYWluLW5leHQgPiBzcGFuIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI0NDQ0NDQzsgfVxuICAuY2xlYXJpbmctbWFpbi1wcmV2LmRpc2FibGVkLFxuICAuY2xlYXJpbmctbWFpbi1uZXh0LmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAuMzsgfVxuICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDUxLCA1MSwgNTEsIDAuOCk7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAuY2Fyb3VzZWwgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB6LWluZGV4OiA5OTk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIGxpIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMjBweDsgfVxuICAgICAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsID4gdWwgbGkuZml4LWhlaWdodCBpbWcge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIGxpIGEudGgge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAuY2Fyb3VzZWwgPiB1bCBsaSBpbWcge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIGxpLnZpc2libGUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIGxpOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAuODsgfVxuICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLnZpc2libGUtaW1nIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgIGhlaWdodDogODUlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNsZWFyaW5nLWNsb3NlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMjBweDsgfSB9XG5cbi8qIEZvdW5kYXRpb24gRHJvcGRvd25zICovXG4uZi1kcm9wZG93biB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDg5O1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIG1heC13aWR0aDogMjAwcHg7IH1cbiAgLmYtZHJvcGRvd24ub3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmYtZHJvcGRvd24gPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5mLWRyb3Bkb3duID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mLWRyb3Bkb3duOmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjRkZGRkZGIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMnB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgei1pbmRleDogODk7IH1cbiAgLmYtZHJvcGRvd246YWZ0ZXIge1xuICAgIGJvcmRlcjogaW5zZXQgN3B4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2NjY2NjYyB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTRweDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgei1pbmRleDogODg7IH1cbiAgLmYtZHJvcGRvd24ucmlnaHQ6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMHB4OyB9XG4gIC5mLWRyb3Bkb3duLnJpZ2h0OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiA5cHg7IH1cbiAgLmYtZHJvcGRvd24uZHJvcC1yaWdodCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICBtYXgtd2lkdGg6IDIwMHB4OyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1yaWdodC5vcGVuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1yaWdodCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtcmlnaHQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogLTEycHg7XG4gICAgICB6LWluZGV4OiA4OTsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtcmlnaHQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiBpbnNldCA3cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2NjY2NjYyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDlweDtcbiAgICAgIGxlZnQ6IC0xNHB4O1xuICAgICAgei1pbmRleDogODg7IH1cbiAgLmYtZHJvcGRvd24uZHJvcC1sZWZ0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogODk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBtYXgtd2lkdGg6IDIwMHB4OyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1sZWZ0Lm9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLWxlZnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLWxlZnQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtbGVmdDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0ZGRkZGRjtcbiAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtbGVmdDphZnRlciB7XG4gICAgICBib3JkZXI6IGluc2V0IDdweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjY2NjY2NjO1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA5cHg7XG4gICAgICByaWdodDogLTE0cHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgei1pbmRleDogODg7IH1cbiAgLmYtZHJvcGRvd24uZHJvcC10b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXRvcC5vcGVuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC10b3AgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXRvcCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC10b3A6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvdHRvbTogLTEycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtdG9wOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogaW5zZXQgN3B4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2NjY2MgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvdHRvbTogLTE0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiA5cHg7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4OyB9XG4gIC5mLWRyb3Bkb3duIGxpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmYtZHJvcGRvd24gbGk6aG92ZXIsIC5mLWRyb3Bkb3duIGxpOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNFRUVFRUU7IH1cbiAgICAuZi1kcm9wZG93biBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgY29sb3I6ICM1NTU1NTU7IH1cbiAgLmYtZHJvcGRvd24uY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogODk7XG4gICAgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAgIC5mLWRyb3Bkb3duLmNvbnRlbnQub3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mLWRyb3Bkb3duLmNvbnRlbnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuZi1kcm9wZG93bi5jb250ZW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmYtZHJvcGRvd24ucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmYtZHJvcGRvd24udGlueSB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAuZi1kcm9wZG93bi5zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAuZi1kcm9wZG93bi5tZWRpdW0ge1xuICAgIG1heC13aWR0aDogNTAwcHg7IH1cbiAgLmYtZHJvcGRvd24ubGFyZ2Uge1xuICAgIG1heC13aWR0aDogODAwcHg7IH1cbiAgLmYtZHJvcGRvd24ubWVnYSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIC5mLWRyb3Bkb3duLm1lZ2Eub3BlbiB7XG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLmRyb3Bkb3duLmJ1dHRvbiwgYnV0dG9uLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAzLjU2MjVyZW07IH1cbiAgLmRyb3Bkb3duLmJ1dHRvbjo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMDsgfVxuICAuZHJvcGRvd24uYnV0dG9uOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjM3NXJlbTtcbiAgICByaWdodDogMS40MDYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC4xNTYyNXJlbTsgfVxuICAuZHJvcGRvd24uYnV0dG9uOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5idXR0b24udGlueSwgYnV0dG9uLmRyb3Bkb3duLnRpbnkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNjI1cmVtOyB9XG4gICAgLmRyb3Bkb3duLmJ1dHRvbi50aW55OmFmdGVyLCBidXR0b24uZHJvcGRvd24udGlueTphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IDAuMzc1cmVtO1xuICAgICAgcmlnaHQ6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuMTI1cmVtOyB9XG4gICAgLmRyb3Bkb3duLmJ1dHRvbi50aW55OjphZnRlciwgYnV0dG9uLmRyb3Bkb3duLnRpbnk6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24uYnV0dG9uLnNtYWxsLCBidXR0b24uZHJvcGRvd24uc21hbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuMDYyNXJlbTsgfVxuICAgIC5kcm9wZG93bi5idXR0b24uc21hbGw6OmFmdGVyLCBidXR0b24uZHJvcGRvd24uc21hbGw6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogMC40Mzc1cmVtO1xuICAgICAgcmlnaHQ6IDEuMzEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjE1NjI1cmVtOyB9XG4gICAgLmRyb3Bkb3duLmJ1dHRvbi5zbWFsbDo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bi5zbWFsbDo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5idXR0b24ubGFyZ2UsIGJ1dHRvbi5kcm9wZG93bi5sYXJnZSB7XG4gICAgcGFkZGluZy1yaWdodDogMy42MjVyZW07IH1cbiAgICAuZHJvcGRvd24uYnV0dG9uLmxhcmdlOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duLmxhcmdlOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IDAuMzEyNXJlbTtcbiAgICAgIHJpZ2h0OiAxLjcxODc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuMTU2MjVyZW07IH1cbiAgICAuZHJvcGRvd24uYnV0dG9uLmxhcmdlOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duLmxhcmdlOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLmJ1dHRvbi5zZWNvbmRhcnk6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bi5zZWNvbmRhcnk6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZmxleC12aWRlbyB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDY3LjUlO1xuICBwYWRkaW5nLXRvcDogMS41NjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjM0JTsgfVxuICAuZmxleC12aWRlby52aW1lbyB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDsgfVxuXG4vKiBTdGFuZGFyZCBGb3JtcyAqL1xuZm9ybSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuLyogVXNpbmcgZm9ybXMgd2l0aGluIHJvd3MsIHdlIG5lZWQgdG8gc2V0IHNvbWUgZGVmYXVsdHMgKi9cbmZvcm0gLnJvdyAucm93IHtcbiAgbWFyZ2luOiAwIC0wLjVyZW07IH1cbiAgZm9ybSAucm93IC5yb3cgLmNvbHVtbixcbiAgZm9ybSAucm93IC5yb3cgLmNvbHVtbnMge1xuICAgIHBhZGRpbmc6IDAgMC41cmVtOyB9XG4gIGZvcm0gLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBmb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSAuY29sdW1uLFxuICAgIGZvcm0gLnJvdyAucm93LmNvbGxhcHNlIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICBmb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSBpbnB1dCB7XG4gICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuZm9ybSAucm93IGlucHV0LmNvbHVtbixcbmZvcm0gLnJvdyBpbnB1dC5jb2x1bW5zLFxuZm9ybSAucm93IHRleHRhcmVhLmNvbHVtbixcbmZvcm0gLnJvdyB0ZXh0YXJlYS5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cblxuLyogTGFiZWwgU3R5bGVzICovXG5sYWJlbCB7XG4gIGNvbG9yOiAjNGQ0ZDRkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICAvKiBTdHlsZXMgZm9yIHJlcXVpcmVkIGlucHV0cyAqLyB9XG4gIGxhYmVsLnJpZ2h0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIGxhYmVsLmlubGluZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG4gIGxhYmVsIHNtYWxsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBjb2xvcjogIzY3Njc2NzsgfVxuXG4vKiBBdHRhY2ggZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgYW4gaW5wdXQgKi9cbi5wcmVmaXgsXG4ucG9zdGZpeCB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiAyLjMxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjMxMjVyZW07XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjsgfVxuXG4vKiBBZGp1c3QgcGFkZGluZywgYWxpZ25tZW50IGFuZCByYWRpdXMgaWYgcHJlL3Bvc3QgZWxlbWVudCBpcyBhIGJ1dHRvbiAqL1xuLnBvc3RmaXguYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wcmVmaXguYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wcmVmaXguYnV0dG9uLnJhZGl1cyB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7IH1cblxuLnBvc3RmaXguYnV0dG9uLnJhZGl1cyB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4OyB9XG5cbi5wcmVmaXguYnV0dG9uLnJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDsgfVxuXG4ucG9zdGZpeC5idXR0b24ucm91bmQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDsgfVxuXG4vKiBTZXBhcmF0ZSBwcmVmaXggYW5kIHBvc3RmaXggc3R5bGVzIHdoZW4gb24gc3BhbiBvciBsYWJlbCBzbyBidXR0b25zIGtlZXAgdGhlaXIgb3duICovXG5zcGFuLnByZWZpeCwgbGFiZWwucHJlZml4IHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBjb2xvcjogIzMzMzMzMztcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjOyB9XG5cbnNwYW4ucG9zdGZpeCwgbGFiZWwucG9zdGZpeCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBjb2xvcjogIzMzMzMzMztcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjOyB9XG5cbi8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXG5pbnB1dDpub3QoW3R5cGVdKSwgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSwgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCBpbnB1dFt0eXBlPVwibW9udGhcIl0sIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwiY29sb3JcIl0sIHRleHRhcmVhIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGhlaWdodDogMi4zMTI1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICAtbXMtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjsgfVxuICBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cywgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cywgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsIHRleHRhcmVhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgIGJvcmRlci1jb2xvcjogIzk5OTk5OTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwidGV4dFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJtb250aFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cIndlZWtcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInRlbFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInRpbWVcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ1cmxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJjb2xvclwiXTpkaXNhYmxlZCwgdGV4dGFyZWE6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIGlucHV0Om5vdChbdHlwZV0pW2Rpc2FibGVkXSwgaW5wdXQ6bm90KFt0eXBlXSlbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXQ6bm90KFt0eXBlXSksIGlucHV0W3R5cGU9XCJ0ZXh0XCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInRleHRcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIGlucHV0W3R5cGU9XCJkYXRlXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cImRhdGVcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sIGlucHV0W3R5cGU9XCJtb250aFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJtb250aFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwibW9udGhcIl0sIGlucHV0W3R5cGU9XCJ3ZWVrXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cIndlZWtcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cIndlZWtcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwidGVsXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInRpbWVcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInRpbWVcIl0sIGlucHV0W3R5cGU9XCJ1cmxcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwidXJsXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ1cmxcIl0sIGlucHV0W3R5cGU9XCJjb2xvclwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJjb2xvclwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwiY29sb3JcIl0sIHRleHRhcmVhW2Rpc2FibGVkXSwgdGV4dGFyZWFbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gdGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIGlucHV0Om5vdChbdHlwZV0pLnJhZGl1cywgaW5wdXRbdHlwZT1cInRleHRcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJtb250aFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cImVtYWlsXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cIm51bWJlclwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwidGVsXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInRpbWVcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwidXJsXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cImNvbG9yXCJdLnJhZGl1cywgdGV4dGFyZWEucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSBpbnB1dCxcbmZvcm0gLnJvdyAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2UgdGV4dGFyZWEsXG5mb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHNlbGVjdCxcbmZvcm0gLnJvdyAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2UgYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7IH1cblxuZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSAucHJlZml4IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDsgfVxuXG5mb3JtIC5yb3cgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSBpbnB1dCxcbmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHRleHRhcmVhLFxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2Ugc2VsZWN0LFxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2UgYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDsgfVxuXG5mb3JtIC5yb3cgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSAucG9zdGZpeCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4OyB9XG5cbmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSBpbnB1dCxcbmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSxcbmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSBzZWxlY3QsXG5mb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2UgYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7IH1cblxuZm9ybSAucm93IC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIC5wcmVmaXgge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4OyB9XG5cbmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIHRleHRhcmVhLFxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSBzZWxlY3QsXG5mb3JtIC5yb3cgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7IH1cblxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSAucG9zdGZpeCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9XG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4vKiBSZXNwZWN0IGVuZm9yY2VkIGFtb3VudCBvZiByb3dzIGZvciB0ZXh0YXJlYSAqL1xudGV4dGFyZWFbcm93c10ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyogTm90IGFsbG93IHJlc2l6ZSBvdXQgb2YgcGFyZW50ICovXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzY2NjY2NjsgfVxuXG46LW1vei1wbGFjZWhvbGRlciB7XG4gIC8qIEZpcmVmb3ggMTgtICovXG4gIGNvbG9yOiAjNjY2NjY2OyB9XG5cbjo6LW1vei1wbGFjZWhvbGRlciB7XG4gIC8qIEZpcmVmb3ggMTkrICovXG4gIGNvbG9yOiAjNjY2NjY2OyB9XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzY2NjY2NjsgfVxuXG4vKiBBZGQgaGVpZ2h0IHZhbHVlIGZvciBzZWxlY3QgZWxlbWVudHMgdG8gbWF0Y2ggdGV4dCBpbnB1dCBoZWlnaHQgKi9cbnNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRDBpTVRKd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU1qUndlQ0lnYUdWcFoyaDBQU0l6Y0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EySURNaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lEWWdNeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK1BIQnZiSGxuYjI0Z2NHOXBiblJ6UFNJMUxqazVNaXd3SURJdU9Ua3lMRE1nTFRBdU1EQTRMREFnSWk4K1BDOXpkbWMrXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi4zMTI1cmVtOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3QucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICAgIGJvcmRlci1jb2xvcjogIzk5OTk5OTsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4vKiBBZGp1c3QgbWFyZ2luIGZvciBmb3JtIGVsZW1lbnRzIGJlbG93ICovXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbnNlbGVjdCB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKiBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aCAqL1xuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBIVE1MNSBOdW1iZXIgc3Bpbm5lcnMgc2V0dGluZ3MgKi9cbi8qIFdlIGFkZCBiYXNpYyBmaWVsZHNldCBzdHlsaW5nICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREREREQ7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICBmaWVsZHNldCBsZWdlbmQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG4vKiBFcnJvciBIYW5kbGluZyAqL1xuW2RhdGEtYWJpZGVdIC5lcnJvciBzbWFsbC5lcnJvciwgW2RhdGEtYWJpZGVdIC5lcnJvciBzcGFuLmVycm9yLCBbZGF0YS1hYmlkZV0gc3Bhbi5lcnJvciwgW2RhdGEtYWJpZGVdIHNtYWxsLmVycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjU2MjVyZW0gMC41NjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZjA0MTI0O1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG5bZGF0YS1hYmlkZV0gc3Bhbi5lcnJvciwgW2RhdGEtYWJpZGVdIHNtYWxsLmVycm9yIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5zcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC41NjI1cmVtIDAuNTYyNXJlbTtcbiAgYmFja2dyb3VuZDogI2YwNDEyNDtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuLmVycm9yIGlucHV0LFxuLmVycm9yIHRleHRhcmVhLFxuLmVycm9yIHNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmVycm9yIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5lcnJvciBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5lcnJvciBsYWJlbCxcbi5lcnJvciBsYWJlbC5lcnJvciB7XG4gIGNvbG9yOiAjZjA0MTI0OyB9XG5cbi5lcnJvciBzbWFsbC5lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC41NjI1cmVtIDAuNTYyNXJlbTtcbiAgYmFja2dyb3VuZDogI2YwNDEyNDtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuLmVycm9yID4gbGFiZWwgPiBzbWFsbCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzY3Njc2NztcbiAgZGlzcGxheTogaW5saW5lO1xuICBmb250LXNpemU6IDYwJTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5lcnJvciBzcGFuLmVycm9yLW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5pbnB1dC5lcnJvcixcbnRleHRhcmVhLmVycm9yLFxuc2VsZWN0LmVycm9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5sYWJlbC5lcnJvciB7XG4gIGNvbG9yOiAjZjA0MTI0OyB9XG5cbi5pY29uLWJhciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzMzMzMzMzsgfVxuICAuaWNvbi1iYXIgPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5pY29uLWJhciA+ICogaSwgLmljb24tYmFyID4gKiBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgLmljb24tYmFyID4gKiBpICsgbGFiZWwsIC5pY29uLWJhciA+ICogaW1nICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAuMDYyNXJlbTsgfVxuICAgIC5pY29uLWJhciA+ICogaSB7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5pY29uLWJhciA+ICogaW1nIHtcbiAgICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgICB3aWR0aDogMS44NzVyZW07IH1cbiAgLmljb24tYmFyLmxhYmVsLXJpZ2h0ID4gKiBpLCAuaWNvbi1iYXIubGFiZWwtcmlnaHQgPiAqIGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAuMDYyNXJlbSAwIDA7IH1cbiAgICAuaWNvbi1iYXIubGFiZWwtcmlnaHQgPiAqIGkgKyBsYWJlbCwgLmljb24tYmFyLmxhYmVsLXJpZ2h0ID4gKiBpbWcgKyBsYWJlbCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5pY29uLWJhci5sYWJlbC1yaWdodCA+ICogbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuaWNvbi1iYXIudmVydGljYWwubGFiZWwtcmlnaHQgPiAqIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5pY29uLWJhci52ZXJ0aWNhbCwgLmljb24tYmFyLnNtYWxsLXZlcnRpY2FsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAuaWNvbi1iYXIudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmljb24tYmFyLm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLmljb24tYmFyLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIubGFyZ2UtdmVydGljYWwge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5pY29uLWJhci5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmljb24tYmFyID4gKiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAuaWNvbi1iYXIgPiAqIGkgKyBsYWJlbCwgLmljb24tYmFyID4gKiBpbWcgKyBsYWJlbCB7XG4gICAgICBtYXJnaW4tdG9wOiAuMDYyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5pY29uLWJhciA+ICogaSB7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gICAgLmljb24tYmFyID4gKiBpbWcge1xuICAgICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIHdpZHRoOiAxLjg3NXJlbTsgfVxuICAuaWNvbi1iYXIgPiAqIGxhYmVsIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuaWNvbi1iYXIgPiAqIGkge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5pY29uLWJhciA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDYwMDA7IH1cbiAgICAuaWNvbi1iYXIgPiBhOmhvdmVyIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmljb24tYmFyID4gYTpob3ZlciBpIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5pY29uLWJhciA+IGEuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA2MDAwOyB9XG4gICAgLmljb24tYmFyID4gYS5hY3RpdmUgbGFiZWwge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuaWNvbi1iYXIgPiBhLmFjdGl2ZSBpIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5pY29uLWJhciAuaXRlbS5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuaWNvbi1iYXIgLml0ZW0uZGlzYWJsZWQgPiAqIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmljb24tYmFyLnR3by11cCAuaXRlbSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuaWNvbi1iYXIudHdvLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIudHdvLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5pY29uLWJhci50d28tdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIudHdvLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmljb24tYmFyLnRocmVlLXVwIC5pdGVtIHtcbiAgICB3aWR0aDogMzMuMzMzMyU7IH1cbiAgLmljb24tYmFyLnRocmVlLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIudGhyZWUtdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmljb24tYmFyLnRocmVlLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmljb24tYmFyLnRocmVlLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmljb24tYmFyLmZvdXItdXAgLml0ZW0ge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmljb24tYmFyLmZvdXItdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5mb3VyLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5pY29uLWJhci5mb3VyLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmljb24tYmFyLmZvdXItdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuaWNvbi1iYXIuZml2ZS11cCAuaXRlbSB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAuaWNvbi1iYXIuZml2ZS11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLmZpdmUtdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmljb24tYmFyLmZpdmUtdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIuZml2ZS11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5pY29uLWJhci5zaXgtdXAgLml0ZW0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmljb24tYmFyLnNpeC11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnNpeC11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIuc2l4LXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmljb24tYmFyLnNpeC11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5pY29uLWJhci5zZXZlbi11cCAuaXRlbSB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAuaWNvbi1iYXIuc2V2ZW4tdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5zZXZlbi11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIuc2V2ZW4tdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIuc2V2ZW4tdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuaWNvbi1iYXIuZWlnaHQtdXAgLml0ZW0ge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAuaWNvbi1iYXIuZWlnaHQtdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5laWdodC11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIuZWlnaHQtdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIuZWlnaHQtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uaWNvbi1iYXIudHdvLXVwIC5pdGVtIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uaWNvbi1iYXIudHdvLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIudHdvLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLnR3by11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLnR3by11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uaWNvbi1iYXIudGhyZWUtdXAgLml0ZW0ge1xuICB3aWR0aDogMzMuMzMzMyU7IH1cblxuLmljb24tYmFyLnRocmVlLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIudGhyZWUtdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAuaWNvbi1iYXIudGhyZWUtdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5pY29uLWJhci50aHJlZS11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uaWNvbi1iYXIuZm91ci11cCAuaXRlbSB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmljb24tYmFyLmZvdXItdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5mb3VyLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLmZvdXItdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5pY29uLWJhci5mb3VyLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5pY29uLWJhci5maXZlLXVwIC5pdGVtIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4uaWNvbi1iYXIuZml2ZS11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLmZpdmUtdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAuaWNvbi1iYXIuZml2ZS11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLmZpdmUtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmljb24tYmFyLnNpeC11cCAuaXRlbSB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmljb24tYmFyLnNpeC11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnNpeC11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5pY29uLWJhci5zaXgtdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5pY29uLWJhci5zaXgtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmljb24tYmFyLnNldmVuLXVwIC5pdGVtIHtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uaWNvbi1iYXIuc2V2ZW4tdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5zZXZlbi11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5pY29uLWJhci5zZXZlbi11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLnNldmVuLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5pY29uLWJhci5laWdodC11cCAuaXRlbSB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG4uaWNvbi1iYXIuZWlnaHQtdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5laWdodC11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5pY29uLWJhci5laWdodC11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLmVpZ2h0LXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5pbmxpbmUtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMDYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5pbmxpbmUtbGlzdCA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjM3NXJlbTsgfVxuICAgIC5pbmxpbmUtbGlzdCA+IGxpID4gKiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBGb3VuZGF0aW9uIEpveXJpZGUgKi9cbi5qb3lyaWRlLWxpc3Qge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIERlZmF1bHQgc3R5bGVzIGZvciB0aGUgY29udGFpbmVyICovXG4uam95cmlkZS10aXAtZ3VpZGUge1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogOTUlO1xuICB6LWluZGV4OiAxMDM7XG4gIGxlZnQ6IDIuNSU7IH1cblxuLmx0LWllOSAuam95cmlkZS10aXAtZ3VpZGUge1xuICBtYXJnaW4tbGVmdDogLTQwMHB4O1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBsZWZ0OiA1MCU7IH1cblxuLmpveXJpZGUtY29udGVudC13cmFwcGVyIHtcbiAgcGFkZGluZzogMS4xMjVyZW0gMS4yNXJlbSAxLjVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5qb3lyaWRlLWNvbnRlbnQtd3JhcHBlciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmpveXJpZGUtY29udGVudC13cmFwcGVyIC5qb3lyaWRlLXByZXYtdGlwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLyogQWRkIGEgbGl0dGxlIGNzcyB0cmlhbmdsZSBwaXAsIG9sZGVyIGJyb3dzZXIganVzdCBtaXNzIG91dCBvbiB0aGUgZmFuY2luZXNzIG9mIGl0ICovXG4uam95cmlkZS10aXAtZ3VpZGUgLmpveXJpZGUtbnViIHtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkICMzMzMzMzM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IDIycHg7IH1cbiAgLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51Yi50b3Age1xuICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMztcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0b3A6IC0yMHB4OyB9XG4gIC5qb3lyaWRlLXRpcC1ndWlkZSAuam95cmlkZS1udWIuYm90dG9tIHtcbiAgICBib3JkZXItY29sb3I6ICMzMzMzMzMgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3R0b206IC0yMHB4OyB9XG4gIC5qb3lyaWRlLXRpcC1ndWlkZSAuam95cmlkZS1udWIucmlnaHQge1xuICAgIHJpZ2h0OiAtMjBweDsgfVxuICAuam95cmlkZS10aXAtZ3VpZGUgLmpveXJpZGUtbnViLmxlZnQge1xuICAgIGxlZnQ6IC0yMHB4OyB9XG5cbi8qIFR5cG9ncmFwaHkgKi9cbi5qb3lyaWRlLXRpcC1ndWlkZSBoMSxcbi5qb3lyaWRlLXRpcC1ndWlkZSBoMixcbi5qb3lyaWRlLXRpcC1ndWlkZSBoMyxcbi5qb3lyaWRlLXRpcC1ndWlkZSBoNCxcbi5qb3lyaWRlLXRpcC1ndWlkZSBoNSxcbi5qb3lyaWRlLXRpcC1ndWlkZSBoNiB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbjogMDsgfVxuXG4uam95cmlkZS10aXAtZ3VpZGUgcCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbjogMCAwIDEuMTI1cmVtIDA7IH1cblxuLmpveXJpZGUtdGltZXItaW5kaWNhdG9yLXdyYXAge1xuICBib3JkZXI6IHNvbGlkIDFweCAjNTU1NTU1O1xuICBib3R0b206IDFyZW07XG4gIGhlaWdodDogM3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA1MHB4O1xuICByaWdodDogMS4wNjI1cmVtOyB9XG5cbi5qb3lyaWRlLXRpbWVyLWluZGljYXRvciB7XG4gIGJhY2tncm91bmQ6ICM2NjY2NjY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIHdpZHRoOiAwOyB9XG5cbi5qb3lyaWRlLWNsb3NlLXRpcCB7XG4gIGNvbG9yOiAjNzc3Nzc3ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IC41ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMnB4OyB9XG4gIC5qb3lyaWRlLWNsb3NlLXRpcDpob3ZlciwgLmpveXJpZGUtY2xvc2UtdGlwOmZvY3VzIHtcbiAgICBjb2xvcjogI0VFRUVFRSAhaW1wb3J0YW50OyB9XG5cbi5qb3lyaWRlLW1vZGFsLWJnIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGxlZnQ6IDA7IH1cblxuLmpveXJpZGUtZXhwb3NlLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxNXB4ICNGRkZGRkY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAyOyB9XG5cbi5qb3lyaWRlLWV4cG9zZS1jb3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTk5OyB9XG5cbi8qIFN0eWxlcyBmb3Igc2NyZWVucyB0aGF0IGFyZSBhdCBsZWFzdCA3NjhweDsgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiB7XG4gIC5qb3lyaWRlLXRpcC1ndWlkZSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGxlZnQ6IGluaGVyaXQ7IH1cbiAgICAuam95cmlkZS10aXAtZ3VpZGUgLmpveXJpZGUtbnViLmJvdHRvbSB7XG4gICAgICBib3JkZXItY29sb3I6ICMzMzMzMzMgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJvdHRvbTogLTIwcHg7IH1cbiAgICAuam95cmlkZS10aXAtZ3VpZGUgLmpveXJpZGUtbnViLnJpZ2h0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgdG9wOiAyMnB4OyB9XG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51Yi5sZWZ0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB0b3A6IDIycHg7IH0gfVxuXG4ua2V5c3Ryb2tlLFxua2JkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgYm9yZGVyLWNvbG9yOiAjZGRkZGRkO1xuICBjb2xvcjogIzIyMjIyMjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkNvbnNvbGFzXCIsIFwiTWVubG9cIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW0gMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDYwMDA7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5yYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAubGFiZWwucm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDQxMjQ7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzJmMmY7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjYjAyYztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwuaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuXG5bZGF0YS1tYWdlbGxhbi1leHBlZGl0aW9uXSwgW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbi1jbG9uZV0ge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHotaW5kZXg6IDUwOyB9XG4gIFtkYXRhLW1hZ2VsbGFuLWV4cGVkaXRpb25dIC5zdWItbmF2LCBbZGF0YS1tYWdlbGxhbi1leHBlZGl0aW9uLWNsb25lXSAuc3ViLW5hdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIFtkYXRhLW1hZ2VsbGFuLWV4cGVkaXRpb25dIC5zdWItbmF2IGRkLCBbZGF0YS1tYWdlbGxhbi1leHBlZGl0aW9uLWNsb25lXSAuc3ViLW5hdiBkZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbl0gLnN1Yi1uYXYgYSwgW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbi1jbG9uZV0gLnN1Yi1uYXYgYSB7XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4vKiBPcmJpdCBHcmFjZWZ1bCBMb2FkaW5nICovXG4uc2xpZGVzaG93LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNsaWRlc2hvdy13cmFwcGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnNsaWRlc2hvdy13cmFwcGVyIHVsIGxpLFxuICAgIC5zbGlkZXNob3ctd3JhcHBlciB1bCBsaSAub3JiaXQtY2FwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNsaWRlc2hvdy13cmFwcGVyIHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGlkZXNob3ctd3JhcHBlciAub3JiaXQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zbGlkZXNob3ctd3JhcHBlciAub3JiaXQtY29udGFpbmVyIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuc2xpZGVzaG93LXdyYXBwZXIgLm9yYml0LWNvbnRhaW5lciBsaSAub3JiaXQtY2FwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnNsaWRlc2hvdy13cmFwcGVyIC5vcmJpdC1jb250YWluZXIgLm9yYml0LWJ1bGxldHMgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zbGlkZXNob3ctd3JhcHBlciAucHJlbG9hZGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGU7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGJvcmRlci1jb2xvcjogIzU1NTU1NSAjRkZGRkZGO1xuICAgIGJvcmRlcjogc29saWQgM3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNDBweDsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlcy1jb250YWluZXIgPiAqIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlcy1jb250YWluZXIgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlcy1jb250YWluZXIgPiAqIC5vcmJpdC1jYXB0aW9uIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC44KTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuODc1cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZS1udW1iZXIge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZS1udW1iZXIgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXRpbWVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMnB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXRpbWVyIC5vcmJpdC1wcm9ncmVzcyB7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRvcDogNXB4OyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtdGltZXIgPiBzcGFuIHtcbiAgICAgIGJvcmRlcjogc29saWQgNHB4ICNGRkZGRkY7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTFweDtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtdGltZXIucGF1c2VkID4gc3BhbiB7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTFweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIGJvcmRlcjogaW5zZXQgOHB4O1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjRkZGRkZGO1xuICAgICAgcmlnaHQ6IC00cHg7IH1cbiAgICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXRpbWVyLnBhdXNlZCA+IHNwYW4uZGFyayB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMzMzMzMzOyB9XG4gIC5vcmJpdC1jb250YWluZXI6aG92ZXIgLm9yYml0LXRpbWVyID4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtcHJldixcbiAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtbmV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHggIWltcG9ydGFudDtcbiAgICB0b3A6IDQ1JTtcbiAgICB3aWR0aDogMzZweDtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXByZXY6aG92ZXIsXG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtbmV4dDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1wcmV2ID4gc3BhbixcbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1uZXh0ID4gc3BhbiB7XG4gICAgICBib3JkZXI6IGluc2V0IDEwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMDsgfVxuICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1wcmV2IHtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtcHJldiA+IHNwYW4ge1xuICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNGRkZGRkY7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1wcmV2OmhvdmVyID4gc3BhbiB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNGRkZGRkY7IH1cbiAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtbmV4dCB7XG4gICAgcmlnaHQ6IDA7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1uZXh0ID4gc3BhbiB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNGRkZGRkY7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTRweDsgfVxuICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LW5leHQ6aG92ZXIgPiBzcGFuIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjRkZGRkZGOyB9XG5cbi5vcmJpdC1idWxsZXRzLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG8gMzBweCBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAxMHB4OyB9XG4gIC5vcmJpdC1idWxsZXRzIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiAjQ0NDQ0NDO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgaGVpZ2h0OiAwLjU2MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDAuNTYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBsaS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzk5OTk5OTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi50b3VjaCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1wcmV2LFxuLnRvdWNoIC5vcmJpdC1jb250YWluZXIgLm9yYml0LW5leHQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50b3VjaCAub3JiaXQtYnVsbGV0cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLnRvdWNoIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXByZXYsXG4gIC50b3VjaCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1uZXh0IHtcbiAgICBkaXNwbGF5OiBpbmhlcml0OyB9XG4gIC50b3VjaCAub3JiaXQtYnVsbGV0cyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLm9yYml0LXN0YWNrLW9uLXNtYWxsIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAub3JiaXQtc3RhY2stb24tc21hbGwgLm9yYml0LXNsaWRlcy1jb250YWluZXIgPiAqIHtcbiAgICBtYXJnaW46IDAgICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAub3JiaXQtc3RhY2stb24tc21hbGwgLm9yYml0LXNsaWRlLW51bWJlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub3JiaXQtdGltZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9yYml0LW5leHQsIC5vcmJpdC1wcmV2IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxudWwucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTtcbiAgbWluLWhlaWdodDogMS41cmVtOyB9XG4gIHVsLnBhZ2luYXRpb24gbGkge1xuICAgIGNvbG9yOiAjMjIyMjIyO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgYSwgdWwucGFnaW5hdGlvbiBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlLW91dDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC42MjVyZW0gMC4wNjI1cmVtOyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaTpob3ZlciBhLFxuICAgIHVsLnBhZ2luYXRpb24gbGkgYTpmb2N1cyxcbiAgICB1bC5wYWdpbmF0aW9uIGxpOmhvdmVyIGJ1dHRvbixcbiAgICB1bC5wYWdpbmF0aW9uIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaS51bmF2YWlsYWJsZSBhLCB1bC5wYWdpbmF0aW9uIGxpLnVuYXZhaWxhYmxlIGJ1dHRvbiB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaS51bmF2YWlsYWJsZTpob3ZlciBhLFxuICAgIHVsLnBhZ2luYXRpb24gbGkudW5hdmFpbGFibGUgYTpmb2N1cyxcbiAgICB1bC5wYWdpbmF0aW9uIGxpLnVuYXZhaWxhYmxlOmhvdmVyIGJ1dHRvbixcbiAgICB1bC5wYWdpbmF0aW9uIGxpLnVuYXZhaWxhYmxlIGJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkuY3VycmVudCBhLCB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDYwMDA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYTpob3ZlciwgdWwucGFnaW5hdGlvbiBsaS5jdXJyZW50IGE6Zm9jdXMsIHVsLnBhZ2luYXRpb24gbGkuY3VycmVudCBidXR0b246aG92ZXIsIHVsLnBhZ2luYXRpb24gbGkuY3VycmVudCBidXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2MDAwOyB9XG4gIHVsLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIFBhZ2luYXRpb24gY2VudHJlZCB3cmFwcGVyICovXG4ucGFnaW5hdGlvbi1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFnaW5hdGlvbi1jZW50ZXJlZCB1bC5wYWdpbmF0aW9uIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7IH1cblxuLyogUGFuZWxzICovXG4ucGFuZWwge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjZTNlM2UzO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzMzMzMzMzsgfVxuICAucGFuZWwgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnBhbmVsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhbmVsIGgxLCAucGFuZWwgaDIsIC5wYW5lbCBoMywgLnBhbmVsIGg0LCAucGFuZWwgaDUsIC5wYW5lbCBoNiwgLnBhbmVsIHAsIC5wYW5lbCBsaSwgLnBhbmVsIGRsIHtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAucGFuZWwgaDEsIC5wYW5lbCBoMiwgLnBhbmVsIGgzLCAucGFuZWwgaDQsIC5wYW5lbCBoNSwgLnBhbmVsIGg2IHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5wYW5lbCBoMS5zdWJoZWFkZXIsIC5wYW5lbCBoMi5zdWJoZWFkZXIsIC5wYW5lbCBoMy5zdWJoZWFkZXIsIC5wYW5lbCBoNC5zdWJoZWFkZXIsIC5wYW5lbCBoNS5zdWJoZWFkZXIsIC5wYW5lbCBoNi5zdWJoZWFkZXIge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAucGFuZWwuY2FsbG91dCB7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItY29sb3I6ICNlM2UzZTM7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNlNmZmZTY7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAucGFuZWwuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnBhbmVsLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnBhbmVsLmNhbGxvdXQgaDEsIC5wYW5lbC5jYWxsb3V0IGgyLCAucGFuZWwuY2FsbG91dCBoMywgLnBhbmVsLmNhbGxvdXQgaDQsIC5wYW5lbC5jYWxsb3V0IGg1LCAucGFuZWwuY2FsbG91dCBoNiwgLnBhbmVsLmNhbGxvdXQgcCwgLnBhbmVsLmNhbGxvdXQgbGksIC5wYW5lbC5jYWxsb3V0IGRsIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLnBhbmVsLmNhbGxvdXQgaDEsIC5wYW5lbC5jYWxsb3V0IGgyLCAucGFuZWwuY2FsbG91dCBoMywgLnBhbmVsLmNhbGxvdXQgaDQsIC5wYW5lbC5jYWxsb3V0IGg1LCAucGFuZWwuY2FsbG91dCBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAucGFuZWwuY2FsbG91dCBoMS5zdWJoZWFkZXIsIC5wYW5lbC5jYWxsb3V0IGgyLnN1YmhlYWRlciwgLnBhbmVsLmNhbGxvdXQgaDMuc3ViaGVhZGVyLCAucGFuZWwuY2FsbG91dCBoNC5zdWJoZWFkZXIsIC5wYW5lbC5jYWxsb3V0IGg1LnN1YmhlYWRlciwgLnBhbmVsLmNhbGxvdXQgaDYuc3ViaGVhZGVyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgIC5wYW5lbC5jYWxsb3V0IGE6bm90KC5idXR0b24pIHtcbiAgICAgIGNvbG9yOiAjMDA2MDAwOyB9XG4gICAgICAucGFuZWwuY2FsbG91dCBhOm5vdCguYnV0dG9uKTpob3ZlciwgLnBhbmVsLmNhbGxvdXQgYTpub3QoLmJ1dHRvbik6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzAwNTMwMDsgfVxuICAucGFuZWwucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLyogUHJpY2luZyBUYWJsZXMgKi9cbi5wcmljaW5nLXRhYmxlIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI0RERERERDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLnByaWNpbmctdGFibGUgKiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAucHJpY2luZy10YWJsZSAudGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG4gICAgY29sb3I6ICNFRUVFRUU7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucHJpY2luZy10YWJsZSAucHJpY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucHJpY2luZy10YWJsZSAuZGVzY3JpcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjREREREREO1xuICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucHJpY2luZy10YWJsZSAuYnVsbGV0LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjREREREREO1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wcmljaW5nLXRhYmxlIC5jdGEtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBQcm9ncmVzcyBCYXIgKi9cbi5wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gIHBhZGRpbmc6IDAuMTI1cmVtOyB9XG4gIC5wcm9ncmVzcyAubWV0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDYwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAwJTsgfVxuICAgIC5wcm9ncmVzcyAubWV0ZXIuc2Vjb25kYXJ5IHtcbiAgICAgIGJhY2tncm91bmQ6ICMyY2IwMmM7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDAlOyB9XG4gICAgLnByb2dyZXNzIC5tZXRlci5zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNiYzJmMmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDAlOyB9XG4gICAgLnByb2dyZXNzIC5tZXRlci5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjA0MTI0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAwJTsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5tZXRlciB7XG4gICAgYmFja2dyb3VuZDogIzJjYjAyYztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDAlOyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5tZXRlciB7XG4gICAgYmFja2dyb3VuZDogI2JjMmYyZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDAlOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAubWV0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMDQxMjQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAwJTsgfVxuICAucHJvZ3Jlc3MucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAucHJvZ3Jlc3MucmFkaXVzIC5tZXRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLnByb2dyZXNzLnJvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAucHJvZ3Jlc3Mucm91bmQgLm1ldGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OyB9XG5cbi5yYW5nZS1zbGlkZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREREREO1xuICBtYXJnaW46IDEuMjVyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkFGQUZBOyB9XG4gIC5yYW5nZS1zbGlkZXIudmVydGljYWwtcmFuZ2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEREREREQ7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEyLjVyZW07XG4gICAgd2lkdGg6IDFyZW07IH1cbiAgICAucmFuZ2Utc2xpZGVyLnZlcnRpY2FsLXJhbmdlIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgIGJvdHRvbTogLTEwLjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucmFuZ2Utc2xpZGVyLnZlcnRpY2FsLXJhbmdlIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5pdGlhbDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAwLjg3NXJlbTsgfVxuICAucmFuZ2Utc2xpZGVyLnJhZGl1cyB7XG4gICAgYmFja2dyb3VuZDogI0ZBRkFGQTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAucmFuZ2Utc2xpZGVyLnJhZGl1cyAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA2MDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgICAucmFuZ2Utc2xpZGVyLnJhZGl1cyAucmFuZ2Utc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDU0MDA7IH1cbiAgLnJhbmdlLXNsaWRlci5yb3VuZCB7XG4gICAgYmFja2dyb3VuZDogI0ZBRkFGQTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAucmFuZ2Utc2xpZGVyLnJvdW5kIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDYwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAgIC5yYW5nZS1zbGlkZXIucm91bmQgLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA1NDAwOyB9XG4gIC5yYW5nZS1zbGlkZXIuZGlzYWJsZWQsIC5yYW5nZS1zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gICAgLnJhbmdlLXNsaWRlci5kaXNhYmxlZCAucmFuZ2Utc2xpZGVyLWhhbmRsZSwgLnJhbmdlLXNsaWRlcltkaXNhYmxlZF0gLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICAgICAgYmFja2dyb3VuZDogIzAwNjAwMDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgLnJhbmdlLXNsaWRlci5kaXNhYmxlZCAucmFuZ2Utc2xpZGVyLWhhbmRsZTpob3ZlciwgLnJhbmdlLXNsaWRlcltkaXNhYmxlZF0gLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA1NDAwOyB9XG5cbi5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjMmNhZTJjO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMC44NzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4ucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEuMzc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTAuMzEyNXJlbTtcbiAgd2lkdGg6IDJyZW07XG4gIHotaW5kZXg6IDE7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJhY2tncm91bmQ6ICMwMDYwMDA7IH1cbiAgLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDU0MDA7IH1cblxuLnJldmVhbC1tb2RhbC1iZyB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDA0O1xuICBsZWZ0OiAwOyB9XG5cbi5yZXZlYWwtbW9kYWwge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA1O1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzY2NjY2NjtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwtbW9kYWwge1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7IH0gfVxuICAucmV2ZWFsLW1vZGFsIC5jb2x1bW4sIC5yZXZlYWwtbW9kYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsLW1vZGFsID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5yZXZlYWwtbW9kYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5yZXZlYWwtbW9kYWwge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogODAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAucmV2ZWFsLW1vZGFsIHtcbiAgICAgIHRvcDogNi4yNXJlbTsgfSB9XG4gIC5yZXZlYWwtbW9kYWwucmFkaXVzIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAucmV2ZWFsLW1vZGFsLnJvdW5kIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfVxuICAucmV2ZWFsLW1vZGFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAucmV2ZWFsLW1vZGFsLnRpbnkge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMzAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAucmV2ZWFsLW1vZGFsLnNtYWxsIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogNjIuNXJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLnJldmVhbC1tb2RhbC5tZWRpdW0ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogNjAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAucmV2ZWFsLW1vZGFsLmxhcmdlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogNjIuNXJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDcwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLnJldmVhbC1tb2RhbC54bGFyZ2Uge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogOTUlOyB9IH1cbiAgLnJldmVhbC1tb2RhbC5mdWxsIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5yZXZlYWwtbW9kYWwuZnVsbCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDYyLjVyZW07XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5yZXZlYWwtbW9kYWwudG9iYWNrIHtcbiAgICB6LWluZGV4OiAxMDAzOyB9XG4gIC5yZXZlYWwtbW9kYWwgLmNsb3NlLXJldmVhbC1tb2RhbCB7XG4gICAgY29sb3I6ICNBQUFBQUE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNjI1cmVtO1xuICAgIHJpZ2h0OiAxLjM3NXJlbTsgfVxuXG4uc2lkZS1uYXYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC44NzVyZW0gMDsgfVxuICAuc2lkZS1uYXYgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDAgMCAwLjQzNzVyZW0gMDsgfVxuICAgIC5zaWRlLW5hdiBsaSBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogIzAwNjAwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMC40Mzc1cmVtIDAuODc1cmVtOyB9XG4gICAgICAuc2lkZS1uYXYgbGkgYTpub3QoLmJ1dHRvbik6aG92ZXIsIC5zaWRlLW5hdiBsaSBhOm5vdCguYnV0dG9uKTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMjUpO1xuICAgICAgICBjb2xvcjogIzAwZGMwMDsgfVxuICAgICAgLnNpZGUtbmF2IGxpIGE6bm90KC5idXR0b24pOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMDBkYzAwOyB9XG4gICAgLnNpZGUtbmF2IGxpLmFjdGl2ZSA+IGE6Zmlyc3QtY2hpbGQ6bm90KC5idXR0b24pIHtcbiAgICAgIGNvbG9yOiAjMDBkYzAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5zaWRlLW5hdiBsaS5kaXZpZGVyIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2U2ZTZlNjsgfVxuICAgIC5zaWRlLW5hdiBsaS5oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiAjMDA2MDAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uc3BsaXQuYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiA1LjA2MjVyZW07IH1cbiAgLnNwbGl0LmJ1dHRvbiBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4OyB9XG4gICAgLnNwbGl0LmJ1dHRvbiBzcGFuOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXN0eWxlOiBpbnNldDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlOyB9XG4gICAgLnNwbGl0LmJ1dHRvbiBzcGFuOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLnNwbGl0LmJ1dHRvbiBzcGFuIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC5zcGxpdC5idXR0b24gc3BhbiB7XG4gICAgd2lkdGg6IDMuMDkzNzVyZW07IH1cbiAgICAuc3BsaXQuYnV0dG9uIHNwYW46YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAuMzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjM3NXJlbTtcbiAgICAgIHRvcDogNDglOyB9XG4gIC5zcGxpdC5idXR0b24gc3BhbjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5zcGxpdC5idXR0b24uc2Vjb25kYXJ5IHNwYW4ge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnNwbGl0LmJ1dHRvbi5zZWNvbmRhcnkgc3BhbjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5zcGxpdC5idXR0b24uYWxlcnQgc3BhbiB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAuc3BsaXQuYnV0dG9uLnN1Y2Nlc3Mgc3BhbiB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAuc3BsaXQuYnV0dG9uLnRpbnkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuNzVyZW07IH1cbiAgICAuc3BsaXQuYnV0dG9uLnRpbnkgc3BhbiB7XG4gICAgICB3aWR0aDogMi4yNXJlbTsgfVxuICAgICAgLnNwbGl0LmJ1dHRvbi50aW55IHNwYW46YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjM3NXJlbTtcbiAgICAgICAgdG9wOiA0OCU7IH1cbiAgLnNwbGl0LmJ1dHRvbi5zbWFsbCB7XG4gICAgcGFkZGluZy1yaWdodDogNC4zNzVyZW07IH1cbiAgICAuc3BsaXQuYnV0dG9uLnNtYWxsIHNwYW4ge1xuICAgICAgd2lkdGg6IDIuNjI1cmVtOyB9XG4gICAgICAuc3BsaXQuYnV0dG9uLnNtYWxsIHNwYW46YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjQzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC4zNzVyZW07XG4gICAgICAgIHRvcDogNDglOyB9XG4gIC5zcGxpdC5idXR0b24ubGFyZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDUuNXJlbTsgfVxuICAgIC5zcGxpdC5idXR0b24ubGFyZ2Ugc3BhbiB7XG4gICAgICB3aWR0aDogMy40Mzc1cmVtOyB9XG4gICAgICAuc3BsaXQuYnV0dG9uLmxhcmdlIHNwYW46YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjMxMjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC4zNzVyZW07XG4gICAgICAgIHRvcDogNDglOyB9XG4gIC5zcGxpdC5idXR0b24uZXhwYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07IH1cbiAgLnNwbGl0LmJ1dHRvbi5zZWNvbmRhcnkgc3BhbjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5zcGxpdC5idXR0b24ucmFkaXVzIHNwYW4ge1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4OyB9XG4gIC5zcGxpdC5idXR0b24ucm91bmQgc3BhbiB7XG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7IH1cbiAgLnNwbGl0LmJ1dHRvbi5uby1waXAgc3BhbjpiZWZvcmUge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuICAuc3BsaXQuYnV0dG9uLm5vLXBpcCBzcGFuOmFmdGVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7IH1cbiAgLnNwbGl0LmJ1dHRvbi5uby1waXAgc3BhbiA+IGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjg4ODllbTtcbiAgICBtYXJnaW4tdG9wOiAtMC40ODg4OWVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTsgfVxuXG4uc3ViLW5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IC0wLjI1cmVtIDAgMS4xMjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICB3aWR0aDogYXV0bzsgfVxuICAuc3ViLW5hdiBkdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuc3ViLW5hdiBkdCxcbiAgLnN1Yi1uYXYgZGQsXG4gIC5zdWItbmF2IGxpIHtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc3ViLW5hdiBkdCBhLFxuICAgIC5zdWItbmF2IGRkIGEsXG4gICAgLnN1Yi1uYXYgbGkgYSB7XG4gICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAxcmVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuc3ViLW5hdiBkdCBhOmhvdmVyLFxuICAgICAgLnN1Yi1uYXYgZGQgYTpob3ZlcixcbiAgICAgIC5zdWItbmF2IGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzczNzM3MzsgfVxuICAgIC5zdWItbmF2IGR0LmFjdGl2ZSBhLFxuICAgIC5zdWItbmF2IGRkLmFjdGl2ZSBhLFxuICAgIC5zdWItbmF2IGxpLmFjdGl2ZSBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDYwMDA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMXJlbTsgfVxuICAgICAgLnN1Yi1uYXYgZHQuYWN0aXZlIGE6aG92ZXIsXG4gICAgICAuc3ViLW5hdiBkZC5hY3RpdmUgYTpob3ZlcixcbiAgICAgIC5zdWItbmF2IGxpLmFjdGl2ZSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwNTMwMDsgfVxuXG4uc3dpdGNoIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuc3dpdGNoIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjREREREREO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4xNXMgZWFzZS1vdXQ7IH1cbiAgLnN3aXRjaCBpbnB1dCB7XG4gICAgbGVmdDogMTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOXB4OyB9XG4gICAgLnN3aXRjaCBpbnB1dCArIGxhYmVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5zd2l0Y2ggbGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBsZWZ0OiAuMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogbGVmdCAwLjE1cyBlYXNlLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2Utb3V0O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIC5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA2MDAwOyB9XG4gIC5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIC5zd2l0Y2ggbGFiZWwge1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB3aWR0aDogNHJlbTsgfVxuICAuc3dpdGNoIGxhYmVsOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB3aWR0aDogMS41cmVtOyB9XG4gIC5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIC5zd2l0Y2ggbGFiZWwge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiAjREREREREOyB9XG4gIC5zd2l0Y2ggbGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgLnN3aXRjaCBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICMwMDYwMDA7IH1cbiAgLnN3aXRjaC5sYXJnZSBsYWJlbCB7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgd2lkdGg6IDVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBsYWJlbDphZnRlciB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHdpZHRoOiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAyLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgbGFiZWwge1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICB3aWR0aDogMy41cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgbGFiZWw6YWZ0ZXIge1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbGVmdDogMnJlbTsgfVxuICAuc3dpdGNoLnRpbnkgbGFiZWwge1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHdpZHRoOiAzcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBsYWJlbDphZnRlciB7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5yYWRpdXMgbGFiZWwge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAuc3dpdGNoLnJhZGl1cyBsYWJlbDphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC5zd2l0Y2gucm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfVxuICAgIC5zd2l0Y2gucm91bmQgbGFiZWwge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTsgfVxuICAgIC5zd2l0Y2gucm91bmQgbGFiZWw6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTsgfVxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogc29saWQgMXB4ICNEREREREQ7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHRhYmxlLWxheW91dDogYXV0bzsgfVxuICB0YWJsZSBjYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzIyMjIyMjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNGNUY1RjU7IH1cbiAgICB0YWJsZSB0aGVhZCB0ciB0aCxcbiAgICB0YWJsZSB0aGVhZCB0ciB0ZCB7XG4gICAgICBjb2xvcjogIzIyMjIyMjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0YWJsZSB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI0Y1RjVGNTsgfVxuICAgIHRhYmxlIHRmb290IHRyIHRoLFxuICAgIHRhYmxlIHRmb290IHRyIHRkIHtcbiAgICAgIGNvbG9yOiAjMjIyMjIyO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRhYmxlIHRyIHRoLFxuICB0YWJsZSB0ciB0ZCB7XG4gICAgY29sb3I6ICMyMjIyMjI7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMC42MjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZSB0ci5ldmVuLCB0YWJsZSB0ci5hbHQsIHRhYmxlIHRyOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjlGOUY5OyB9XG4gIHRhYmxlIHRoZWFkIHRyIHRoLFxuICB0YWJsZSB0Zm9vdCB0ciB0aCxcbiAgdGFibGUgdGZvb3QgdHIgdGQsXG4gIHRhYmxlIHRib2R5IHRyIHRoLFxuICB0YWJsZSB0Ym9keSB0ciB0ZCxcbiAgdGFibGUgdHIgdGQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAudGFiczpiZWZvcmUsIC50YWJzOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGFiczphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRhYnMgZGQsXG4gIC50YWJzIC50YWItdGl0bGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC50YWJzIGRkID4gYSxcbiAgICAudGFicyAudGFiLXRpdGxlID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRkVGRUY7XG4gICAgICBjb2xvcjogIzIyMjIyMjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTsgfVxuICAgICAgLnRhYnMgZGQgPiBhOmhvdmVyLFxuICAgICAgLnRhYnMgLnRhYi10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlMWUxOyB9XG4gICAgLnRhYnMgZGQuYWN0aXZlID4gYSxcbiAgICAudGFicyAudGFiLXRpdGxlLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIGNvbG9yOiAjMjIyMjIyOyB9XG4gIC50YWJzLnJhZGl1cyBkZDpmaXJzdC1jaGlsZCBhLFxuICAudGFicy5yYWRpdXMgLnRhYjpmaXJzdC1jaGlsZCBhIHtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4OyB9XG4gIC50YWJzLnJhZGl1cyBkZDpsYXN0LWNoaWxkIGEsXG4gIC50YWJzLnJhZGl1cyAudGFiOmxhc3QtY2hpbGQgYSB7XG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7IH1cbiAgLnRhYnMudmVydGljYWwgZGQsXG4gIC50YWJzLnZlcnRpY2FsIC50YWItdGl0bGUge1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogYXV0bzsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICAudGFicy1jb250ZW50OmJlZm9yZSwgLnRhYnMtY29udGVudDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRhYnMtY29udGVudDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRhYnMtY29udGVudCA+IC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnRhYnMtY29udGVudCA+IC5jb250ZW50LmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgLnRhYnMtY29udGVudCA+IC5jb250ZW50LmNvbnRhaW5lZCB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAudGFicy1jb250ZW50LnZlcnRpY2FsID4gLmNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLnRhYnMudmVydGljYWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgd2lkdGg6IDgwJTsgfSB9XG5cbi5uby1qcyAudGFicy1jb250ZW50ID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLyogSW1hZ2UgVGh1bWJuYWlscyAqL1xuLnRoIHtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgLnRoOmhvdmVyLCAudGg6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMCwgOTYsIDAsIDAuNSk7IH1cbiAgLnRoLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi8qIFRvb2x0aXBzICovXG4uaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggI0NDQ0NDQztcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGN1cnNvcjogaGVscDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmhhcy10aXA6aG92ZXIsIC5oYXMtdGlwOmZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICMwMDJiMDA7XG4gICAgY29sb3I6ICMwMDYwMDA7IH1cbiAgLmhhcy10aXAudGlwLWxlZnQsIC5oYXMtdGlwLnRpcC1yaWdodCB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA2O1xuICBsZWZ0OiA1MCU7IH1cbiAgLnRvb2x0aXAgPiAubnViIHtcbiAgICBib3JkZXI6IHNvbGlkIDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMzMzMzMgdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDVweDsgfVxuICAgIC50b29sdGlwID4gLm51Yi5ydGwge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiA1cHg7IH1cbiAgLnRvb2x0aXAucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLnRvb2x0aXAucm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfVxuICAgIC50b29sdGlwLnJvdW5kID4gLm51YiB7XG4gICAgICBsZWZ0OiAycmVtOyB9XG4gIC50b29sdGlwLm9wZW5lZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjMDAyYjAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDYwMDAgIWltcG9ydGFudDsgfVxuXG4udGFwLXRvLWNsb3NlIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiB7XG4gIC50b29sdGlwID4gLm51YiB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzMzMzIHRyYW5zcGFyZW50O1xuICAgIHRvcDogLTEwcHg7IH1cbiAgLnRvb2x0aXAudGlwLXRvcCA+IC5udWIge1xuICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHRvcDogYXV0bzsgfVxuICAudG9vbHRpcC50aXAtbGVmdCwgLnRvb2x0aXAudGlwLXJpZ2h0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC50b29sdGlwLnRpcC1sZWZ0ID4gLm51YiB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzMzMzO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICByaWdodDogLTEwcHg7XG4gICAgdG9wOiA1MCU7IH1cbiAgLnRvb2x0aXAudGlwLXJpZ2h0ID4gLm51YiB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMzMzMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdG9wOiA1MCU7IH0gfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtdG9wYmFyIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkvXCI7XG4gIHdpZHRoOiA5NjBweDsgfVxuXG4vKiBXcmFwcGVkIGFyb3VuZCAudG9wLWJhciB0byBjb250YWluIHRvIGdyaWQgd2lkdGggKi9cbi5jb250YWluLXRvLWdyaWQge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2VlZTsgfVxuICAuY29udGFpbi10by1ncmlkIC50b3AtYmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk7XG4gIGxlZnQ6IDA7IH1cbiAgLmZpeGVkLmV4cGFuZGVkOm5vdCgudG9wLWJhcikge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZml4ZWQuZXhwYW5kZWQ6bm90KC50b3AtYmFyKSAudGl0bGUtYXJlYSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDk5OyB9XG4gICAgLmZpeGVkLmV4cGFuZGVkOm5vdCgudG9wLWJhcikgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjgxMjVyZW07XG4gICAgICB6LWluZGV4OiA5ODsgfVxuXG4udG9wLWJhciB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRvcC1iYXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudG9wLWJhciAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnRvcC1iYXIgZm9ybSxcbiAgLnRvcC1iYXIgaW5wdXQsXG4gIC50b3AtYmFyIHNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudG9wLWJhciBpbnB1dCxcbiAgLnRvcC1iYXIgc2VsZWN0IHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAuMzVyZW07XG4gICAgcGFkZGluZy10b3A6IC4zNXJlbTsgfVxuICAudG9wLWJhciAuYnV0dG9uLCAudG9wLWJhciBidXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjQxMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuNDEyNXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLnRvcC1iYXIgLmJ1dHRvbiwgLnRvcC1iYXIgYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0xcHg7IH0gfVxuICAudG9wLWJhciAudGl0bGUtYXJlYSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudG9wLWJhciAubmFtZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGhlaWdodDogMi44MTI1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC50b3AtYmFyIC5uYW1lIGgxLCAudG9wLWJhciAubmFtZSBoMiwgLnRvcC1iYXIgLm5hbWUgaDMsIC50b3AtYmFyIC5uYW1lIGg0LCAudG9wLWJhciAubmFtZSBwLCAudG9wLWJhciAubmFtZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnRvcC1iYXIgLm5hbWUgaDEgYSwgLnRvcC1iYXIgLm5hbWUgaDIgYSwgLnRvcC1iYXIgLm5hbWUgaDMgYSwgLnRvcC1iYXIgLm5hbWUgaDQgYSwgLnRvcC1iYXIgLm5hbWUgcCBhLCAudG9wLWJhciAubmFtZSBzcGFuIGEge1xuICAgICAgICBjb2xvcjogIzIyMjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xuICAgICAgICB3aWR0aDogNzUlOyB9XG4gIC50b3AtYmFyIC50b2dnbGUtdG9wYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG4gICAgLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIgYSB7XG4gICAgICBjb2xvcjogIzIyMjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGhlaWdodDogMi44MTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC50b3AtYmFyIC50b2dnbGUtdG9wYmFyLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICAgIHRvcDogNTAlOyB9XG4gICAgICAudG9wLWJhciAudG9nZ2xlLXRvcGJhci5tZW51LWljb24gYSB7XG4gICAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICBwYWRkaW5nOiAwIDIuNXJlbSAwIDAuOTM3NXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC50b3AtYmFyIC50b2dnbGUtdG9wYmFyLm1lbnUtaWNvbiBhIHNwYW46OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMjIyLCAwIDdweCAwIDFweCAjMjIyLCAwIDE0cHggMCAxcHggIzIyMjtcbiAgICAgICAgICB3aWR0aDogMTZweDsgfVxuICAgICAgICAudG9wLWJhciAudG9nZ2xlLXRvcGJhci5tZW51LWljb24gYSBzcGFuOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggXCJcIiwgMCA3cHggMCAxcHggXCJcIiwgMCAxNHB4IDAgMXB4IFwiXCI7IH1cbiAgLnRvcC1iYXIuZXhwYW5kZWQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC50b3AtYmFyLmV4cGFuZGVkIC50aXRsZS1hcmVhIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlZWU7IH1cbiAgICAudG9wLWJhci5leHBhbmRlZCAudG9nZ2xlLXRvcGJhciBhIHtcbiAgICAgIGNvbG9yOiAjODg4ODg4OyB9XG4gICAgICAudG9wLWJhci5leHBhbmRlZCAudG9nZ2xlLXRvcGJhciBhIHNwYW46OmFmdGVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM4ODg4ODgsIDAgN3B4IDAgMXB4ICM4ODg4ODgsIDAgMTRweCAwIDFweCAjODg4ODg4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICAgICAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duLm1vdmVkID4gLmRyb3Bkb3duLFxuICAgICAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24ge1xuICAgICAgICBjbGlwOiBpbml0aWFsOyB9XG4gICAgICAudG9wLWJhci5leHBhbmRlZCAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd246bm90KC5tb3ZlZCkgPiB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4udG9wLWJhci1zZWN0aW9uIHtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgdHJhbnNpdGlvbjogbGVmdCAzMDBtcyBlYXNlLW91dDsgfVxuICAudG9wLWJhci1zZWN0aW9uIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50b3AtYmFyLXNlY3Rpb24gLmRpdmlkZXIsXG4gIC50b3AtYmFyLXNlY3Rpb24gW3JvbGU9XCJzZXBhcmF0b3JcIl0ge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjNzc3Nzc3O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkge1xuICAgIGJhY2tncm91bmQ6ICNlZWU7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYSB7XG4gICAgICBjb2xvcjogIzIyMjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nOiAxMnB4IDAgMTJweCAwLjkzNzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDA0ZDAwO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b246aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNGQwMDsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b246aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmNiMDJjO1xuICAgICAgICBib3JkZXItY29sb3I6ICMyMzhkMjM7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzhkMjM7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JjMmYyZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOTYyNjI2O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc3VjY2Vzczpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5NjI2MjY7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwNDEyNDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2YyYTBlO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uYWxlcnQ6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NmMmEwZTsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uYWxlcnQ6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2Y2ZTBlO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24ud2FybmluZzpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZjZlMGU7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmluZm8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkM2U4O1xuICAgICAgICBib3JkZXItY29sb3I6ICM2MWI2ZDk7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5pbmZvOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uaW5mbzpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYxYjZkOTsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uaW5mbzpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmluZm86Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjAwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwNGQwMDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNGQwMDsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbjpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyY2IwMmM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzIzOGQyMztcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjM4ZDIzOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc3VjY2VzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzJmMmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzk2MjYyNjtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5NjI2MjY7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwNDEyNDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2YyYTBlO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmFsZXJ0OmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2YyYTBlOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uYWxlcnQ6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLndhcm5pbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA4YTI0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjZjZlMGU7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ud2FybmluZzpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Y2ZTBlOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ud2FybmluZzpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5pbmZvIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjFiNmQ5O1xuICAgICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmluZm86aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uaW5mbzpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYxYjZkOTsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmluZm86aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uaW5mbzpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpOmhvdmVyOm5vdCguaGFzLWZvcm0pID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1O1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaS5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDYwMDA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaS5hY3RpdmUgPiBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwNTMwMDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWZvcm0ge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93biA+IGE6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtNC41cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duLm1vdmVkIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCA+IC5kcm9wZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGNsaXA6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCA+IGE6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIGEge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiA4cHggMC45Mzc1cmVtOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIGEucGFyZW50LWxpbmsge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLnRpdGxlIGg1LCAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaS5wYXJlbnQtbGluayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkudGl0bGUgaDUgYSwgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkucGFyZW50LWxpbmsgYSB7XG4gICAgICAgICAgY29sb3I6ICMyMjI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaS50aXRsZSBoNSBhOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaS5wYXJlbnQtbGluayBhOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLmhhcy1mb3JtIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDAuOTM3NXJlbTsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkgLmJ1dHRvbixcbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIGJ1dHRvbiB7XG4gICAgICAgIHRvcDogYXV0bzsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDhweCAwLjkzNzVyZW0gMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uanMtZ2VuZXJhdGVkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAudG9wLWJhciB7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgIC50b3AtYmFyOmJlZm9yZSwgLnRvcC1iYXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC50b3AtYmFyOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50b3AtYmFyIC50aXRsZS1hcmVhIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnRvcC1iYXIgLm5hbWUgaDEgYSxcbiAgICAudG9wLWJhciAubmFtZSBoMiBhLFxuICAgIC50b3AtYmFyIC5uYW1lIGgzIGEsXG4gICAgLnRvcC1iYXIgLm5hbWUgaDQgYSxcbiAgICAudG9wLWJhciAubmFtZSBoNSBhLFxuICAgIC50b3AtYmFyIC5uYW1lIGg2IGEge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAudG9wLWJhciBpbnB1dCxcbiAgICAudG9wLWJhciBzZWxlY3QsXG4gICAgLnRvcC1iYXIgLmJ1dHRvbixcbiAgICAudG9wLWJhciBidXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGhlaWdodDogMS43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMC41MzEyNXJlbTsgfVxuICAgIC50b3AtYmFyIC5oYXMtZm9ybSA+IC5idXR0b24sXG4gICAgLnRvcC1iYXIgLmhhcy1mb3JtID4gYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDAuNTMxMjVyZW07IH1cbiAgICAudG9wLWJhci5leHBhbmRlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG4gIC5jb250YWluLXRvLWdyaWQgLnRvcC1iYXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWF4LXdpZHRoOiA2Mi41cmVtOyB9XG4gIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgIHRyYW5zaXRpb246IG5vbmUgMCAwO1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gdWwge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgLmpzLWdlbmVyYXRlZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gbGkuaG92ZXIgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1O1xuICAgICAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiBsaTpub3QoLmhhcy1mb3JtKSBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIGxpOm5vdCguaGFzLWZvcm0pIGE6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTtcbiAgICAgICAgYmFja2dyb3VuZDogIzIyMjIyMjsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gbGkuYWN0aXZlOm5vdCguaGFzLWZvcm0pIGE6bm90KC5idXR0b24pIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDYwMDA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiBsaS5hY3RpdmU6bm90KC5oYXMtZm9ybSkgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA1MzAwO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93biA+IGEge1xuICAgICAgcGFkZGluZy1yaWdodDogMi4xODc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93biA+IGE6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIuNXB4O1xuICAgICAgICB0b3A6IDEuNDA2MjVyZW07IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24ge1xuICAgICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24uaG92ZXIgPiAuZHJvcGRvd24sIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5ub3QtY2xpY2s6aG92ZXIgPiAuZHJvcGRvd24ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNsaXA6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY2xpcDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24gLmRyb3Bkb3duIGxpLmhhcy1kcm9wZG93biA+IGE6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29udGVudDogXCJcXDAwYmJcIjtcbiAgICAgIHRvcDogMC4xODc1cmVtO1xuICAgICAgcmlnaHQ6IDVweDsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIHRvcDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDAuOTM3NXJlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGk6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgICBjb2xvcjogIzIyMjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGk6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpOmhvdmVyID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgYmFja2dyb3VuZDogIzIyMjIyMjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkgbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSAuZHJvcGRvd24ge1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uID4gdWwgPiAuZGl2aWRlcixcbiAgICAudG9wLWJhci1zZWN0aW9uID4gdWwgPiBbcm9sZT1cInNlcGFyYXRvclwiXSB7XG4gICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjZjBmMGYwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICAgIGhlaWdodDogMi44MTI1cmVtO1xuICAgICAgd2lkdGg6IDA7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZm9ybSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLnJpZ2h0IGxpIC5kcm9wZG93biB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLnJpZ2h0IGxpIC5kcm9wZG93biBsaSAuZHJvcGRvd24ge1xuICAgICAgICByaWdodDogMTAwJTsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmxlZnQgbGkgLmRyb3Bkb3duIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAubGVmdCBsaSAuZHJvcGRvd24gbGkgLmRyb3Bkb3duIHtcbiAgICAgICAgbGVmdDogMTAwJTsgfVxuICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB1bCBsaTpob3ZlciA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTU7XG4gICAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB1bCBsaTphY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA2MDAwO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5uby1qcyAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd246aG92ZXIgPiAuZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLnNtYWxsLW9ubHktdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnNtYWxsLW9ubHktdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb25seS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnNtYWxsLW9ubHktdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4ge1xuICAuc21hbGwtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnNtYWxsLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnNtYWxsLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuc21hbGwtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLm1lZGl1bS1vbmx5LXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb25seS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb25seS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vbmx5LXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogOTBlbSkge1xuICAubGFyZ2Utb25seS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb25seS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb25seS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogMTIwZW0pIHtcbiAgLnhsYXJnZS1vbmx5LXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC54bGFyZ2Utb25seS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC54bGFyZ2Utb25seS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnhsYXJnZS1vbmx5LXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAueGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDYyNDk5OTkuOTM3NWVtKSB7XG4gIC54eGxhcmdlLW9ubHktdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnh4bGFyZ2Utb25seS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC54eGxhcmdlLW9ubHktdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC54eGxhcmdlLW9ubHktdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUeXBvZ3JhcGh5IHJlc2V0cyAqL1xuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBEZWZhdWx0IExpbmsgU3R5bGVzICovXG5hIHtcbiAgY29sb3I6ICNiYzJmMmY7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICM4ZjI0MjQ7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4vKiBEZWZhdWx0IHBhcmFncmFwaCBzdHlsZXMgKi9cbnAge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIHAubGVhZCB7XG4gICAgZm9udC1zaXplOiAxLjIxODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgcCBhc2lkZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7IH1cblxuLyogRGVmYXVsdCBoZWFkZXIgc3R5bGVzICovXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIGgyIHNtYWxsLCBoMyBzbWFsbCwgaDQgc21hbGwsIGg1IHNtYWxsLCBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICM2ZjZmNmY7XG4gICAgZm9udC1zaXplOiA2MCU7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDIuMTI1cmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjY4NzVyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnN1YmhlYWRlciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjNmY2ZjZmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5ociB7XG4gIGJvcmRlcjogc29saWQgI0RERERERDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICBjbGVhcjogYm90aDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gMCAxLjE4NzVyZW07IH1cblxuLyogSGVscGZ1bCBUeXBvZ3JhcGh5IERlZmF1bHRzICovXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDYwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuY29kZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWVlYjk7XG4gIGJvcmRlci1jb2xvcjogIzk4ZTU5ODtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG4vKiBMaXN0cyAqL1xudWwsXG5vbCxcbmRsIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjFyZW07IH1cblxuLyogVW5vcmRlcmVkIExpc3RzICovXG51bCBsaSB1bCxcbnVsIGxpIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxudWwuc3F1YXJlIGxpIHVsLCB1bC5jaXJjbGUgbGkgdWwsIHVsLmRpc2MgbGkgdWwge1xuICBsaXN0LXN0eWxlOiBpbmhlcml0OyB9XG5cbnVsLnNxdWFyZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xuICBtYXJnaW4tbGVmdDogMS4xcmVtOyB9XG5cbnVsLmNpcmNsZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xuICBtYXJnaW4tbGVmdDogMS4xcmVtOyB9XG5cbnVsLmRpc2Mge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbi1sZWZ0OiAxLjFyZW07IH1cblxuLyogT3JkZXJlZCBMaXN0cyAqL1xub2wge1xuICBtYXJnaW4tbGVmdDogMS40cmVtOyB9XG4gIG9sIGxpIHVsLFxuICBvbCBsaSBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAubm8tYnVsbGV0IGxpIHVsLFxuICAubm8tYnVsbGV0IGxpIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogRGVmaW5pdGlvbiBMaXN0cyAqL1xuZGwgZHQge1xuICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmRsIGRkIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuXG4vKiBBYmJyZXZpYXRpb25zICovXG5hYmJyLFxuYWNyb255bSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogIzIyMjtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbmFiYnIge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjREREREREOyB9XG5cbi8qIEJsb2NrcXVvdGVzICovXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RERERERDsgfVxuICBibG9ja3F1b3RlIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiAjNTU1NTU1OyB9XG4gICAgYmxvY2txdW90ZSBjaXRlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwMjBcIjsgfVxuICAgIGJsb2NrcXVvdGUgY2l0ZSBhLFxuICAgIGJsb2NrcXVvdGUgY2l0ZSBhOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICM1NTU1NTU7IH1cblxuYmxvY2txdW90ZSxcbmJsb2NrcXVvdGUgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjNmY2ZjZmOyB9XG5cbi8qIE1pY3JvZm9ybWF0cyAqL1xuLnZjYXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtIDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREREREQ7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07IH1cbiAgLnZjYXJkIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnZjYXJkIC5mbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLnZldmVudCAuc3VtbWFyeSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi52ZXZlbnQgYWJiciB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwIDAuMDYyNXJlbTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuNzVyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi4zMTI1cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjg3NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi8qXG4gICAgICAgKiBQcmludCBzdHlsZXMuXG4gICAgICAgKlxuICAgICAgICogSW5saW5lZCB0byBhdm9pZCByZXF1aXJlZCBIVFRQIGNvbm5lY3Rpb246IHd3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4gICAgICAgKiBDcmVkaXQgdG8gUGF1bCBJcmlzaCBhbmQgSFRNTDUgQm9pbGVycGxhdGUgKGh0bWw1Ym9pbGVycGxhdGUuY29tKVxuICAgICAgKi9cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICAvKiBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zICovXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICAvKiBoNWJwLmNvbS90ICovIH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC4zNGluOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi5vZmYtY2FudmFzLXdyYXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy13cmFwLm1vdmUtcmlnaHQsIC5vZmYtY2FudmFzLXdyYXAubW92ZS1sZWZ0LCAub2ZmLWNhbnZhcy13cmFwLm1vdmUtYm90dG9tLCAub2ZmLWNhbnZhcy13cmFwLm1vdmUtdG9wIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4uaW5uZXItd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7IH1cbiAgLmlubmVyLXdyYXA6YmVmb3JlLCAuaW5uZXItd3JhcDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmlubmVyLXdyYXA6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWItYmFyIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50YWItYmFyIGgxLCAudGFiLWJhciBoMiwgLnRhYi1iYXIgaDMsIC50YWItYmFyIGg0LCAudGFiLWJhciBoNSwgLnRhYi1iYXIgaDYge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gIC50YWItYmFyIGgxLCAudGFiLWJhciBoMiwgLnRhYi1iYXIgaDMsIC50YWItYmFyIGg0IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5sZWZ0LXNtYWxsIHtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMi44MTI1cmVtO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjMWExYTFhO1xuICBsZWZ0OiAwOyB9XG5cbi5yaWdodC1zbWFsbCB7XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDIuODEyNXJlbTtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjMWExYTFhO1xuICByaWdodDogMDsgfVxuXG4udGFiLWJhci1zZWN0aW9uIHtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7IH1cbiAgLnRhYi1iYXItc2VjdGlvbi5sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50YWItYmFyLXNlY3Rpb24ucmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50YWItYmFyLXNlY3Rpb24ubGVmdCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMi44MTI1cmVtOyB9XG4gIC50YWItYmFyLXNlY3Rpb24ucmlnaHQge1xuICAgIGxlZnQ6IDIuODEyNXJlbTtcbiAgICByaWdodDogMDsgfVxuICAudGFiLWJhci1zZWN0aW9uLm1pZGRsZSB7XG4gICAgbGVmdDogMi44MTI1cmVtO1xuICAgIHJpZ2h0OiAyLjgxMjVyZW07IH1cblxuLnRhYi1iYXIgLm1lbnUtaWNvbiB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1pbmRlbnQ6IDIuMTg3NXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgd2lkdGg6IDIuODEyNXJlbTsgfVxuICAudGFiLWJhciAubWVudS1pY29uIHNwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBsZWZ0OiAwLjkwNjI1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjRkZGRkZGLCAwIDdweCAwIDFweCAjRkZGRkZGLCAwIDE0cHggMCAxcHggI0ZGRkZGRjtcbiAgICB3aWR0aDogMXJlbTsgfVxuICAudGFiLWJhciAubWVudS1pY29uIHNwYW46aG92ZXI6YWZ0ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYjNiM2IzLCAwIDdweCAwIDFweCAjYjNiM2IzLCAwIDE0cHggMCAxcHggI2IzYjNiMzsgfVxuXG4ubGVmdC1vZmYtY2FudmFzLW1lbnUge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlIDBzO1xuICB3aWR0aDogMTUuNjI1cmVtO1xuICB6LWluZGV4OiAxMDAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuICAubGVmdC1vZmYtY2FudmFzLW1lbnUgKiB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UgMHM7XG4gIHdpZHRoOiAxNS42MjVyZW07XG4gIHotaW5kZXg6IDEwMDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7IH1cbiAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSAqIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udG9wLW9mZi1jYW52YXMtbWVudSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UgMHM7XG4gIHdpZHRoOiAxNS42MjVyZW07XG4gIHotaW5kZXg6IDEwMDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxOC43NXJlbTsgfVxuICAudG9wLW9mZi1jYW52YXMtbWVudSAqIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uYm90dG9tLW9mZi1jYW52YXMtbWVudSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UgMHM7XG4gIHdpZHRoOiAxNS42MjVyZW07XG4gIHotaW5kZXg6IDEwMDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTguNzVyZW07IH1cbiAgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUgKiB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxudWwub2ZmLWNhbnZhcy1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgdWwub2ZmLWNhbnZhcy1saXN0IGxpIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDQ0NDQ0O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1ZTVlNWU7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgdWwub2ZmLWNhbnZhcy1saXN0IGxpIGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjYyNjI2O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC42NjY2N3JlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7IH1cbiAgICB1bC5vZmYtY2FudmFzLWxpc3QgbGkgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjQyNDI0OyB9XG4gICAgdWwub2ZmLWNhbnZhcy1saXN0IGxpIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyNDI0MjQ7IH1cblxuLm1vdmUtcmlnaHQgPiAuaW5uZXItd3JhcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNS42MjVyZW0sIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUuNjI1cmVtLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDE1LjYyNXJlbSwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUuNjI1cmVtLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNS42MjVyZW0sIDAsIDApOyB9XG5cbi5tb3ZlLXJpZ2h0IC5leGl0LW9mZi1jYW52YXMge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5tb3ZlLXJpZ2h0IC5leGl0LW9mZi1jYW52YXM6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfSB9XG5cbi5tb3ZlLWxlZnQgPiAuaW5uZXItd3JhcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUuNjI1cmVtLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNS42MjVyZW0sIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1LjYyNXJlbSwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1LjYyNXJlbSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1LjYyNXJlbSwgMCwgMCk7IH1cblxuLm1vdmUtbGVmdCAuZXhpdC1vZmYtY2FudmFzIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLCA0cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAubW92ZS1sZWZ0IC5leGl0LW9mZi1jYW52YXM6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfSB9XG5cbi5tb3ZlLXRvcCA+IC5pbm5lci13cmFwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xOC43NXJlbSwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTguNzVyZW0sIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTE4Ljc1cmVtKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTguNzVyZW0sIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xOC43NXJlbSwgMCk7IH1cblxuLm1vdmUtdG9wIC5leGl0LW9mZi1jYW52YXMge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5tb3ZlLXRvcCAuZXhpdC1vZmYtY2FudmFzOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IH0gfVxuXG4ubW92ZS1ib3R0b20gPiAuaW5uZXItd3JhcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxOC43NXJlbSwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxOC43NXJlbSwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxOC43NXJlbSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTguNzVyZW0sIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDE4Ljc1cmVtLCAwKTsgfVxuXG4ubW92ZS1ib3R0b20gLmV4aXQtb2ZmLWNhbnZhcyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KSwgNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLm1vdmUtYm90dG9tIC5leGl0LW9mZi1jYW52YXM6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfSB9XG5cbi5vZmZjYW52YXMtb3ZlcmxhcCAubGVmdC1vZmYtY2FudmFzLW1lbnUsIC5vZmZjYW52YXMtb3ZlcmxhcCAucmlnaHQtb2ZmLWNhbnZhcy1tZW51LFxuLm9mZmNhbnZhcy1vdmVybGFwIC50b3Atb2ZmLWNhbnZhcy1tZW51LCAub2ZmY2FudmFzLW92ZXJsYXAgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUge1xuICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAxMDAzOyB9XG5cbi5vZmZjYW52YXMtb3ZlcmxhcCAuZXhpdC1vZmYtY2FudmFzIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLCA0cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAub2ZmY2FudmFzLW92ZXJsYXAgLmV4aXQtb2ZmLWNhbnZhczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9IH1cblxuLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7XG4gIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgLW8tdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6IDEwMDM7IH1cblxuLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQgLmV4aXQtb2ZmLWNhbnZhcyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KSwgNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQgLmV4aXQtb2ZmLWNhbnZhczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9IH1cblxuLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0IC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7XG4gIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgLW8tdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6IDEwMDM7IH1cblxuLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0IC5leGl0LW9mZi1jYW52YXMge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCAuZXhpdC1vZmYtY2FudmFzOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IH0gfVxuXG4ub2ZmY2FudmFzLW92ZXJsYXAtdG9wIC5ib3R0b20tb2ZmLWNhbnZhcy1tZW51IHtcbiAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAtby10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogMTAwMzsgfVxuXG4ub2ZmY2FudmFzLW92ZXJsYXAtdG9wIC5leGl0LW9mZi1jYW52YXMge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC10b3AgLmV4aXQtb2ZmLWNhbnZhczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9IH1cblxuLm9mZmNhbnZhcy1vdmVybGFwLWJvdHRvbSAudG9wLW9mZi1jYW52YXMtbWVudSB7XG4gIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgLW8tdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6IDEwMDM7IH1cblxuLm9mZmNhbnZhcy1vdmVybGFwLWJvdHRvbSAuZXhpdC1vZmYtY2FudmFzIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLCA0cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtYm90dG9tIC5leGl0LW9mZi1jYW52YXM6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfSB9XG5cbi5uby1jc3N0cmFuc2Zvcm1zIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7XG4gIGxlZnQ6IC0xNS42MjVyZW07IH1cblxuLm5vLWNzc3RyYW5zZm9ybXMgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7XG4gIHJpZ2h0OiAtMTUuNjI1cmVtOyB9XG5cbi5uby1jc3N0cmFuc2Zvcm1zIC50b3Atb2ZmLWNhbnZhcy1tZW51IHtcbiAgdG9wOiAtMTguNzVyZW07IH1cblxuLm5vLWNzc3RyYW5zZm9ybXMgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUge1xuICBib3R0b206IC0xOC43NXJlbTsgfVxuXG4ubm8tY3NzdHJhbnNmb3JtcyAubW92ZS1sZWZ0ID4gLmlubmVyLXdyYXAge1xuICByaWdodDogMTUuNjI1cmVtOyB9XG5cbi5uby1jc3N0cmFuc2Zvcm1zIC5tb3ZlLXJpZ2h0ID4gLmlubmVyLXdyYXAge1xuICBsZWZ0OiAxNS42MjVyZW07IH1cblxuLm5vLWNzc3RyYW5zZm9ybXMgLm1vdmUtdG9wID4gLmlubmVyLXdyYXAge1xuICByaWdodDogMTguNzVyZW07IH1cblxuLm5vLWNzc3RyYW5zZm9ybXMgLm1vdmUtYm90dG9tID4gLmlubmVyLXdyYXAge1xuICBsZWZ0OiAxOC43NXJlbTsgfVxuXG4ubGVmdC1zdWJtZW51IHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTUuNjI1cmVtO1xuICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICB6LWluZGV4OiAxMDAyO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIGxlZnQ6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7IH1cbiAgLmxlZnQtc3VibWVudSAqIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAubGVmdC1zdWJtZW51IC5iYWNrID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzQ0NDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlO1xuICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAuM3JlbSAwLjkzNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAubGVmdC1zdWJtZW51IC5iYWNrID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzAzMDMwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlOyB9XG4gICAgLmxlZnQtc3VibWVudSAuYmFjayA+IGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxBQlwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAubGVmdC1zdWJtZW51Lm1vdmUtcmlnaHQsIC5sZWZ0LXN1Ym1lbnUub2ZmY2FudmFzLW92ZXJsYXAtcmlnaHQsIC5sZWZ0LXN1Ym1lbnUub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApOyB9XG5cbi5yaWdodC1zdWJtZW51IHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTUuNjI1cmVtO1xuICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICB6LWluZGV4OiAxMDAyO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTsgfVxuICAucmlnaHQtc3VibWVudSAqIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAucmlnaHQtc3VibWVudSAuYmFjayA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzVlNWU1ZTtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnJpZ2h0LXN1Ym1lbnUgLmJhY2sgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzMDMwMzA7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1ZTVlNWU7IH1cbiAgICAucmlnaHQtc3VibWVudSAuYmFjayA+IGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXEJCXCI7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnJpZ2h0LXN1Ym1lbnUubW92ZS1sZWZ0LCAucmlnaHQtc3VibWVudS5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0LCAucmlnaHQtc3VibWVudS5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7IH1cblxuLnRvcC1zdWJtZW51IHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTUuNjI1cmVtO1xuICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICB6LWluZGV4OiAxMDAyO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7IH1cbiAgLnRvcC1zdWJtZW51ICoge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC50b3Atc3VibWVudSAuYmFjayA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzVlNWU1ZTtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnRvcC1zdWJtZW51IC5iYWNrID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzAzMDMwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlOyB9XG4gIC50b3Atc3VibWVudS5tb3ZlLWJvdHRvbSwgLnRvcC1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwLWJvdHRvbSwgLnRvcC1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCUsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwJSwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAlLCAwKTsgfVxuXG4uYm90dG9tLXN1Ym1lbnUge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxNS42MjVyZW07XG4gIGhlaWdodDogMTguNzVyZW07XG4gIHotaW5kZXg6IDEwMDI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7IH1cbiAgLmJvdHRvbS1zdWJtZW51ICoge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5ib3R0b20tc3VibWVudSAuYmFjayA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzVlNWU1ZTtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmJvdHRvbS1zdWJtZW51IC5iYWNrID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzAzMDMwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlOyB9XG4gIC5ib3R0b20tc3VibWVudS5tb3ZlLXRvcCwgLmJvdHRvbS1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwLXRvcCwgLmJvdHRvbS1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCUsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwJSwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAlLCAwKTsgfVxuXG4ubGVmdC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxCQlwiO1xuICBtYXJnaW4tbGVmdDogLjVyZW07XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4ucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEFCXCI7XG4gIG1hcmdpbi1yaWdodDogLjVyZW07XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4vKiBzbWFsbCBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHksIC5zaG93LWZvci1zbWFsbC11cCwgLnNob3ctZm9yLXNtYWxsLCAuc2hvdy1mb3Itc21hbGwtZG93biwgLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZS1mb3ItbWVkaXVtLXVwLCAuaGlkZS1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5oaWRlLWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5oaWRlLWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3Itc21hbGwtb25seSwgLmhpZGUtZm9yLXNtYWxsLXVwLCAuaGlkZS1mb3Itc21hbGwsIC5oaWRlLWZvci1zbWFsbC1kb3duLCAuc2hvdy1mb3ItbWVkaXVtLW9ubHksIC5zaG93LWZvci1tZWRpdW0tdXAsIC5zaG93LWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLnNob3ctZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLnNob3ctZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLnNob3ctZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuc2hvdy1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLmhpZGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC52aXNpYmxlLWZvci1zbWFsbCwgLnZpc2libGUtZm9yLXNtYWxsLWRvd24sIC5oaWRkZW4tZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLnZpc2libGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZGVuLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAudmlzaWJsZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87IH1cbiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLmhpZGRlbi1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAudmlzaWJsZS1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC5oaWRkZW4tZm9yLW1lZGl1bS1kb3duLCAudmlzaWJsZS1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLmhpZGRlbi1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4OyB9XG4gIHRhYmxlLnNob3ctZm9yLXNtYWxsLW9ubHksIHRhYmxlLnNob3ctZm9yLXNtYWxsLXVwLCB0YWJsZS5zaG93LWZvci1zbWFsbCwgdGFibGUuc2hvdy1mb3Itc21hbGwtZG93biwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS11cCwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLCB0YWJsZS5zaG93LWZvci1tZWRpdW0tZG93biwgdGFibGUuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3ItbGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLCB0YWJsZS5zaG93LWZvci1sYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1zbWFsbC1vbmx5LCB0aGVhZC5zaG93LWZvci1zbWFsbC11cCwgdGhlYWQuc2hvdy1mb3Itc21hbGwsIHRoZWFkLnNob3ctZm9yLXNtYWxsLWRvd24sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tdXAsIHRoZWFkLmhpZGUtZm9yLW1lZGl1bSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoZWFkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLWxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci1sYXJnZSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLCB0aGVhZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXNtYWxsLW9ubHksIHRib2R5LnNob3ctZm9yLXNtYWxsLXVwLCB0Ym9keS5zaG93LWZvci1zbWFsbCwgdGJvZHkuc2hvdy1mb3Itc21hbGwtZG93biwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRib2R5LmhpZGUtZm9yLW1lZGl1bS11cCwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLCB0Ym9keS5zaG93LWZvci1tZWRpdW0tZG93biwgdGJvZHkuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLWxhcmdlLCB0Ym9keS5zaG93LWZvci1sYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UsIHRib2R5LnNob3ctZm9yLXhsYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UsIHRib2R5LnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3Itc21hbGwtb25seSwgdHIuc2hvdy1mb3Itc21hbGwtdXAsIHRyLnNob3ctZm9yLXNtYWxsLCB0ci5zaG93LWZvci1zbWFsbC1kb3duLCB0ci5oaWRlLWZvci1tZWRpdW0tb25seSwgdHIuaGlkZS1mb3ItbWVkaXVtLXVwLCB0ci5oaWRlLWZvci1tZWRpdW0sIHRyLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0ci5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ci5oaWRlLWZvci1sYXJnZS11cCwgdHIuaGlkZS1mb3ItbGFyZ2UsIHRyLnNob3ctZm9yLWxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXhsYXJnZSwgdHIuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteHhsYXJnZS11cCwgdHIuaGlkZS1mb3IteHhsYXJnZSwgdHIuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgdGguc2hvdy1mb3Itc21hbGwtb25seSwgdGQuc2hvdy1mb3Itc21hbGwtb25seSwgdGguc2hvdy1mb3Itc21hbGwtdXAsIHRkLnNob3ctZm9yLXNtYWxsLXVwLCB0aC5zaG93LWZvci1zbWFsbCwgdGQuc2hvdy1mb3Itc21hbGwsIHRoLnNob3ctZm9yLXNtYWxsLWRvd24sIHRkLnNob3ctZm9yLXNtYWxsLWRvd24sIHRoLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGguaGlkZS1mb3ItbWVkaXVtLXVwLCB0ZC5oaWRlLWZvci1tZWRpdW0tdXAsIHRoLmhpZGUtZm9yLW1lZGl1bSwgdGQuaGlkZS1mb3ItbWVkaXVtLCB0aC5zaG93LWZvci1tZWRpdW0tZG93biwgdGQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLWxhcmdlLXVwLCB0ZC5oaWRlLWZvci1sYXJnZS11cCwgdGguaGlkZS1mb3ItbGFyZ2UsIHRkLmhpZGUtZm9yLWxhcmdlLCB0aC5zaG93LWZvci1sYXJnZS1kb3duLCB0ZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXhsYXJnZS11cCwgdGQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aC5oaWRlLWZvci14bGFyZ2UsIHRkLmhpZGUtZm9yLXhsYXJnZSwgdGguc2hvdy1mb3IteGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteHhsYXJnZS11cCwgdGQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGguaGlkZS1mb3IteHhsYXJnZSwgdGQuaGlkZS1mb3IteHhsYXJnZSwgdGguc2hvdy1mb3IteHhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbi8qIG1lZGl1bSBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHksIC5zaG93LWZvci1zbWFsbC11cCwgLmhpZGUtZm9yLXNtYWxsLCAuaGlkZS1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuc2hvdy1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5oaWRlLWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5oaWRlLWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3Itc21hbGwtb25seSwgLmhpZGUtZm9yLXNtYWxsLXVwLCAuc2hvdy1mb3Itc21hbGwsIC5zaG93LWZvci1zbWFsbC1kb3duLCAuaGlkZS1mb3ItbWVkaXVtLW9ubHksIC5oaWRlLWZvci1tZWRpdW0tdXAsIC5oaWRlLWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLnNob3ctZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLnNob3ctZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLnNob3ctZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuc2hvdy1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLmhpZGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5oaWRkZW4tZm9yLXNtYWxsLW9ubHksIC52aXNpYmxlLWZvci1zbWFsbC11cCwgLmhpZGRlbi1mb3Itc21hbGwsIC5oaWRkZW4tZm9yLXNtYWxsLWRvd24sIC52aXNpYmxlLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLnZpc2libGUtZm9yLW1lZGl1bSwgLnZpc2libGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZGVuLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAudmlzaWJsZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87IH1cbiAgLnZpc2libGUtZm9yLXNtYWxsLW9ubHksIC5oaWRkZW4tZm9yLXNtYWxsLXVwLCAudmlzaWJsZS1mb3Itc21hbGwsIC52aXNpYmxlLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLmhpZGRlbi1mb3ItbWVkaXVtLXVwLCAuaGlkZGVuLWZvci1tZWRpdW0sIC5oaWRkZW4tZm9yLW1lZGl1bS1kb3duLCAudmlzaWJsZS1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLmhpZGRlbi1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4OyB9XG4gIHRhYmxlLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRhYmxlLnNob3ctZm9yLXNtYWxsLXVwLCB0YWJsZS5oaWRlLWZvci1zbWFsbCwgdGFibGUuaGlkZS1mb3Itc21hbGwtZG93biwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRhYmxlLnNob3ctZm9yLW1lZGl1bS11cCwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLCB0YWJsZS5zaG93LWZvci1tZWRpdW0tZG93biwgdGFibGUuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3ItbGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLCB0YWJsZS5zaG93LWZvci1sYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aGVhZC5zaG93LWZvci1zbWFsbC11cCwgdGhlYWQuaGlkZS1mb3Itc21hbGwsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoZWFkLnNob3ctZm9yLW1lZGl1bS1vbmx5LCB0aGVhZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoZWFkLnNob3ctZm9yLW1lZGl1bSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoZWFkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLWxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci1sYXJnZSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLCB0aGVhZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LmhpZGUtZm9yLXNtYWxsLW9ubHksIHRib2R5LnNob3ctZm9yLXNtYWxsLXVwLCB0Ym9keS5oaWRlLWZvci1zbWFsbCwgdGJvZHkuaGlkZS1mb3Itc21hbGwtZG93biwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRib2R5LnNob3ctZm9yLW1lZGl1bS11cCwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLCB0Ym9keS5zaG93LWZvci1tZWRpdW0tZG93biwgdGJvZHkuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLWxhcmdlLCB0Ym9keS5zaG93LWZvci1sYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UsIHRib2R5LnNob3ctZm9yLXhsYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UsIHRib2R5LnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuaGlkZS1mb3Itc21hbGwtb25seSwgdHIuc2hvdy1mb3Itc21hbGwtdXAsIHRyLmhpZGUtZm9yLXNtYWxsLCB0ci5oaWRlLWZvci1zbWFsbC1kb3duLCB0ci5zaG93LWZvci1tZWRpdW0tb25seSwgdHIuc2hvdy1mb3ItbWVkaXVtLXVwLCB0ci5zaG93LWZvci1tZWRpdW0sIHRyLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0ci5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ci5oaWRlLWZvci1sYXJnZS11cCwgdHIuaGlkZS1mb3ItbGFyZ2UsIHRyLnNob3ctZm9yLWxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXhsYXJnZSwgdHIuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteHhsYXJnZS11cCwgdHIuaGlkZS1mb3IteHhsYXJnZSwgdHIuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgdGguaGlkZS1mb3Itc21hbGwtb25seSwgdGQuaGlkZS1mb3Itc21hbGwtb25seSwgdGguc2hvdy1mb3Itc21hbGwtdXAsIHRkLnNob3ctZm9yLXNtYWxsLXVwLCB0aC5oaWRlLWZvci1zbWFsbCwgdGQuaGlkZS1mb3Itc21hbGwsIHRoLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoLnNob3ctZm9yLW1lZGl1bS1vbmx5LCB0ZC5zaG93LWZvci1tZWRpdW0tb25seSwgdGguc2hvdy1mb3ItbWVkaXVtLXVwLCB0ZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoLnNob3ctZm9yLW1lZGl1bSwgdGQuc2hvdy1mb3ItbWVkaXVtLCB0aC5zaG93LWZvci1tZWRpdW0tZG93biwgdGQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLWxhcmdlLXVwLCB0ZC5oaWRlLWZvci1sYXJnZS11cCwgdGguaGlkZS1mb3ItbGFyZ2UsIHRkLmhpZGUtZm9yLWxhcmdlLCB0aC5zaG93LWZvci1sYXJnZS1kb3duLCB0ZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXhsYXJnZS11cCwgdGQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aC5oaWRlLWZvci14bGFyZ2UsIHRkLmhpZGUtZm9yLXhsYXJnZSwgdGguc2hvdy1mb3IteGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteHhsYXJnZS11cCwgdGQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGguaGlkZS1mb3IteHhsYXJnZSwgdGQuaGlkZS1mb3IteHhsYXJnZSwgdGguc2hvdy1mb3IteHhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbi8qIGxhcmdlIGRpc3BsYXlzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSwgLnNob3ctZm9yLXNtYWxsLXVwLCAuaGlkZS1mb3Itc21hbGwsIC5oaWRlLWZvci1zbWFsbC1kb3duLCAuaGlkZS1mb3ItbWVkaXVtLW9ubHksIC5zaG93LWZvci1tZWRpdW0tdXAsIC5oaWRlLWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLnNob3ctZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLnNob3ctZm9yLWxhcmdlLCAuc2hvdy1mb3ItbGFyZ2UtZG93biwgLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteGxhcmdlLXVwLCAuaGlkZS1mb3IteGxhcmdlLCAuc2hvdy1mb3IteGxhcmdlLWRvd24sIC5oaWRlLWZvci14eGxhcmdlLW9ubHksIC5oaWRlLWZvci14eGxhcmdlLXVwLCAuaGlkZS1mb3IteHhsYXJnZSwgLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5LCAuaGlkZS1mb3Itc21hbGwtdXAsIC5zaG93LWZvci1zbWFsbCwgLnNob3ctZm9yLXNtYWxsLWRvd24sIC5zaG93LWZvci1tZWRpdW0tb25seSwgLmhpZGUtZm9yLW1lZGl1bS11cCwgLnNob3ctZm9yLW1lZGl1bSwgLnNob3ctZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLmhpZGUtZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuc2hvdy1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5zaG93LWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuaGlkZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLnZpc2libGUtZm9yLXNtYWxsLXVwLCAuaGlkZGVuLWZvci1zbWFsbCwgLmhpZGRlbi1mb3Itc21hbGwtZG93biwgLmhpZGRlbi1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLmhpZGRlbi1mb3ItbWVkaXVtLWRvd24sIC52aXNpYmxlLWZvci1sYXJnZS1vbmx5LCAudmlzaWJsZS1mb3ItbGFyZ2UtdXAsIC52aXNpYmxlLWZvci1sYXJnZSwgLnZpc2libGUtZm9yLWxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXhsYXJnZSwgLnZpc2libGUtZm9yLXhsYXJnZS1kb3duLCAuaGlkZGVuLWZvci14eGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXh4bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXh4bGFyZ2UsIC52aXNpYmxlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bzsgfVxuICAudmlzaWJsZS1mb3Itc21hbGwtb25seSwgLmhpZGRlbi1mb3Itc21hbGwtdXAsIC52aXNpYmxlLWZvci1zbWFsbCwgLnZpc2libGUtZm9yLXNtYWxsLWRvd24sIC52aXNpYmxlLWZvci1tZWRpdW0tb25seSwgLmhpZGRlbi1mb3ItbWVkaXVtLXVwLCAudmlzaWJsZS1mb3ItbWVkaXVtLCAudmlzaWJsZS1mb3ItbWVkaXVtLWRvd24sIC5oaWRkZW4tZm9yLWxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLWxhcmdlLXVwLCAuaGlkZGVuLWZvci1sYXJnZSwgLmhpZGRlbi1mb3ItbGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteGxhcmdlLCAuaGlkZGVuLWZvci14bGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXh4bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14eGxhcmdlLCAuaGlkZGVuLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgdGFibGUuaGlkZS1mb3Itc21hbGwtb25seSwgdGFibGUuc2hvdy1mb3Itc21hbGwtdXAsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLCB0YWJsZS5oaWRlLWZvci1zbWFsbC1kb3duLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLXVwLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0YWJsZS5zaG93LWZvci1sYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci1sYXJnZS11cCwgdGFibGUuc2hvdy1mb3ItbGFyZ2UsIHRhYmxlLnNob3ctZm9yLWxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXhsYXJnZSwgdGFibGUuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteHhsYXJnZSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoZWFkLnNob3ctZm9yLXNtYWxsLXVwLCB0aGVhZC5oaWRlLWZvci1zbWFsbCwgdGhlYWQuaGlkZS1mb3Itc21hbGwtZG93biwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoZWFkLnNob3ctZm9yLW1lZGl1bS11cCwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGhlYWQuc2hvdy1mb3ItbGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoZWFkLnNob3ctZm9yLWxhcmdlLCB0aGVhZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3Itc21hbGwtb25seSwgdGJvZHkuc2hvdy1mb3Itc21hbGwtdXAsIHRib2R5LmhpZGUtZm9yLXNtYWxsLCB0Ym9keS5oaWRlLWZvci1zbWFsbC1kb3duLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLXVwLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0Ym9keS5zaG93LWZvci1sYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci1sYXJnZS11cCwgdGJvZHkuc2hvdy1mb3ItbGFyZ2UsIHRib2R5LnNob3ctZm9yLWxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci14bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ci5zaG93LWZvci1zbWFsbC11cCwgdHIuaGlkZS1mb3Itc21hbGwsIHRyLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRyLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ci5zaG93LWZvci1tZWRpdW0tdXAsIHRyLmhpZGUtZm9yLW1lZGl1bSwgdHIuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRyLnNob3ctZm9yLWxhcmdlLW9ubHksIHRyLnNob3ctZm9yLWxhcmdlLXVwLCB0ci5zaG93LWZvci1sYXJnZSwgdHIuc2hvdy1mb3ItbGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXhsYXJnZS11cCwgdHIuaGlkZS1mb3IteGxhcmdlLCB0ci5zaG93LWZvci14bGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14eGxhcmdlLXVwLCB0ci5oaWRlLWZvci14eGxhcmdlLCB0ci5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICB0aC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aC5zaG93LWZvci1zbWFsbC11cCwgdGQuc2hvdy1mb3Itc21hbGwtdXAsIHRoLmhpZGUtZm9yLXNtYWxsLCB0ZC5oaWRlLWZvci1zbWFsbCwgdGguaGlkZS1mb3Itc21hbGwtZG93biwgdGQuaGlkZS1mb3Itc21hbGwtZG93biwgdGguaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aC5zaG93LWZvci1tZWRpdW0tdXAsIHRkLnNob3ctZm9yLW1lZGl1bS11cCwgdGguaGlkZS1mb3ItbWVkaXVtLCB0ZC5oaWRlLWZvci1tZWRpdW0sIHRoLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGguc2hvdy1mb3ItbGFyZ2Utb25seSwgdGQuc2hvdy1mb3ItbGFyZ2Utb25seSwgdGguc2hvdy1mb3ItbGFyZ2UtdXAsIHRkLnNob3ctZm9yLWxhcmdlLXVwLCB0aC5zaG93LWZvci1sYXJnZSwgdGQuc2hvdy1mb3ItbGFyZ2UsIHRoLnNob3ctZm9yLWxhcmdlLWRvd24sIHRkLnNob3ctZm9yLWxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteGxhcmdlLXVwLCB0ZC5oaWRlLWZvci14bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXhsYXJnZSwgdGQuaGlkZS1mb3IteGxhcmdlLCB0aC5zaG93LWZvci14bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14eGxhcmdlLXVwLCB0ZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aC5oaWRlLWZvci14eGxhcmdlLCB0ZC5oaWRlLWZvci14eGxhcmdlLCB0aC5zaG93LWZvci14eGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuLyogeGxhcmdlIGRpc3BsYXlzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSwgLnNob3ctZm9yLXNtYWxsLXVwLCAuaGlkZS1mb3Itc21hbGwsIC5oaWRlLWZvci1zbWFsbC1kb3duLCAuaGlkZS1mb3ItbWVkaXVtLW9ubHksIC5zaG93LWZvci1tZWRpdW0tdXAsIC5oaWRlLWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLmhpZGUtZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLmhpZGUtZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLnNob3ctZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuc2hvdy1mb3IteGxhcmdlLCAuc2hvdy1mb3IteGxhcmdlLWRvd24sIC5oaWRlLWZvci14eGxhcmdlLW9ubHksIC5oaWRlLWZvci14eGxhcmdlLXVwLCAuaGlkZS1mb3IteHhsYXJnZSwgLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5LCAuaGlkZS1mb3Itc21hbGwtdXAsIC5zaG93LWZvci1zbWFsbCwgLnNob3ctZm9yLXNtYWxsLWRvd24sIC5zaG93LWZvci1tZWRpdW0tb25seSwgLmhpZGUtZm9yLW1lZGl1bS11cCwgLnNob3ctZm9yLW1lZGl1bSwgLnNob3ctZm9yLW1lZGl1bS1kb3duLCAuc2hvdy1mb3ItbGFyZ2Utb25seSwgLmhpZGUtZm9yLWxhcmdlLXVwLCAuc2hvdy1mb3ItbGFyZ2UsIC5zaG93LWZvci1sYXJnZS1kb3duLCAuaGlkZS1mb3IteGxhcmdlLW9ubHksIC5oaWRlLWZvci14bGFyZ2UtdXAsIC5oaWRlLWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuaGlkZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLnZpc2libGUtZm9yLXNtYWxsLXVwLCAuaGlkZGVuLWZvci1zbWFsbCwgLmhpZGRlbi1mb3Itc21hbGwtZG93biwgLmhpZGRlbi1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLmhpZGRlbi1mb3ItbWVkaXVtLWRvd24sIC5oaWRkZW4tZm9yLWxhcmdlLW9ubHksIC52aXNpYmxlLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLnZpc2libGUtZm9yLXhsYXJnZS1kb3duLCAuaGlkZGVuLWZvci14eGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXh4bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXh4bGFyZ2UsIC52aXNpYmxlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bzsgfVxuICAudmlzaWJsZS1mb3Itc21hbGwtb25seSwgLmhpZGRlbi1mb3Itc21hbGwtdXAsIC52aXNpYmxlLWZvci1zbWFsbCwgLnZpc2libGUtZm9yLXNtYWxsLWRvd24sIC52aXNpYmxlLWZvci1tZWRpdW0tb25seSwgLmhpZGRlbi1mb3ItbWVkaXVtLXVwLCAudmlzaWJsZS1mb3ItbWVkaXVtLCAudmlzaWJsZS1mb3ItbWVkaXVtLWRvd24sIC52aXNpYmxlLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLnZpc2libGUtZm9yLWxhcmdlLCAudmlzaWJsZS1mb3ItbGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXhsYXJnZS11cCwgLmhpZGRlbi1mb3IteGxhcmdlLCAuaGlkZGVuLWZvci14bGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXh4bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14eGxhcmdlLCAuaGlkZGVuLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgdGFibGUuaGlkZS1mb3Itc21hbGwtb25seSwgdGFibGUuc2hvdy1mb3Itc21hbGwtdXAsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLCB0YWJsZS5oaWRlLWZvci1zbWFsbC1kb3duLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLXVwLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0YWJsZS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci1sYXJnZS11cCwgdGFibGUuaGlkZS1mb3ItbGFyZ2UsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci14bGFyZ2UtdXAsIHRhYmxlLnNob3ctZm9yLXhsYXJnZSwgdGFibGUuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteHhsYXJnZSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoZWFkLnNob3ctZm9yLXNtYWxsLXVwLCB0aGVhZC5oaWRlLWZvci1zbWFsbCwgdGhlYWQuaGlkZS1mb3Itc21hbGwtZG93biwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoZWFkLnNob3ctZm9yLW1lZGl1bS11cCwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGhlYWQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1kb3duLCB0aGVhZC5zaG93LWZvci14bGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLXVwLCB0aGVhZC5zaG93LWZvci14bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3Itc21hbGwtb25seSwgdGJvZHkuc2hvdy1mb3Itc21hbGwtdXAsIHRib2R5LmhpZGUtZm9yLXNtYWxsLCB0Ym9keS5oaWRlLWZvci1zbWFsbC1kb3duLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLXVwLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0Ym9keS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci1sYXJnZS11cCwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UsIHRib2R5LmhpZGUtZm9yLWxhcmdlLWRvd24sIHRib2R5LnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci14bGFyZ2UtdXAsIHRib2R5LnNob3ctZm9yLXhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ci5zaG93LWZvci1zbWFsbC11cCwgdHIuaGlkZS1mb3Itc21hbGwsIHRyLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRyLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ci5zaG93LWZvci1tZWRpdW0tdXAsIHRyLmhpZGUtZm9yLW1lZGl1bSwgdHIuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRyLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRyLnNob3ctZm9yLWxhcmdlLXVwLCB0ci5oaWRlLWZvci1sYXJnZSwgdHIuaGlkZS1mb3ItbGFyZ2UtZG93biwgdHIuc2hvdy1mb3IteGxhcmdlLW9ubHksIHRyLnNob3ctZm9yLXhsYXJnZS11cCwgdHIuc2hvdy1mb3IteGxhcmdlLCB0ci5zaG93LWZvci14bGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14eGxhcmdlLXVwLCB0ci5oaWRlLWZvci14eGxhcmdlLCB0ci5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICB0aC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aC5zaG93LWZvci1zbWFsbC11cCwgdGQuc2hvdy1mb3Itc21hbGwtdXAsIHRoLmhpZGUtZm9yLXNtYWxsLCB0ZC5oaWRlLWZvci1zbWFsbCwgdGguaGlkZS1mb3Itc21hbGwtZG93biwgdGQuaGlkZS1mb3Itc21hbGwtZG93biwgdGguaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aC5zaG93LWZvci1tZWRpdW0tdXAsIHRkLnNob3ctZm9yLW1lZGl1bS11cCwgdGguaGlkZS1mb3ItbWVkaXVtLCB0ZC5oaWRlLWZvci1tZWRpdW0sIHRoLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGguaGlkZS1mb3ItbGFyZ2Utb25seSwgdGQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGguc2hvdy1mb3ItbGFyZ2UtdXAsIHRkLnNob3ctZm9yLWxhcmdlLXVwLCB0aC5oaWRlLWZvci1sYXJnZSwgdGQuaGlkZS1mb3ItbGFyZ2UsIHRoLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRkLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRoLnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0ZC5zaG93LWZvci14bGFyZ2Utb25seSwgdGguc2hvdy1mb3IteGxhcmdlLXVwLCB0ZC5zaG93LWZvci14bGFyZ2UtdXAsIHRoLnNob3ctZm9yLXhsYXJnZSwgdGQuc2hvdy1mb3IteGxhcmdlLCB0aC5zaG93LWZvci14bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14eGxhcmdlLXVwLCB0ZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aC5oaWRlLWZvci14eGxhcmdlLCB0ZC5oaWRlLWZvci14eGxhcmdlLCB0aC5zaG93LWZvci14eGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuLyogeHhsYXJnZSBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5LCAuc2hvdy1mb3Itc21hbGwtdXAsIC5oaWRlLWZvci1zbWFsbCwgLmhpZGUtZm9yLXNtYWxsLWRvd24sIC5oaWRlLWZvci1tZWRpdW0tb25seSwgLnNob3ctZm9yLW1lZGl1bS11cCwgLmhpZGUtZm9yLW1lZGl1bSwgLmhpZGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLnNob3ctZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuaGlkZS1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5oaWRlLWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXNtYWxsLW9ubHksIC5oaWRlLWZvci1zbWFsbC11cCwgLnNob3ctZm9yLXNtYWxsLCAuc2hvdy1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuaGlkZS1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5zaG93LWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5zaG93LWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5zaG93LWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLnNob3ctZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5oaWRlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZGVuLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLmhpZGRlbi1mb3ItbWVkaXVtLCAuaGlkZGVuLWZvci1tZWRpdW0tZG93biwgLmhpZGRlbi1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAuaGlkZGVuLWZvci1sYXJnZSwgLmhpZGRlbi1mb3ItbGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvOyB9XG4gIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAuaGlkZGVuLWZvci1zbWFsbC11cCwgLnZpc2libGUtZm9yLXNtYWxsLCAudmlzaWJsZS1mb3Itc21hbGwtZG93biwgLnZpc2libGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC52aXNpYmxlLWZvci1tZWRpdW0tZG93biwgLnZpc2libGUtZm9yLWxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLnZpc2libGUtZm9yLXhsYXJnZS1kb3duLCAuaGlkZGVuLWZvci14eGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXh4bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXh4bGFyZ2UsIC5oaWRkZW4tZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDsgfVxuICB0YWJsZS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0YWJsZS5zaG93LWZvci1zbWFsbC11cCwgdGFibGUuaGlkZS1mb3Itc21hbGwsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0YWJsZS5zaG93LWZvci1tZWRpdW0tdXAsIHRhYmxlLmhpZGUtZm9yLW1lZGl1bSwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRhYmxlLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLWxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci1sYXJnZSwgdGFibGUuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLXhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteGxhcmdlLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UtZG93biwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci14eGxhcmdlLXVwLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuaGlkZS1mb3Itc21hbGwtb25seSwgdGhlYWQuc2hvdy1mb3Itc21hbGwtdXAsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLCB0aGVhZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci1sYXJnZS11cCwgdGhlYWQuaGlkZS1mb3ItbGFyZ2UsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci14bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXhsYXJnZSwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLWRvd24sIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS11cCwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0Ym9keS5zaG93LWZvci1zbWFsbC11cCwgdGJvZHkuaGlkZS1mb3Itc21hbGwsIHRib2R5LmhpZGUtZm9yLXNtYWxsLWRvd24sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0Ym9keS5zaG93LWZvci1tZWRpdW0tdXAsIHRib2R5LmhpZGUtZm9yLW1lZGl1bSwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRib2R5LmhpZGUtZm9yLWxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLWxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci1sYXJnZSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLXhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UtZG93biwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci14eGxhcmdlLXVwLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRyLnNob3ctZm9yLXNtYWxsLXVwLCB0ci5oaWRlLWZvci1zbWFsbCwgdHIuaGlkZS1mb3Itc21hbGwtZG93biwgdHIuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRyLnNob3ctZm9yLW1lZGl1bS11cCwgdHIuaGlkZS1mb3ItbWVkaXVtLCB0ci5oaWRlLWZvci1tZWRpdW0tZG93biwgdHIuaGlkZS1mb3ItbGFyZ2Utb25seSwgdHIuc2hvdy1mb3ItbGFyZ2UtdXAsIHRyLmhpZGUtZm9yLWxhcmdlLCB0ci5oaWRlLWZvci1sYXJnZS1kb3duLCB0ci5oaWRlLWZvci14bGFyZ2Utb25seSwgdHIuc2hvdy1mb3IteGxhcmdlLXVwLCB0ci5oaWRlLWZvci14bGFyZ2UsIHRyLmhpZGUtZm9yLXhsYXJnZS1kb3duLCB0ci5zaG93LWZvci14eGxhcmdlLW9ubHksIHRyLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRyLnNob3ctZm9yLXh4bGFyZ2UsIHRyLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIHRoLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoLnNob3ctZm9yLXNtYWxsLXVwLCB0ZC5zaG93LWZvci1zbWFsbC11cCwgdGguaGlkZS1mb3Itc21hbGwsIHRkLmhpZGUtZm9yLXNtYWxsLCB0aC5oaWRlLWZvci1zbWFsbC1kb3duLCB0ZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoLnNob3ctZm9yLW1lZGl1bS11cCwgdGQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aC5oaWRlLWZvci1tZWRpdW0sIHRkLmhpZGUtZm9yLW1lZGl1bSwgdGguaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aC5zaG93LWZvci1sYXJnZS11cCwgdGQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoLmhpZGUtZm9yLWxhcmdlLCB0ZC5oaWRlLWZvci1sYXJnZSwgdGguaGlkZS1mb3ItbGFyZ2UtZG93biwgdGQuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGguaGlkZS1mb3IteGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aC5zaG93LWZvci14bGFyZ2UtdXAsIHRkLnNob3ctZm9yLXhsYXJnZS11cCwgdGguaGlkZS1mb3IteGxhcmdlLCB0ZC5oaWRlLWZvci14bGFyZ2UsIHRoLmhpZGUtZm9yLXhsYXJnZS1kb3duLCB0ZC5oaWRlLWZvci14bGFyZ2UtZG93biwgdGguc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0ZC5zaG93LWZvci14eGxhcmdlLW9ubHksIHRoLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRkLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRoLnNob3ctZm9yLXh4bGFyZ2UsIHRkLnNob3ctZm9yLXh4bGFyZ2UsIHRoLnNob3ctZm9yLXh4bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBPcmllbnRhdGlvbiB0YXJnZXRpbmcgKi9cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbnRhYmxlLmhpZGUtZm9yLWxhbmRzY2FwZSwgdGFibGUuc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG5cbnRoZWFkLmhpZGUtZm9yLWxhbmRzY2FwZSwgdGhlYWQuc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuXG50Ym9keS5oaWRlLWZvci1sYW5kc2NhcGUsIHRib2R5LnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cblxudHIuaGlkZS1mb3ItbGFuZHNjYXBlLCB0ci5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG5cbnRkLmhpZGUtZm9yLWxhbmRzY2FwZSwgdGQuc2hvdy1mb3ItcG9ydHJhaXQsXG50aC5oaWRlLWZvci1sYW5kc2NhcGUsXG50aC5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZS5zaG93LWZvci1sYW5kc2NhcGUsIHRhYmxlLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLWxhbmRzY2FwZSwgdGhlYWQuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLWxhbmRzY2FwZSwgdGJvZHkuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLWxhbmRzY2FwZSwgdHIuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLWxhbmRzY2FwZSwgdGQuaGlkZS1mb3ItcG9ydHJhaXQsXG4gIHRoLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgdGguaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuc2hvdy1mb3ItcG9ydHJhaXQsXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcG9ydHJhaXQsXG4gIC5zaG93LWZvci1sYW5kc2NhcGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgdGFibGUuc2hvdy1mb3ItcG9ydHJhaXQsIHRhYmxlLmhpZGUtZm9yLWxhbmRzY2FwZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wb3J0cmFpdCwgdGhlYWQuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wb3J0cmFpdCwgdGJvZHkuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wb3J0cmFpdCwgdHIuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wb3J0cmFpdCwgdGQuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICB0aC5zaG93LWZvci1wb3J0cmFpdCxcbiAgdGguaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUb3VjaC1lbmFibGVkIGRldmljZSB0YXJnZXRpbmcgKi9cbi5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLnRvdWNoIC5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuXG4udG91Y2ggLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xudGFibGUuaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCB0YWJsZS5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cblxudGhlYWQuaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuXG4udG91Y2ggdGhlYWQuc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuXG50Ym9keS5oaWRlLWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCB0Ym9keS5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG5cbnRyLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cblxuLnRvdWNoIHRyLnNob3ctZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cblxudGQuaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuLnRvdWNoIHRkLnNob3ctZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbnRoLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCB0aC5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4vKiBTY3JlZW4gcmVhZGVyLXNwZWNpZmljIGNsYXNzZXMgKi9cbi5zaG93LWZvci1zciB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4OyB9XG5cbi5zaG93LW9uLWZvY3VzIHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7IH1cbiAgLnNob3ctb24tZm9jdXM6Zm9jdXMsIC5zaG93LW9uLWZvY3VzOmFjdGl2ZSB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvOyB9XG5cbi8qIFByaW50IHZpc2liaWxpdHkgKi9cbi5wcmludC1vbmx5LFxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5wcmludC1vbmx5LFxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtb24tcHJpbnQsXG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbmh0bWwge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRUFGOUNBOyB9XG5cbmJvZHkge1xuICAvKmJhY2tncm91bmQ6ICNFQUY5Q0E7Ki9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjQzNFODdBIDAlLCAjRUFGOUNBIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjQzNFODdBKSwgY29sb3Itc3RvcCgxMDAlLCAjRUFGOUNBKSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI0MzRTg3QSAwJSwgI0VBRjlDQSAxMDAlKTtcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI0MzRTg3QSAwJSwgI0VBRjlDQSAxMDAlKTtcbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNDM0U4N0EgMCUsICNFQUY5Q0EgMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNDM0U4N0EgMCUsICNFQUY5Q0EgMTAwJSk7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjQzNFODdBJywgZW5kQ29sb3JzdHI9JyNFQUY5Q0EnLEdyYWRpZW50VHlwZT0wICk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnJvdyB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnJpZ2h0LWJvcmRlciB7XG4gIGJvcmRlci1yaWdodDogZG90dGVkIDFweCAjYzBjMGMwOyB9XG5cbi50b3AtYmFyIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAycHggMnB4IDVweCAwcHggcmdiYSg1MCwgNTAsIDUwLCAwLjc1KTtcbiAgLW1vei1ib3gtc2hhZG93OiAycHggMnB4IDVweCAwcHggcmdiYSg1MCwgNTAsIDUwLCAwLjc1KTtcbiAgYm94LXNoYWRvdzogMnB4IDJweCA1cHggMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAzcHggM3B4IDVweCAtM3B4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7XG4gIC1tb3otYm94LXNoYWRvdzogM3B4IDNweCA1cHggLTNweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpO1xuICBib3gtc2hhZG93OiAzcHggM3B4IDVweCAtM3B4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7IH1cblxuLnRvcC1iYXIgdWwgPiBsaS5oYXMtZHJvcGRvd24gYTphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogIzIyMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4udG9wLWJhciB1bCA+IGxpLmhhcy1kcm9wZG93bjpob3ZlciBhOmFmdGVyLCAudG9wLWJhciB1bCA+IGxpLmhhcy1kcm9wZG93bi5hY3RpdmUgYTphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4udG9wLWJhciB1bCA+IGxpLnRvZ2dsZS10b3BiYXIgYSB7XG4gIGJvcmRlci1jb2xvcjogIzIyMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC50b3AtYmFyLXNlY3Rpb24gbGk6bm90KC5oYXMtZm9ybSkgYTpub3QoLmJ1dHRvbikge1xuICAgIHBhZGRpbmc6IDAgMTJweDsgfSB9XG5cbi5idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbSAwLjU2MjVyZW0gMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MCwgNTAsIDI1NSwgMC43KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDI0NCwgMC43KTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlLW91dDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDI0NCwgMC43KTsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uaW5saW5lLWxpc3QgPiBsaSBoMyB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZG90LXdoaXRlLnBuZykgMCUgNTAlIG5vLXJlcGVhdDtcbiAgLypwYWRkaW5nLWxlZnQ6IDE4cHg7Ki8gfVxuXG4jbWFpbiB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICAvKlxuXHQtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCAwcHggcmdiYSg1MCwgNTAsIDUwLCAwLjIpO1xuXHRib3gtc2hhZG93OiAgICAgICAgIDBweCAwcHggMTBweCAwcHggcmdiYSg1MCwgNTAsIDUwLCAwLjIpO1xuKi9cbiAgLypcbi13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuNzUpO1xuLW1vei1ib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XG5ib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XG4qLyB9XG5cbmhyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUyMDBmZjsgfVxuXG5oMyB7XG4gIGNvbG9yOiAjMDA2MDAwOyB9XG5cbi5pbWdsZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAxMHB4IDVweCAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTBlbSkge1xuICAgIC5pbWdsZWZ0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byA1cHggYXV0bzsgfSB9XG5cbi5pbWdyaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwIDAgNXB4IDEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MGVtKSB7XG4gICAgLmltZ3JpZ2h0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byA1cHggYXV0bzsgfSB9XG5cbi5pbWctc2hhZG93IHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzg4ODtcbiAgLW1vei1ib3gtc2hhZG93OiA0cHggNHB4IDZweCAwcHggIzg4ODtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiA0cHggNHB4IDZweCAwcHggIzg4ODtcbiAgYm94LXNoYWRvdzogNHB4IDRweCA2cHggMHB4ICM4ODg7IH1cblxuLmNsZWFyZmxvYXRzIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmNsZWFycmlnaHQge1xuICBjbGVhcjogcmlnaHQ7IH1cblxuLmNsZWFybGVmdCB7XG4gIGNsZWFyOiBsZWZ0OyB9XG5cbmEubWluZm8ge1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVlO1xuICBwYWRkaW5nOiA0cHg7XG4gIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNhYWFhYWE7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjYWFhYWFhO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDZlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5hLnNlb2xpbms6bGluaywgYS5zZW9saW5rOnZpc2l0ZWQsIGEuc2VvbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIGZpZ3VyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gNXB4IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbmZpZ3VyZS5jYXB0aW9ub3ZlcnRvcCwgZmlndXJlLmNhcHRpb25vdmVyYm90dG9tIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmZpZ2NhcHRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbmZpZ3VyZS5jYXB0aW9ub3ZlcnRvcCBmaWdjYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDAuOCk7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbmZpZ3VyZS5jYXB0aW9ub3ZlcmJvdHRvbSBmaWdjYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDBweDtcbiAgbGVmdDogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDAuOCk7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi8qXG4qICByZXNwb25zaXZlIHRvb2x0aXBcbiovXG4jdG9vbHRpcCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjMTExO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDtcbiAgcGFkZGluZzogMTVweDtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbiN0b29sdGlwOmFmdGVyIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjMTExO1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuXG4jdG9vbHRpcC50b3A6YWZ0ZXIge1xuICAvKmJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OyovXG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgIzExMTtcbiAgLyp0b3A6IC0yMHB4OyovXG4gIHRvcDogLTEwcHg7XG4gIGJvdHRvbTogYXV0bzsgfVxuXG4jdG9vbHRpcC5sZWZ0OmFmdGVyIHtcbiAgbGVmdDogMTBweDtcbiAgbWFyZ2luOiAwOyB9XG5cbiN0b29sdGlwLnJpZ2h0OmFmdGVyIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbjogMDsgfVxuXG4jdG9vbHRpcCBzdXAge1xuICBmb250LXNpemU6IDcwJTtcbiAgcGFkZGluZy1yaWdodDogM3B4OyB9XG5cbi50b2dnbGUtdmlldyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAudG9nZ2xlLXZpZXcgPiBsaSB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMTBweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAudG9nZ2xlLXZpZXcgPiBsaSBoNiB7XG4gICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgICBjb2xvcjogIzAxNzFhMzsgfVxuICAgIC50b2dnbGUtdmlldyA+IGxpIHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDVweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGNvbG9yOiAjMDE3MWEzO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAudG9nZ2xlLXZpZXcgPiBsaSAuYW5zIHtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5hdHRlbnRpb24ge1xuICAvKlxuXHRiYWNrZ3JvdW5kOiAjMDA2MDAwO1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMwMGZjMDAgMCUsICMwMDYwMDAgMTAwJSk7XG5cdGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjMDBmYzAwKSwgY29sb3Itc3RvcCgxMDAlLCAjMDA2MDAwKSk7XG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzAwZmMwMCAwJSwgIzAwNjAwMCAxMDAlKTtcblx0YmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzAwZmMwMCAwJSwgIzAwNjAwMCAxMDAlKTtcblx0YmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICMwMGZjMDAgMCUsICMwMDYwMDAgMTAwJSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwMGZjMDAgMCUsICMwMDYwMDAgMTAwJSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDBmYzAwJywgZW5kQ29sb3JzdHI9JyMwMDYwMDAnLCBHcmFkaWVudFR5cGU9MCApO1xuKi9cbiAgbWFyZ2luOiAwIC0xLjA2MjVyZW0gMS4yNXJlbSAtMS4wNjI1cmVtO1xuICBwYWRkaW5nOiAwIDEuMDYyNXJlbSAwLjMxMjVyZW0gMS4wNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmF0dGVudGlvbiBoMSB7XG4gICAgLypjb2xvcjogI2ZmZmZmZjsqL1xuICAgIGNvbG9yOiAjMjIyMjIyOyB9XG4gIC5hdHRlbnRpb24gaDMge1xuICAgIC8qY29sb3I6ICNmZmZmZmY7Ki9cbiAgICBjb2xvcjogIzAwNjAwMDsgfVxuXG4ucGFuZWwge1xuICBib3JkZXItY29sb3I6ICMwMDYwMDA7IH1cblxuLnBhbmVsIGg1IHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6ICMwMDYwMDA7XG4gIG1hcmdpbjogLTEuMzEyNXJlbSAtMS4zMTI1cmVtIDAuNjI1cmVtIC0xLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgLXdlYmtpdC10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgLXdlYmtpdC10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDsgfVxuXG4ucGFuZWwubGlnaHRncmVlbiB7XG4gIGJhY2tncm91bmQ6ICNFQUY5Q0E7XG4gIGJvcmRlci13aWR0aDogM3B4OyB9XG4gIC5wYW5lbC5saWdodGdyZWVuIHAge1xuICAgIGNvbG9yOiAjMDA2MDAwOyB9XG5cbi5jb250YWluLXRvLWdyaWQge1xuICBiYWNrZ3JvdW5kOiAjQzNFODdBOyB9XG5cbi5mZWF0dXJlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZjYzsgfVxuICAuZmVhdHVyZSBoMyBhIHtcbiAgICBjb2xvcjogIzAwNjAwMDsgfVxuICAuZmVhdHVyZSBoMyBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzhmMjQyNDsgfVxuXG4jZm9vdGVyIC5wYW5lbCB7XG4gIC8qIGJhY2tncm91bmQ6ICNlZWVlZWU7ICovXG4gIC8qIGJvcmRlci1jb2xvcjogI2VlZWVlZTsgKi9cbiAgYmFja2dyb3VuZDogI2RkZGRkZDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gIC8qXG5cdC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDBweCByZ2JhKDUwLCA1MCwgNTAsIDAuMik7XG5cdGJveC1zaGFkb3c6ICAgICAgICAgMHB4IDBweCAxMHB4IDBweCByZ2JhKDUwLCA1MCwgNTAsIDAuMik7XG4qLyB9XG5cbiNmb290ZXIgLmNvbnRhY3Qge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4jZm9vdGVyIC5jb250YWN0LCAjZm9vdGVyIC5ob3N0aW5nIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cblxuI3NtYXJ0cGhvbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyNjNweDtcbiAgaGVpZ2h0OiA1MDhweDtcbiAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvOyB9XG5cbiNzbWFydHBob25lID4gaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICB6LWluZGV4OiAxOyB9XG5cbiNzbWFydHBob25lIGRpdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4NXB4O1xuICBsZWZ0OiAxN3B4O1xuICB3aWR0aDogMjMxcHg7XG4gIGhlaWdodDogMzM5cHg7IH1cblxuI3NtYXJ0cGhvbmUgZGl2IGEgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICBkaXNwbGF5OiBoaWRkZW47XG4gIHotaW5kZXg6IDc7IH1cblxuI3NtYXJ0cGhvbmUgZGl2IGEuYWN0aXZlIGltZyB7XG4gIHotaW5kZXg6IDk7IH1cblxuI3NtYXJ0cGhvbmUgZGl2IGEubmV4dC1hY3RpdmUgaW1nIHtcbiAgei1pbmRleDogODsgfVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEJsb2NrIEdyaWQgVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcbiRpbmNsdWRlLXhsLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWF4aW11bSBudW1iZXIgb2YgYmxvY2sgZ3JpZCBlbGVtZW50cyBwZXIgcm93XG4kYmxvY2stZ3JpZC1lbGVtZW50czogMTIgIWRlZmF1bHQ7XG4kYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZDogZmFsc2UgIWRlZmF1bHQ7XG5AaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XG4gICRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZzogJGNvbHVtbi1ndXR0ZXI7XG59XG5cbi8vIEVuYWJsZXMgbWVkaWEgcXVlcmllcyBmb3IgYmxvY2stZ3JpZCBjbGFzc2VzLiBTZXQgdG8gZmFsc2UgaWYgd3JpdGluZyBzZW1hbnRpYyBIVE1MLlxuJGJsb2NrLWdyaWQtbWVkaWEtcXVlcmllczogdHJ1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIEJsb2NrIEdyaWQgTWl4aW5zXG4vL1xuXG4vLyBDcmVhdGUgYSBjdXN0b20gYmxvY2sgZ3JpZFxuLy9cbi8vICRwZXItcm93IC0gIyBvZiBpdGVtcyB0byBkaXNwbGF5IHBlciByb3cuIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHNwYWNpbmcgLSAjIG9mIGVtcyB0byB1c2UgYXMgcGFkZGluZyBvbiBlYWNoIGJsb2NrIGl0ZW0uIERlZmF1bHQ6IHJlbS1jYWxjKDIwKS5cbi8vICRpbmNsdWRlLXNwYWNpbmcgLSBBZGRzIHBhZGRpbmcgdG8gb3VyIGxpc3QgaXRlbS4gRGVmYXVsdDogdHJ1ZS5cbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYSBiYXNlIHN0eWxlIHRvIGJsb2NrIGdyaWQuIERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gYmxvY2stZ3JpZChcbiAgJHBlci1yb3c6ZmFsc2UsXG4gICRzcGFjaW5nOiRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZyxcbiAgJGluY2x1ZGUtc3BhY2luZzp0cnVlLFxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbjogMCAoLSRzcGFjaW5nLzIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBAaWYgJGluY2x1ZGUtc3BhY2luZyB7XG4gICAgICAgIHBhZGRpbmc6IDAgKCRzcGFjaW5nLzIpICRzcGFjaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGVyLXJvdyB7XG4gICAgPiBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGlmICRpbmNsdWRlLXNwYWNpbmcge1xuICAgICAgICBwYWRkaW5nOiAwICgkc3BhY2luZy8yKSAkc3BhY2luZztcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlLyRwZXItcm93O1xuXG4gICAgICAmOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG4gICAgICAmOm50aC1vZi10eXBlKCN7JHBlci1yb3d9bisxKSB7IGNsZWFyOiBib3RoOyB9XG4gICAgICBAaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtYWxpZ25lZCgkcGVyLXJvdywgJHNwYWNpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmxvY2stZ3JpZC1hbGlnbmVkKCRwZXItcm93LCAkc3BhY2luZykge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLWVsZW1lbnRzIHtcbiAgICBAaWYgJHBlci1yb3cgPj0gJGkge1xuICAgICAgJGdyaWQtY29sdW1uOiAnKycgKyAkaTtcbiAgICAgIEBpZiAkcGVyLXJvdyA9PSAkaSB7XG4gICAgICAgICRncmlkLWNvbHVtbjogJyc7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKCN7JHBlci1yb3d9biN7dW5xdW90ZSgkZ3JpZC1jb2x1bW4pfSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICgkc3BhY2luZyAtICgoJHNwYWNpbmcgLyAkcGVyLXJvdykgKiAoJHBlci1yb3cgLSAoJGkgLSAxKSkpKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogKCRzcGFjaW5nIC0gKCgkc3BhY2luZyAvICRwZXItcm93KSAqICRpKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEdlbmVyYXRlIHByZXNlbnRhdGlvbmFsIG1hcmt1cCBmb3IgYmxvY2sgZ3JpZC5cbi8vXG4vLyAkc2l6ZSAtIE5hbWUgb2YgY2xhc3MgdG8gdXNlLCBpLmUuIFwibGFyZ2VcIiB3aWxsIGdlbmVyYXRlIC5sYXJnZS1ibG9jay1ncmlkLTEsIC5sYXJnZS1ibG9jay1ncmlkLTIsIGV0Yy5cbkBtaXhpbiBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZSwgJGluY2x1ZGUtc3BhY2luZykge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLWVsZW1lbnRzIHtcbiAgICAuI3skc2l6ZX0tYmxvY2stZ3JpZC0jeygkaSl9IHtcbiAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQoJGksICRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZywgJGluY2x1ZGUtc3BhY2luZywgZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYmxvY2stZ3JpZFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlcyB7XG5cbiAgICBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0geyBAaW5jbHVkZSBibG9jay1ncmlkOyB9XG5cbiAgICBAaWYgJGJsb2NrLWdyaWQtbWVkaWEtcXVlcmllcyB7XG4gICAgICBAbWVkaWEgI3skc21hbGwtdXB9IHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6c21hbGwsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOm1lZGl1bSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlcyB7XG4gICAgICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9IHtcbiAgICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JHh4bGFyZ2UtdXB9IHtcbiAgICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4eGxhcmdlLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEJyZWFkY3J1bWIgVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBicmVhZGNydW1iIGNvbnRhaW5lci5cbiRjcnVtYi1iZzogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNTUlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgcGFkZGluZyBhcm91bmQgdGhlIGJyZWFkY3J1bWJzLlxuJGNydW1iLXBhZGRpbmc6IHJlbS1jYWxjKDkgMTQgOSkgIWRlZmF1bHQ7XG4kY3J1bWItc2lkZS1wYWRkaW5nOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXMuXG4kY3J1bWItZnVuY3Rpb24tZmFjdG9yOiAtMTAlICFkZWZhdWx0O1xuJGNydW1iLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kY3J1bWItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRjcnVtYi1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjcnVtYi1iZywgJGxpZ2h0bmVzczogJGNydW1iLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kY3J1bWItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB2YXJpb3VzIHRleHQgc3R5bGVzIGZvciBicmVhZGNydW1icy5cbiRjcnVtYi1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcbiRjcnVtYi1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ6ICRvaWwgIWRlZmF1bHQ7XG4kY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTogJGFsdW1pbnVtICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kY3J1bWItbGluay1kZWNvcjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1ic1xuJGNydW1iLXNsYXNoLWNvbG9yOiAkYmFzZSAhZGVmYXVsdDtcbiRjcnVtYi1zbGFzaDogXCIvXCIgIWRlZmF1bHQ7XG4kY3J1bWItc2xhc2gtcG9zaXRpb246IDFweCAhZGVmYXVsdDtcblxuLy9cbi8vIEJyZWFkY3J1bWIgTWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBjb250YWluZXIgYXJvdW5kIG91ciBicmVhZGNydW1ic1xuQG1peGluIGNydW1iLWNvbnRhaW5lciB7XG4gIGJvcmRlci1zdHlsZTogJGNydW1iLWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAkY3J1bWItYm9yZGVyLXNpemU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6ICRjcnVtYi1wYWRkaW5nO1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBhbmQgYm9yZGVyIGNvbWUgdGhyb3VnaC5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGNydW1iLWJnO1xuICBib3JkZXItY29sb3I6ICRjcnVtYi1ib3JkZXItY29sb3I7XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBicmVhZGNydW1iIHN0eWxlcyBmcm9tIGxpc3QgaXRlbXMuXG5AbWl4aW4gY3J1bWJzIHtcblxuICAvLyBBIG5vcm1hbCBzdGF0ZSB3aWxsIG1ha2UgdGhlIGxpbmtzIGxvb2sgYW5kIGFjdCBsaWtlIGNsaWNrYWJsZSBicmVhZGNydW1icy5cbiAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yO1xuICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gIGZvbnQtc2l6ZTogJGNydW1iLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjcnVtYi1mb250LXNpemU7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06ICRjcnVtYi1mb250LXRyYW5zZm9ybTtcblxuICAmOmhvdmVyIGEsICY6Zm9jdXMgYSB7IHRleHQtZGVjb3JhdGlvbjogJGNydW1iLWxpbmstZGVjb3I7IH1cblxuICBhIHtcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBDdXJyZW50IGlzIGZvciB0aGUgbGluayBvZiB0aGUgY3VycmVudCBwYWdlXG4gICYuY3VycmVudCB7XG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgIH1cblxuICAgICY6aG92ZXIsICY6aG92ZXIgYSxcbiAgICAmOmZvY3VzLCAmOmZvY3VzIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgfVxuXG4gIC8vIFVuYXZhaWxhYmxlIHJlbW92ZWQgY29sb3IgYW5kIGxpbmsgc3R5bGVzIHNvIGl0IGxvb2tzIGluYWN0aXZlLlxuICAmLnVuYXZhaWxhYmxlIHtcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU7XG4gICAgYSB7IGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTsgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmhvdmVyIGEsXG4gICAgJjpmb2N1cyxcbiAgICBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29sb3I6ICRjcnVtYi1zbGFzaC1jb2xvcjtcbiAgICBjb250ZW50OiBcIiN7JGNydW1iLXNsYXNofVwiO1xuICAgIG1hcmdpbjogMCAkY3J1bWItc2lkZS1wYWRkaW5nO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6ICRjcnVtYi1zbGFzaC1wb3NpdGlvbjtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJyZWFkY3J1bWJzXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBAaW5jbHVkZSBjcnVtYi1jb250YWluZXI7XG4gICAgICBAaW5jbHVkZSByYWRpdXMoJGNydW1iLXJhZGl1cyk7XG5cbiAgICAgID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIGNydW1icztcbiAgICAgIH1cbiAgICB9XG4gICAgLyogQWNjZXNzaWJpbGl0eSAtIGhpZGVzIHRoZSBmb3J3YXJkIHNsYXNoICovXG4gICAgW2FyaWEtbGFiZWw9XCJicmVhZGNydW1ic1wiXSBbYXJpYS1oaWRkZW49XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zLlxuJGJ1dHRvbi10bnk6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRidXR0b24tc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kYnV0dG9uLW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1scmc6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGlzcGxheSBwcm9wZXJ0eS5cbiRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xuJGJ1dHRvbi1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiB0ZXh0IHN0eWxlcy5cbiRidXR0b24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXRueTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNtbDogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWxyZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGhvdmVyIGVmZmVjdHMuXG4kYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogLTIwJSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYnV0dG9uIGJvcmRlciBzdHlsZXMuXG4kYnV0dG9uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRidXR0b24tYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItY29sb3I6ICRidXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYnV0dG9uLWJnLWNvbG9yOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Y2Nlc3MtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3I6ICRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYmctY29sb3I6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3I6ICRhbGVydC1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYmctY29sb3I6ICR3YXJuaW5nLWNvbG9yICFkZWZhdWx0O1xuJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcjogJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJGluZm8tYnV0dG9uLWJnLWNvbG9yOiAkaW5mby1jb2xvciAhZGVmYXVsdDtcbiRpbmZvLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGluZm8tY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3I6ICRpbmZvLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kYnV0dG9uLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgYnV0dG9ucy5cbiRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGJ1dHRvbiBiYXNlLlxuLy9cbi8vICRzdHlsZSAtIFNldHMgYmFzZSBzdHlsZXMuIENhbiBiZSBzZXQgdG8gZmFsc2UuIERlZmF1bHQ6IHRydWUuXG4vLyAkZGlzcGxheSAtIFVzZWQgdG8gY29udHJvbCBkaXNwbGF5IHByb3BlcnR5LiBEZWZhdWx0OiAkYnV0dG9uLWRpc3BsYXkgfHwgaW5saW5lLWJsb2NrXG5cbkBtaXhpbiBidXR0b24tYmFzZSgkc3R5bGU6dHJ1ZSwgJGRpc3BsYXk6JGJ1dHRvbi1kaXNwbGF5KSB7XG4gIEBpZiAkc3R5bGUge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czowO1xuICAgIGJvcmRlci1zdHlsZTogJGJ1dHRvbi1ib3JkZXItc3R5bGU7XG4gICAgYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMCAwICRidXR0b24tbWFyZ2luLWJvdHRvbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogJGJ1dHRvbi1mb250LWFsaWduO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBAaWYgJGRpc3BsYXkgeyBkaXNwbGF5OiAkZGlzcGxheTsgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYnV0dG9uIHNpemUgc3R5bGVzXG4vL1xuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMgRGVmYXVsdDogJGJ1dHRvbi1tZWQgfHw9IHJlbS1jYWxjKDEyKVxuLy8gJGZ1bGwtd2lkdGggLSBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGggLSBEZWZhdWx0OiBmYWxzZVxuXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1tZWQsICRmdWxsLXdpZHRoOmZhbHNlKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBwYWRkaW5nIHN0eWxlcyBjb21lIHRocm91Z2gsXG4gIC8vIHRoZXNlIGNhbiBiZSB0dXJuZWQgb2ZmIGJ5IHNldHRpbmcgJHBhZGRpbmc6ZmFsc2VcbiAgQGlmICRwYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZyAoJHBhZGRpbmcgKiAyKSAoJHBhZGRpbmcgKyByZW0tY2FsYygxKSkgKCRwYWRkaW5nICogMik7XG4gICAgLy8gV2UgY29udHJvbCB0aGUgZm9udC1zaXplIGJhc2VkIG9uIG1peGluIGlucHV0LlxuICAgIEBpZiAgICAgICRwYWRkaW5nID09ICRidXR0b24tbWVkIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtbWVkOyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi10bnkgeyBmb250LXNpemU6ICRidXR0b24tZm9udC10bnk7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLXNtbCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNtbDsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tbHJnIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtbHJnOyB9XG4gIH1cblxuICAvLyBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGguXG4gIEBpZiAkZnVsbC13aWR0aCB7XG4gICAgLy8gV2Ugc3RpbGwgbmVlZCB0byBjaGVjayBpZiAkcGFkZGluZyBpcyBzZXQuXG4gICAgQGlmICRwYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyArIHJlbS1jYWxjKDEpO1xuICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICAgIH0gQGVsc2UgaWYgJHBhZGRpbmcgPT0gZmFsc2Uge1xuICAgICAgcGFkZGluZy1ib3R0b206MDtcbiAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgfVxuICAgIHBhZGRpbmctbGVmdDogJGJ1dHRvbi1tZWQ7XG4gICAgcGFkZGluZy1yaWdodDogJGJ1dHRvbi1tZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gd2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBidXR0b24gaG92ZXIgYW5kIGJvcmRlciBjb2xvcnNcblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBjb2xvciBzdHlsZXNcbi8vXG4vLyAkYmcgLSBCYWNrZ3JvdW5kIGNvbG9yLiBXZSBjYW4gc2V0ICRiZzpmYWxzZSBmb3IgYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gYnV0dG9uIHJhZGl1cyB3aGljaCBpcyAkYnV0dG9uLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDogZmFsc2Vcbi8vICRkaXNhYmxlZCAtIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGJnLWhvdmVyIC0gQnV0dG9uIEhvdmVyIEJhY2tncm91bmQgQ29sb3IuIERlZmF1bHQ6ICRidXR0b24tYmctaG92ZXJcbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yLiBEZWZhdWx0OiAkYnV0dG9uLWJvcmRlci1jb2xvclxuQG1peGluIGJ1dHRvbi1zdHlsZSgkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGRpc2FibGVkOmZhbHNlLCAkYmctaG92ZXI6bnVsbCwgJGJvcmRlci1jb2xvcjpudWxsKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIHN0eWxlcyBhcmUgdXNlZCxcbiAgLy8gdGhlc2UgY2FuIGJlIHJlbW92ZWQgYnkgc2V0dGluZyAkYmc6ZmFsc2VcbiAgQGlmICRiZyB7XG5cbiAgICBAaWYgJGJnLWhvdmVyID09IG51bGwge1xuICAgICAgJGJnLWhvdmVyOiBpZigkYmcgPT0gJGJ1dHRvbi1iZy1jb2xvciwgJGJ1dHRvbi1iZy1ob3Zlciwgc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikpO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyLWNvbG9yID09IG51bGwge1xuICAgICAgJGJvcmRlci1jb2xvcjogaWYoJGJnID09ICRidXR0b24tYmctY29sb3IsICRidXR0b24tYm9yZGVyLWNvbG9yLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgICAkYmctaG92ZXItbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnLWhvdmVyKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnLWhvdmVyOyB9XG5cbiAgICAvLyBXZSBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGZvciB5b3UgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICAgY29sb3I6IGlmKCRiZy1saWdodG5lc3MgPiA3MCUsICRidXR0b24tZm9udC1jb2xvci1hbHQsICRidXR0b24tZm9udC1jb2xvcik7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IGlmKCRiZy1ob3Zlci1saWdodG5lc3MgPiA3MCUsICRidXR0b24tZm9udC1jb2xvci1hbHQsICRidXR0b24tZm9udC1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uXG4gIEBpZiAkZGlzYWJsZWQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY3Vyc29yOiAkYnV0dG9uLWRpc2FibGVkLWN1cnNvcjtcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnOyB9XG4gIH1cblxuICAvLyBXZSBjYW4gY29udHJvbCBob3cgbXVjaCBidXR0b24gcmFkaXVzIGlzIHVzZWQuXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJGJ1dHRvbi1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBidXR0b25zIHdpdGggYSBzaW5nbGUgbWl4aW4uIEFzIEBqYXJlZGhhcmR5IHB1dHMgaXQsIFwidGhlIGtpdGNoZW4gc2luayBtaXhpblwiXG4vL1xuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMgRGVmYXVsdDogJGJ1dHRvbi1tZWQgfHw9IHJlbS1jYWxjKDEyKVxuLy8gJGJnIC0gUHJpbWFyeSBjb2xvciBzZXQgaW4gc2V0dGluZ3MgZmlsZS4gRGVmYXVsdDogJGJ1dHRvbi1iZy5cbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gYnV0dG9uIHJhZGl1cyB3aGljaCBpcyAkZ2xvYmFsLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDpmYWxzZS5cbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGRpc2FibGVkIC0gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uIERlZmF1bHQ6ZmFsc2UuXG4vLyAkaXMtcHJlZml4IC0gTm90IHVzZWQ/IERlZmF1bHQ6ZmFsc2UuXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQ29sb3IgLSBEZWZhdWx0IG51bGwgLSBzZWUgYnV0dG9uLXN0eWxlIG1peGluXG4vLyAkYm9yZGVyLWNvbG9yIC0gQnV0dG9uIEJvcmRlciBDb2xvciAtIERlZmF1bHQgbnVsbCAtIHNlZSBidXR0b24tc3R5bGUgbWl4aW5cbi8vICR0cmFuc2l0aW9uIC0gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aGUgYmFja2dyb3VuZC1jb2xvciB0cmFuc2l0aW9uIHByb3BlcnR5IC0gRGVmYXVsdDp0cnVlLlxuQG1peGluIGJ1dHRvbigkcGFkZGluZzokYnV0dG9uLW1lZCwgJGJnOiRidXR0b24tYmctY29sb3IsICRyYWRpdXM6ZmFsc2UsICRmdWxsLXdpZHRoOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRpcy1wcmVmaXg6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwsICR0cmFuc2l0aW9uOiB0cnVlKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZywgJGZ1bGwtd2lkdGgpO1xuICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnLCAkcmFkaXVzLCAkZGlzYWJsZWQsICRiZy1ob3ZlciwgJGJvcmRlci1jb2xvcik7XG5cbiAgQGlmICR0cmFuc2l0aW9uIHtcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxufVxuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJidXR0b25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG5cbiAgICAvLyBEZWZhdWx0IHN0eWxlcyBhcHBsaWVkIG91dHNpZGUgb2YgbWVkaWEgcXVlcnlcbiAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZTtcblxuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1idXR0b24tYmctY29sb3IsICRiZy1ob3Zlcjokc3VjY2Vzcy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1idXR0b24tYmctY29sb3IsICRiZy1ob3Zlcjokd2FybmluZy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1idXR0b24tYmctY29sb3IsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cblxuICAgICAgJi5sYXJnZSAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLWxyZyk7IH1cbiAgICAgICYuc21hbGwgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1zbWwpOyB9XG4gICAgICAmLnRpbnkgICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tdG55KTsgfVxuICAgICAgJi5leHBhbmQgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkZnVsbC13aWR0aDp0cnVlKTsgfVxuXG4gICAgICAmLmxlZnQtYWxpZ24gIHsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDEyKTsgfVxuICAgICAgJi5yaWdodC1hbGlnbiB7IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMik7IH1cblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOmZhbHNlLCAkcmFkaXVzOnRydWUpOyB9XG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ZmFsc2UsICRyYWRpdXM6JGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRidXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYnV0dG9uLWJvcmRlci1jb2xvcik7XG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRhbGVydC1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiR3YXJuaW5nLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL2ZpcmVmb3ggMnB4IGZpeFxuICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7Ym9yZGVyOjA7IHBhZGRpbmc6MDt9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tYmFzZSgkc3R5bGU6ZmFsc2UsICRkaXNwbGF5OmlubGluZS1ibG9jayk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOmZhbHNlLCAkZnVsbC13aWR0aDpmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnYnV0dG9ucyc7XG5cbi8vXG4vLyBCdXR0b24gR3JvdXAgVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBTZXRzIHRoZSBtYXJnaW4gZm9yIHRoZSByaWdodCBzaWRlIGJ5IGRlZmF1bHQsIGFuZCB0aGUgbGVmdCBtYXJnaW4gaWYgcmlnaHQtdG8tbGVmdCBkaXJlY3Rpb24gaXMgdXNlZFxuJGJ1dHRvbi1iYXItbWFyZ2luLW9wcG9zaXRlOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gQnV0dG9uIEdyb3VwIE1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWNvbnRhaW5lcigkc3R5bGVzOnRydWUsICRmbG9hdDpmYWxzZSkge1xuICBAaWYgJHN0eWxlcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgfVxuICBAaWYgJGZsb2F0IHtcbiAgICBmbG9hdDogI3skZGVmYXVsdC1mbG9hdH07XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTtcbiAgICAmIGRpdiB7IG92ZXJmbG93OiBoaWRkZW47IH1cbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHN0eWxlcyBmb3IgYnV0dG9uIGdyb3Vwc1xuQG1peGluIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOmZhbHNlLCAkZXZlbjpmYWxzZSwgJGZsb2F0OmZhbHNlLCAkb3JpZW50YXRpb246aG9yaXpvbnRhbCkge1xuXG4gID4gYnV0dG9uLCAuYnV0dG9uIHtcbiAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06ICRidXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIH1cbiAgfVxuXG4gICRidXR0b24tZ3JvdXAtZGlzcGxheTogbGlzdC1pdGVtO1xuICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMDtcblxuICAvLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBmbG93LCBvciByZW1vdmUgdGhvc2Ugc3R5bGVzIGNvbXBsZXRlbHkuXG4gIEBpZiAkZmxvYXQge1xuICAgICRidXR0b24tZ3JvdXAtZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xuICAgIGZsb2F0OiAkZmxvYXQ7XG4gICAgLy8gTWFrZSBzdXJlIHRoZSBmaXJzdCBjaGlsZCBkb2Vzbid0IGdldCB0aGUgbmVnYXRpdmUgbWFyZ2luLlxuICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgJGJ1dHRvbi1ncm91cC1tYXJnaW46IDAgLTJweDtcbiAgfVxuXG4gIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICRidXR0b24tZ3JvdXAtZGlzcGxheTogYmxvY2s7XG4gICAgJGJ1dHRvbi1ncm91cC1tYXJnaW46IDA7XG4gICAgPiBidXR0b24sIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXRvcDogJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGggc29saWQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjowO1xuICAgIH1cbiAgICA+IGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkaXNwbGF5OiAkYnV0dG9uLWdyb3VwLWRpc3BsYXk7XG4gIG1hcmdpbjogJGJ1dHRvbi1ncm91cC1tYXJnaW47XG5cblxuICAvLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsZWZ0IGFuZCByaWdodCByYWRpdXMgb24gZmlyc3QvbGFzdCBidXR0b25zIGluIHRoZSBncm91cC5cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7XG4gICAgJixcbiAgICA+IGEsXG4gICAgPiBidXR0b24sXG4gICAgPiAuYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyB9XG4gICAgJjpmaXJzdC1jaGlsZCxcbiAgICAmOmZpcnN0LWNoaWxkID4gYSxcbiAgICAmOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgICY6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyh0b3AsICRidXR0b24tcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkLFxuICAgICY6bGFzdC1jaGlsZCA+IGEsXG4gICAgJjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICY6bGFzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKGJvdHRvbSwgJGJ1dHRvbi1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyYWRpdXMge1xuICAgICYsXG4gICAgPiBhLFxuICAgID4gYnV0dG9uLFxuICAgID4gLmJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgfVxuICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgJjpmaXJzdC1jaGlsZCA+IGEsXG4gICAgJjpmaXJzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXModG9wLCAkcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQsXG4gICAgJjpsYXN0LWNoaWxkID4gYSxcbiAgICAmOmxhc3QtY2hpbGQgPiBidXR0b24sXG4gICAgJjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoYm90dG9tLCAkcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgdXNlIHRoaXMgdG8gbWFrZSB0aGUgYnV0dG9ucyBldmVuIHdpZHRoIGFjcm9zcyB0aGVpciBjb250YWluZXJcbiAgQGlmICRldmVuIHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoMTAwLyRldmVuKSAvIDEwMCk7XG4gICAgYnV0dG9uLCAuYnV0dG9uIHsgd2lkdGg6IDEwMCU7IH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYnV0dG9uLWdyb3VwXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xuICAgIC5idXR0b24tZ3JvdXAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtY29udGFpbmVyO1xuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDgge1xuICAgICAgICAmLmV2ZW4tI3skaX0gbGkgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJGV2ZW46JGksICRmbG9hdDpudWxsKTsgfVxuICAgICAgfVxuXG4gICAgICA+IGxpIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCk7IH1cblxuICAgICAgJi5zdGFjayB7XG4gICAgICAgID4gbGkgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJG9yaWVudGF0aW9uOnZlcnRpY2FsKTsgZmxvYXQ6IG5vbmU7IH1cbiAgICAgIH1cblxuICAgICAgJi5zdGFjay1mb3Itc21hbGwge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJG9yaWVudGF0aW9uOmhvcml6b250YWwpO1xuICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJG9yaWVudGF0aW9uOnZlcnRpY2FsKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJhZGl1cyA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJhZGl1cywgJGZsb2F0Om51bGwpOyB9XG4gICAgICAmLnJhZGl1cy5zdGFjayA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJhZGl1cywgJGZsb2F0Om51bGwsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7IH1cbiAgICAgICYucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICoge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRvcmllbnRhdGlvbjpob3Jpem9udGFsKTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkb3JpZW50YXRpb246dmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucm91bmQgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yb3VuZCwgJGZsb2F0Om51bGwpOyB9XG4gICAgICAmLnJvdW5kLnN0YWNrID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tbWVkLCAkZmxvYXQ6bnVsbCwgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTsgfVxuICAgICAgJi5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcm91bmQsICRvcmllbnRhdGlvbjpob3Jpem9udGFsKTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tbWVkLCAkb3JpZW50YXRpb246dmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1iYXIge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAuYnV0dG9uLWdyb3VwIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWNvbnRhaW5lcigkc3R5bGVzOmZhbHNlLCAkZmxvYXQ6dHJ1ZSk7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1jbGVhcmluZy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3JzIGZvciBwYXJ0cyBvZiBDbGVhcmluZy5cbiRjbGVhcmluZy1iZzogJG9pbCAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXB0aW9uLWJnOiAkY2xlYXJpbmctYmcgIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2Fyb3VzZWwtYmc6IHJnYmEoNTEsNTEsNTEsMC44KSAhZGVmYXVsdDtcbiRjbGVhcmluZy1pbWctYmc6ICRjbGVhcmluZy1iZyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25cbiRjbGVhcmluZy1jbG9zZS1jb2xvcjogJGlyb24gIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2xvc2Utc2l6ZTogMzBweCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBhcnJvd3NcbiRjbGVhcmluZy1hcnJvdy1zaXplOiAxMnB4ICFkZWZhdWx0O1xuJGNsZWFyaW5nLWFycm93LWNvbG9yOiAkY2xlYXJpbmctY2xvc2UtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBjYXB0aW9uc1xuJGNsZWFyaW5nLWNhcHRpb24tZm9udC1jb2xvcjogJGlyb24gIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2FwdGlvbi1mb250LXNpemU6IC44NzVlbSAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXB0aW9uLXBhZGRpbmc6IDEwcHggMzBweCAyMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSB0aGUgaW1hZ2UgYW5kIGNhcm91c2VsIGhlaWdodCBhbmQgc3R5bGVcbiRjbGVhcmluZy1hY3RpdmUtaW1nLWhlaWdodDogODUlICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcm91c2VsLWhlaWdodDogMTIwcHggIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItd2lkdGg6IDEyMHB4ICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLWFjdGl2ZS1ib3JkZXI6IDFweCBzb2xpZCByZ2IoMjU1LDI1NSwyNTUpICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBleHBvcnRzKFwiY2xlYXJpbmdcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1jbGVhcmluZy1jbGFzc2VzIHtcbiAgICAvLyBXZSBkZWNpZGVkIHRvIG5vdCBjcmVhdGUgYSBtaXhpbiBmb3IgQ2xlYXJpbmcgYmVjYXVzZSBpdCByZWxpZXNcbiAgICAvLyBvbiBwcmVkZWZpbmVkIGNsYXNzZXMgYW5kIHN0cnVjdHVyZSB0byB3b3JrIHByb3Blcmx5LlxuICAgIC8vIFRoZSB2YXJpYWJsZXMgYWJvdmUgc2hvdWxkIGdpdmUgZW5vdWdoIGNvbnRyb2wuXG5cbiAgICAvKiBDbGVhcmluZyBTdHlsZXMgKi9cbiAgICAuY2xlYXJpbmctdGh1bWJzLCAje2RhdGEoJ2NsZWFyaW5nJyl9IHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTBweDtcbiAgICAgIH1cblxuICAgICAgJltjbGFzcyo9XCJibG9jay1ncmlkLVwiXSBsaSB7XG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jbGVhcmluZy1ibGFja291dCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctYmc7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDk5ODtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuXG4gICAgICAuY2xlYXJpbmctY2xvc2UgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIH1cblxuICAgIC5jbGVhcmluZy1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDk5ODtcbiAgICB9XG5cbiAgICAuY2xlYXJpbmctdG91Y2gtbGFiZWwge1xuICAgICAgY29sb3I6ICRiYXNlO1xuICAgICAgZm9udC1zaXplOiAuNmVtO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgfVxuXG4gICAgLnZpc2libGUtaW1nIHtcbiAgICAgIGhlaWdodDogOTUlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBAaWYgJGRlZmF1bHQtZmxvYXQgPT0gbGVmdCB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgIH07XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xlYXJpbmctY2FwdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctY2FwdGlvbi1iZztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiAkY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkY2xlYXJpbmctY2FwdGlvbi1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6ICRjbGVhcmluZy1jYXB0aW9uLXBhZGRpbmc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIH1cblxuICAgIC5jbGVhcmluZy1jbG9zZSB7XG4gICAgICBjb2xvcjogJGNsZWFyaW5nLWNsb3NlLWNvbG9yO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogJGNsZWFyaW5nLWNsb3NlLXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIHotaW5kZXg6IDk5OTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMgeyBjb2xvcjogJGlyb247IH1cbiAgICB9XG5cbiAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgeyBoZWlnaHQ6IDEwMCU7XG4gICAgICAuY2Fyb3VzZWwgPiB1bCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICAvLyBJZiB5b3Ugd2FudCB0byBzaG93IGEgbGlnaHRib3gsIGJ1dCBvbmx5IGhhdmUgYSBzaW5nbGUgaW1hZ2UgY29tZSB0aHJvdWdoIGFzIHRoZSB0aHVtYm5haWxcbiAgICAuY2xlYXJpbmctZmVhdHVyZSBsaSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgJi5jbGVhcmluZy1mZWF0dXJlZC1pbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMYXJnZSBzY3JlZW4gb3ZlcnJpZGVzXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgLmNsZWFyaW5nLW1haW4tcHJldixcbiAgICAgIC5jbGVhcmluZy1tYWluLW5leHQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkICRjbGVhcmluZy1hcnJvdy1zaXplO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgJjpob3ZlciB7IG9wYWNpdHk6IC44OyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jbGVhcmluZy1tYWluLXByZXYge1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNXB4O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6ICRjbGVhcmluZy1hcnJvdy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNsZWFyaW5nLW1haW4tbmV4dCB7XG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6ICRjbGVhcmluZy1hcnJvdy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2LmRpc2FibGVkLFxuICAgICAgLmNsZWFyaW5nLW1haW4tbmV4dC5kaXNhYmxlZCB7IG9wYWNpdHk6IC4zOyB9XG5cbiAgICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7XG5cbiAgICAgICAgLmNhcm91c2VsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctY2Fyb3VzZWwtYmc7XG4gICAgICAgICAgaGVpZ2h0OiAkY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICBvcGFjaXR5OiAuNDtcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB3aWR0aDogJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLXdpZHRoO1xuXG4gICAgICAgICAgICAgICYuZml4LWhlaWdodCB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBhLnRoIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi52aXNpYmxlIHsgb3BhY2l0eTogMTsgfVxuICAgICAgICAgICAgICAmOmhvdmVyIHsgb3BhY2l0eTogLjg7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmlzaWJsZS1pbWcge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1pbWctYmc7XG4gICAgICAgICAgaGVpZ2h0OiAkY2xlYXJpbmctYWN0aXZlLWltZy1oZWlnaHQ7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2xlYXJpbmctY2xvc2Uge1xuICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1kcm9wZG93bi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyBoZWlnaHQgYW5kIHdpZHRoIHN0eWxlcy5cbiRmLWRyb3Bkb3duLW1heC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1oZWlnaHQ6IGF1dG8gIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1tYXgtaGVpZ2h0OiBub25lICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciBib3R0b20gcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi10b3A6IDJweCAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgcmlnaHQgcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi1sZWZ0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciBsZWZ0IHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIHRvcCBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLWJvdHRvbTogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYmFja2dyb3VuZCBjb2xvclxuJGYtZHJvcGRvd24tYmc6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBib3JkZXIgc3R5bGVzIGZvciBkcm9wZG93bnMuXG4kZi1kcm9wZG93bi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgdHJpYW5nbGUgcGlwLlxuJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0OiAxMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzdHlsZXMgZm9yIHRoZSBsaXN0IGVsZW1lbnRzLlxuJGYtZHJvcGRvd24tbGlzdC1zdHlsZTogbm9uZSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWZvbnQtY29sb3I6ICRjaGFyY29hbCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tbGlzdC1wYWRkaW5nOiByZW0tY2FsYyg1LCAxMCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saW5lLWhlaWdodDogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tbGlzdC1ob3Zlci1iZzogJHNtb2tlICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1vYmlsZS1kZWZhdWx0LWZsb2F0OiAwICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBzdHlsZXMgZm9yIHdoZW4gdGhlIGRyb3Bkb3duIGhhcyBjdXN0b20gY29udGVudC5cbiRmLWRyb3Bkb3duLWNvbnRlbnQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBEZWZhdWx0IHJhZGl1cyBmb3IgZHJvcGRvd24uXG4kZi1kcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cbi8vXG4vLyBOT1RFOiBNYWtlIGRlZmF1bHQgbWF4LXdpZHRoIGNoYW5nZSBiZXR3ZWVuIGxpc3QgYW5kIGNvbnRlbnQgdHlwZXMuIENhbiBhZGQgbW9yZSB3aWR0aCB3aXRoIGNsYXNzZXMsIG1heWJlIC5zbWFsbCwgLm1lZGl1bSwgLmxhcmdlLCBldGMuO1xuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGRyb3Bkb3duIGNvbnRhaW5lciBlbGVtZW50LlxuLy8gJGNvbnRlbnQtbGlzdCAtIFNldHMgbGlzdC1zdHlsZS4gRGVmYXVsdDogbGlzdC4gT3B0aW9uczogW2xpc3QsIGNvbnRlbnRdXG4vLyAkdHJpYW5nbGUgLSBTZXRzIGlmIGRyb3Bkb3duIGhhcyB0cmlhbmdsZS4gRGVmYXVsdDp0cnVlLlxuLy8gJG1heC13aWR0aCAtIERlZmF1bHQ6ICRmLWRyb3Bkb3duLW1heC13aWR0aCB8fCAyMDBweC5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIoJGNvbnRlbnQ6bGlzdCwgJHRyaWFuZ2xlOnRydWUsICRtYXgtd2lkdGg6JGYtZHJvcGRvd24tbWF4LXdpZHRoKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIGxpc3Qtc3R5bGU6ICRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU7XG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICYub3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+ICo6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG4gID4gKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4gIEBpZiAkY29udGVudCA9PSBsaXN0IHtcbiAgICBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1iZztcbiAgICBib3JkZXI6ICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZSAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGggJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xuICAgIGhlaWdodDogJGYtZHJvcGRvd24taGVpZ2h0O1xuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogODk7XG4gIH1cbiAgQGVsc2UgaWYgJGNvbnRlbnQgPT0gY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogJGYtZHJvcGRvd24tYmc7XG4gICAgYm9yZGVyOiAkZi1kcm9wZG93bi1ib3JkZXItc3R5bGUgJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgICBoZWlnaHQ6ICRmLWRyb3Bkb3duLWhlaWdodDtcbiAgICBtYXgtaGVpZ2h0OiAkZi1kcm9wZG93bi1tYXgtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRmLWRyb3Bkb3duLWNvbnRlbnQtcGFkZGluZztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wO1xuXG4gICAgQGlmICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgIT0gMHB4IHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsIGJvdHRvbSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgICB6LWluZGV4OiA4OTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgYm90dG9tKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxKSAqIDIpO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgICB6LWluZGV4OiA4ODtcbiAgICAgIH1cblxuICAgICAgJi5yaWdodDpiZWZvcmUge1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICB9XG4gICAgICAmLnJpZ2h0OmFmdGVyIHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlID09ICRkZWZhdWx0LWZsb2F0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMik7XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XG4gICAgICB6LWluZGV4OiA4ODtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gJG9wcG9zaXRlLWRpcmVjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC0kZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsICN7JGRlZmF1bHQtZmxvYXR9KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgei1pbmRleDogODk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsICN7JGRlZmF1bHQtZmxvYXR9KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICB6LWluZGV4OiA4ODtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtJGYtZHJvcGRvd24tbWFyZ2luLWJvdHRvbTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgdG9wKTtcbiAgICAgIGJvdHRvbTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xuICAgICAgei1pbmRleDogODk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsIHRvcCk7XG4gICAgICBib3R0b206IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpIC0gMjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xuICAgICAgei1pbmRleDogODg7XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJG1heC13aWR0aCB7IG1heC13aWR0aDogJG1heC13aWR0aDsgfVxuICBAZWxzZSB7IG1heC13aWR0aDogJGYtZHJvcGRvd24tbWF4LXdpZHRoOyB9XG5cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGxpc3QgZWxlbWVudHMgb3IgY29udGVudCBpbnNpZGUgdGhlIGRyb3Bkb3duLlxuXG5AbWl4aW4gZHJvcGRvd24tc3R5bGUge1xuICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkZi1kcm9wZG93bi1saW5lLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOyB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJGYtZHJvcGRvd24tbGlzdC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkZi1kcm9wZG93bi1mb250LWNvbG9yO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJkcm9wZG93blwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXMge1xuXG4gICAgLyogRm91bmRhdGlvbiBEcm9wZG93bnMgKi9cbiAgICAuZi1kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgYm90dG9tKTtcblxuICAgICAgJi5kcm9wLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0ge1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgfVxuXG4gICAgICAmLmRyb3AtI3skZGVmYXVsdC1mbG9hdH0ge1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSk7XG4gICAgICB9XG5cbiAgICAgICYuZHJvcC10b3Age1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgdG9wKTtcbiAgICAgIH1cbiAgICAgIC8vIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgbGkgeyBAaW5jbHVkZSBkcm9wZG93bi1zdHlsZTsgfVxuXG4gICAgICAvLyBZb3UgY2FuIGFsc28gcHV0IGN1c3RvbSBjb250ZW50IGluIHRoZXNlIGRyb3Bkb3duc1xuICAgICAgJi5jb250ZW50IHsgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGNvbnRlbnQsICR0cmlhbmdsZTpmYWxzZSk7IH1cblxuICAgICAgLy8gUmFkaXVzIG9mIERyb3Bkb3duXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkZi1kcm9wZG93bi1yYWRpdXMpOyB9XG5cbiAgICAgIC8vIFNpemVzXG4gICAgICAmLnRpbnkgICAgeyBtYXgtd2lkdGg6IDIwMHB4OyB9XG4gICAgICAmLnNtYWxsICAgeyBtYXgtd2lkdGg6IDMwMHB4OyB9XG4gICAgICAmLm1lZGl1bSAgeyBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gICAgICAmLmxhcmdlICAgeyBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gICAgICAmLm1lZ2EgICAge1xuICAgICAgICB3aWR0aDoxMDAlIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50O1xuXG4gICAgICAgICYub3BlbntcbiAgICAgICAgICBsZWZ0OjAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBjb2xvciBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIHNpemUgb2YgdGhlIHBpcCBpbiBkcm9wZG93biBidXR0b25zXG4kYnV0dG9uLXBpcC10bnk6IHJlbS1jYWxjKDYpICFkZWZhdWx0O1xuJGJ1dHRvbi1waXAtc21sOiByZW0tY2FsYyg3KSAhZGVmYXVsdDtcbiRidXR0b24tcGlwLW1lZDogcmVtLWNhbGMoOSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXBpcC1scmc6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRpbnkgZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogNyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk6ICRidXR0b24tcGlwLXRueSAqIDMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtdG55OiAoLSRidXR0b24tcGlwLXRueSAvIDIpICsgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBzbWFsbCBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA3ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDogJGJ1dHRvbi1waXAtc21sICogMyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6ICgtJGJ1dHRvbi1waXAtc21sIC8gMikgKyByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIG1lZGl1bSBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA2ICsgcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDIuNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ6ICgtJGJ1dHRvbi1waXAtbWVkIC8gMikgKyByZW0tY2FsYygyKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxhcmdlIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgKyByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLWxyZzogJGJ1dHRvbi1waXAtbHJnICogMi41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZzogKC0kYnV0dG9uLXBpcC1scmcgLyAyKSArIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gRHJvcGRvd24gQnV0dG9uIE1peGluXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYnVpbGQgb2ZmIG9mIHRoZSBidXR0b24gbWl4aW4gYW5kIGFkZCBkcm9wZG93biBidXR0b24gc3R5bGVzXG4vL1xuLy8gJHBhZGRpbmcgLSBEZXRlcm1pbmVzIHRoZSBzaXplIG9mIGJ1dHRvbiB5b3UncmUgd29ya2luZyB3aXRoLiBEZWZhdWx0OiBtZWRpdW0uIE9wdGlvbnMgW3RpbnksIHNtYWxsLCBtZWRpdW0sIGxhcmdlXVxuLy8gJHBpcC1jb2xvciAtIENvbG9yIG9mIHRoZSBsaXR0bGUgdHJpYW5nbGUgdGhhdCBwb2ludHMgdG8gdGhlIGRyb3Bkb3duLiBEZWZhdWx0OiAkd2hpdGUuXG4vLyAkYmFzZS1zdHlsZSAtIEFkZCBpbiBiYXNlLXN0eWxlcy4gVGhpcyBjYW4gYmUgc2V0IHRvIGZhbHNlLiBEZWZhdWx0OnRydWVcblxuQG1peGluIGRyb3Bkb3duLWJ1dHRvbigkcGFkZGluZzptZWRpdW0sICRwaXAtY29sb3I6JGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3IsICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICAvLyBXZSBhZGQgaW4gYmFzZSBzdHlsZXMsIGJ1dCB0aGV5IGNhbiBiZSBuZWdhdGVkIGJ5IHNldHRpbmcgdG8gJ2ZhbHNlJy5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBUaGlzIGNyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciB0aGUgdHJpYW5nbGUgcGlwXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCB0aW55IGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IHRpbnkge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtdG55O1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBzbWFsbCBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXG4gIEBpZiAkcGFkZGluZyA9PSBzbWFsbCB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1zbWw7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3Atc21sO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBkZWZhdWx0IChtZWRpdW0pIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IG1lZGl1bSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbWVkO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1tZWQ7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1tZWQ7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBsYXJnZSBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXG4gIEBpZiAkcGFkZGluZyA9PSBsYXJnZSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbHJnO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1scmc7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBjb250cm9sIHRoZSBwaXAgY29sb3IuIFdlIGRpZG4ndCB1c2UgbG9naWMgaW4gdGhpcyBjYXNlLCBqdXN0IHNldCBpdCBhbmQgZm9yZ2V0IGl0LlxuICBAaWYgJHBpcC1jb2xvciB7XG4gICAgJjo6YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRwaXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZHJvcGRvd24tYnV0dG9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xuICAgIC5kcm9wZG93bi5idXR0b24sIGJ1dHRvbi5kcm9wZG93biB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbjtcbiAgICAgICYudGlueSB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbih0aW55LCAkYmFzZS1zdHlsZTpmYWxzZSk7IH1cbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b24oc21hbGwsICRiYXNlLXN0eWxlOmZhbHNlKTsgfVxuICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbihsYXJnZSwgJGJhc2Utc3R5bGU6ZmFsc2UpOyB9XG4gICAgICAmLnNlY29uZGFyeTphZnRlciB7IGJvcmRlci1jb2xvcjogJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3ItYWx0IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2aWRlbyBjb250YWluZXIgcGFkZGluZyBhbmQgbWFyZ2luc1xuJGZsZXgtdmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KSAhZGVmYXVsdDtcbiRmbGV4LXZpZGVvLXBhZGRpbmctYm90dG9tOiA2Ny41JSAhZGVmYXVsdDtcbiRmbGV4LXZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aWRlc2NyZWVuIGJvdHRvbSBwYWRkaW5nXG4kZmxleC12aWRlby13aWRlc2NyZWVuLXBhZGRpbmctYm90dG9tOiA1Ni4zNCUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG5AbWl4aW4gZmxleC12aWRlby1jb250YWluZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRmbGV4LXZpZGVvLW1hcmdpbi1ib3R0b207XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiAkZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTtcbiAgcGFkZGluZy10b3A6ICRmbGV4LXZpZGVvLXBhZGRpbmctdG9wO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJi53aWRlc2NyZWVuIHsgcGFkZGluZy1ib3R0b206ICRmbGV4LXZpZGVvLXdpZGVzY3JlZW4tcGFkZGluZy1ib3R0b207IH1cbiAgJi52aW1lbyB7IHBhZGRpbmctdG9wOiAwOyB9XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImZsZXgtdmlkZW9cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzIHtcbiAgICAuZmxleC12aWRlbyB7IEBpbmNsdWRlIGZsZXgtdmlkZW8tY29udGFpbmVyOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdidXR0b25zJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhc2UgZm9yIGxvdHMgb2YgZm9ybSBzcGFjaW5nIGFuZCBwb3NpdGlvbmluZyBzdHlsZXNcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHMgaW4gZGlmZmVyZW50IHdheXNcbiRmb3JtLWxhYmVsLXBvaW50ZXI6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRibGFjaywgJGxpZ2h0bmVzczogMzAlKSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWJvdHRvbS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yOiAkc3RlZWwgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kaW5wdXQtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMiUpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTQwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZSAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3Q6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGZpZWxkc2V0IGJvcmRlciBhbmQgc3BhY2luZy5cbiRmaWVsZHNldC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGZpZWxkc2V0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGZpZWxkc2V0LWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsZWdlbmRzIHdoZW4geW91IHVzZSB0aGVtXG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBwcmVmaXggYW5kIHBvc3RmaXggaW5wdXQgZWxlbWVudHNcbiRpbnB1dC1wcmVmaXgtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LW92ZXJmbG93OiB2aXNpYmxlICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyBzZXR0aW5nIHRvIHR1cm4gb24vb2ZmIEhUTUw1IG51bWJlciBzcGlubmVycyAodGhlIHVwL2Rvd24gYXJyb3dzKVxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBlcnJvciBzdGF0ZXMgZm9yIGlucHV0cyBhbmQgbGFiZWxzXG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nOiByZW0tY2FsYyg2IDkgOSkgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A6IC0xcHggIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3I6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZ2xvd2luZyBlZmZlY3Qgb2YgaW5wdXRzIHdoZW4gZm9jdXNlZFxuJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZTogLjQ1cyAhZGVmYXVsdDtcbiRnbG93aW5nLWVmZmVjdC1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHRyYW5zaXRpb24gd2hlbiBpbnB1dHMgYXJlIGZvY3VzZWQgYW5kIHdoZW4gdGhlIGdsb3dpbmcgZWZmZWN0IGlzIGRpc2FibGVkLlxuJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lOiAwLjE1cyAhZGVmYXVsdDtcbiRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vIFNlbGVjdCB2YXJpYWJsZXNcbiRzZWxlY3QtYmctY29sb3I6ICRnaG9zdCAhZGVmYXVsdDtcbiRzZWxlY3QtaG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWxlY3QtYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSkgIWRlZmF1bHQ7XG5cbi8vXG4vLyBATUlYSU5TXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBnaXZlIHVzIGZvcm0gc3R5bGVzIGZvciByb3dzIGluc2lkZSBvZiBmb3Jtc1xuQG1peGluIGZvcm0tcm93LWJhc2Uge1xuICAucm93IHsgbWFyZ2luOiAwICgoLSRmb3JtLXNwYWNpbmcpIC8gMik7XG5cbiAgICAuY29sdW1uLFxuICAgIC5jb2x1bW5zIHsgcGFkZGluZzogMCAoJGZvcm0tc3BhY2luZyAvIDIpOyB9XG5cbiAgICAvLyBVc2UgdGhpcyB0byBjb2xsYXBzZSB0aGUgbWFyZ2lucyBvZiBhIGZvcm0gcm93XG4gICAgJi5jb2xsYXBzZSB7IG1hcmdpbjogMDtcblxuICAgICAgLmNvbHVtbixcbiAgICAgIC5jb2x1bW5zIHsgcGFkZGluZzogMDsgfVxuICAgICAgaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAwKTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuICBpbnB1dC5jb2x1bW4sXG4gIGlucHV0LmNvbHVtbnMsXG4gIHRleHRhcmVhLmNvbHVtbixcbiAgdGV4dGFyZWEuY29sdW1ucyB7IHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICgkZm9ybS1zcGFjaW5nIC8gMik7IH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gZ2l2ZSBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyB0aGVpciBzdHlsZVxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1jb2xvcjtcbiAgYm9yZGVyOiB7XG4gICAgc3R5bGU6ICRpbnB1dC1ib3JkZXItc3R5bGU7XG4gICAgd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIH1cbiAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3c7XG4gIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIEBpZiAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdCB7XG4gICAgQGluY2x1ZGUgYmxvY2stZ2xvd2luZy1lZmZlY3QoZm9jdXMsICRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWUsICRnbG93aW5nLWVmZmVjdC1jb2xvcik7XG4gIH1cbiAgLy8gQmFzaWMgZm9jdXMgc3R5bGVzXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAvLyBEaXNhYmxlZCBTdHlsZXNcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGJhY2tncm91bmQgaW5wdXQgYmFja2dyb3VuZCBjb2xvclxuICAmW2Rpc2FibGVkXSxcbiAgJltyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBmb3JtIGxhYmVsc1xuLy9cbi8vICRhbGlnbm1lbnQgLSBBbGlnbm1lbnQgb3B0aW9ucy4gRGVmYXVsdDogZmFsc2UuIE9wdGlvbnM6IFtyaWdodCwgaW5saW5lLCBmYWxzZV1cbi8vICRiYXNlLXN0eWxlIC0gQ29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLiBEZWZhdWx0OiB0cnVlLlxuQG1peGluIGZvcm0tbGFiZWwoJGFsaWdubWVudDpmYWxzZSwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIC8vIENvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBjb2xvcjogJGZvcm0tbGFiZWwtZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6ICRmb3JtLWxhYmVsLXBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luO1xuICB9XG5cbiAgLy8gQWxpZ25tZW50IG9wdGlvbnNcbiAgQGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBpbmxpbmUge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpIDA7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXgvcHJlZml4IGZvcm0gTGFiZWxzXG5AbWl4aW4gcHJlZml4LXBvc3RmaXgtYmFzZSB7XG4gIGJvcmRlci1zdHlsZTogJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtcHJlZml4LWJvcmRlci1zaXplO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIGxpbmUtaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgb3ZlcmZsb3c6ICRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyO1xufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcHJlZml4IGxhYmVsIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDokaW5wdXQtcHJlZml4LWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbi8vICRpcy1idXR0b24gLSBUb2dnbGUgcG9zaXRpb24gc2V0dGluZ3MgaWYgcHJlZml4IGlzIGEgYnV0dG9uLiBEZWZhdWx0OmZhbHNlXG4vL1xuQG1peGluIHByZWZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlcjokaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvciwgJGlzLWJ1dHRvbjpmYWxzZSkge1xuXG4gIEBpZiAkYmcge1xuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogbm9uZTtcblxuICAgIC8vIENvbnRyb2wgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gYmFja2dyb3VuZCBicmlnaHRuZXNzXG4gICAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OyB9XG4gIH1cblxuICBAaWYgJGJvcmRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgQGlmICRpcy1idXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcG9zdGZpeCBsYWJlbCBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4vLyAkaXMtYnV0dG9uIC0gVG9nZ2xlIHBvc2l0aW9uIHNldHRpbmdzIGlmIHByZWZpeCBpcyBhIGJ1dHRvbi4gRGVmYXVsdDogZmFsc2VcbkBtaXhpbiBwb3N0Zml4KCRiZzokaW5wdXQtcHJlZml4LWJnLCAkYm9yZGVyLWxlZnQtaGlkZGVuOnRydWUsICRib3JkZXI6JGlucHV0LXByZWZpeC1ib3JkZXItY29sb3IsICRpcy1idXR0b246ZmFsc2UpIHtcblxuICBAaWYgJGJnIHtcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgQGlmICRib3JkZXItbGVmdC1oaWRkZW4ge1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiBub25lO1xuICAgIH1cblxuICAgIC8vIENvbnRyb2wgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gYmFja2dyb3VuZCBicmlnaHRuZXNzXG4gICAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDsgfVxuICB9XG5cbiAgQGlmICRib3JkZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gIEBpZiAkaXMtYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgZmllbGRzZXRzXG5AbWl4aW4gZmllbGRzZXQge1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXItd2lkdGggJGZpZWxkc2V0LWJvcmRlci1zdHlsZSAkZmllbGRzZXQtYm9yZGVyLWNvbG9yO1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuXG4gIC8vIGFuZCBsZWdlbmQgc3R5bGVzXG4gIGxlZ2VuZCB7XG4gICAgZm9udC13ZWlnaHQ6ICRsZWdlbmQtZm9udC13ZWlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjb250cm9sIGJvcmRlciBhbmQgYmFja2dyb3VuZCBjb2xvciBvZiBlcnJvciBpbnB1dHNcbi8vICRjb2xvciAtIERlZmF1bHQ6ICRhbGVydC1jb2xvciAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbkBtaXhpbiBmb3JtLWVycm9yLWNvbG9yKCRjb2xvcjokYWxlcnQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgLy8gR28gYmFjayB0byBub3JtYWwgb24gZm9jdXNcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LWZvY3VzLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBzaW1wbGUgbWl4aW4gdG8gc3R5bGUgbGFiZWxzIGZvciBlcnJvciBpbnB1dHNcbi8vICRjb2xvciAtIERlZmF1bHQ6JGFsZXJ0LWNvbG9yLiBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXG5AbWl4aW4gZm9ybS1sYWJlbC1lcnJvci1jb2xvcigkY29sb3I6JGFsZXJ0LWNvbG9yKSB7IGNvbG9yOiAkY29sb3I7IH1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGVycm9yIG1lc3NhZ2Ugc3R5bGVzXG4vLyAkYmcgLSBEZWZhdWx0OiAkYWxlcnQtY29sb3IgKEZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gZm9ybS1lcnJvci1tZXNzYWdlKCRiZzokaW5wdXQtZXJyb3ItbWVzc2FnZS1iZy1jb2xvcikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXNpemU7XG4gIGZvbnQtc3R5bGU6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgbWFyZ2luLXRvcDogJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wO1xuICBwYWRkaW5nOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nO1xuXG4gIC8vIFdlIGNhbiBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGJhc2VkIG9uIHRoZSBicmlnaHRuZXNzIG9mIHRoZSBiYWNrZ3JvdW5kLlxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgYmFja2dyb3VuZDogJGJnO1xuICBAaWYgJGJnLWxpZ2h0bmVzcyA8IDcwJSBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I7IH1cbiAgQGVsc2UgeyBjb2xvcjogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ7IH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgc2VsZWN0IGVsZW1lbnRzXG5AbWl4aW4gZm9ybS1zZWxlY3QgIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJnLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBUaGUgY3VzdG9tIGFycm93IGhhcyBzb21lIGZha2UgaG9yaXpvbnRhbCBwYWRkaW5nIHNvIHdlIGNhbiBhbGlnbiBpdFxuICAvLyBmcm9tIHRoZSByaWdodCBzaWRlIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgcmVseWluZyBvbiBDU1MzXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRDBpTVRKd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU1qUndlQ0lnYUdWcFoyaDBQU0l6Y0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EySURNaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lEWWdNeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK1BIQnZiSGxuYjI0Z2NHOXBiblJ6UFNJMUxqazVNaXd3SURJdU9Ua3lMRE1nTFRBdU1EQTRMREFnSWk4K1BDOXpkbWMrJyk7XG5cbiAgLy8gV2UgY2FuIHNhZmVseSB1c2UgbGVmdG1vc3QgYW5kIHJpZ2h0bW9zdCBub3dcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogaWYoJHRleHQtZGlyZWN0aW9uID09ICdydGwnLCAwJSwgMTAwJSkgY2VudGVyO1xuXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJvcmRlcjoge1xuICAgIHN0eWxlOiAkaW5wdXQtYm9yZGVyLXN0eWxlO1xuICAgIHdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICB9XG4gIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuICBAaW5jbHVkZSByYWRpdXMoMCk7XG4gICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRnbG9iYWwtcmFkaXVzKTsgfVxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWhvdmVyLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuICAvLyBEaXNhYmxlZCBTdHlsZXNcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnNcbkBtaXhpbiBodG1sNW51bWJlcigkYnJvd3NlciwgJG9uOiB0cnVlKSB7XG4gIEBpZiAkb24gPT0gZmFsc2Uge1xuICAgICAgQGlmICRicm93c2VyID09IHdlYmtpdCB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfSBAZWxzZSBpZiAkYnJvd3NlciA9PSBtb3oge1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZm9ybVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlcyB7XG4gICAgLyogU3RhbmRhcmQgRm9ybXMgKi9cbiAgICBmb3JtIHsgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZzsgfVxuXG4gICAgLyogVXNpbmcgZm9ybXMgd2l0aGluIHJvd3MsIHdlIG5lZWQgdG8gc2V0IHNvbWUgZGVmYXVsdHMgKi9cbiAgICBmb3JtIC5yb3cgeyBAaW5jbHVkZSBmb3JtLXJvdy1iYXNlOyB9XG5cbiAgICAvKiBMYWJlbCBTdHlsZXMgKi9cbiAgICBsYWJlbCB7IEBpbmNsdWRlIGZvcm0tbGFiZWw7XG4gICAgICAmLnJpZ2h0IHsgQGluY2x1ZGUgZm9ybS1sYWJlbChyaWdodCwgZmFsc2UpOyB9XG4gICAgICAmLmlubGluZSB7IEBpbmNsdWRlIGZvcm0tbGFiZWwoaW5saW5lLCBmYWxzZSk7IH1cbiAgICAgIC8qIFN0eWxlcyBmb3IgcmVxdWlyZWQgaW5wdXRzICovXG4gICAgICBzbWFsbCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm07XG4gICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZm9ybS1sYWJlbC1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAxNSUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEF0dGFjaCBlbGVtZW50cyB0byB0aGUgYmVnaW5uaW5nIG9yIGVuZCBvZiBhbiBpbnB1dCAqL1xuICAgIC5wcmVmaXgsXG4gICAgLnBvc3RmaXggeyBAaW5jbHVkZSBwcmVmaXgtcG9zdGZpeC1iYXNlOyB9XG5cbiAgICAvKiBBZGp1c3QgcGFkZGluZywgYWxpZ25tZW50IGFuZCByYWRpdXMgaWYgcHJlL3Bvc3QgZWxlbWVudCBpcyBhIGJ1dHRvbiAqL1xuICAgIC5wb3N0Zml4LmJ1dHRvbiB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKGZhbHNlLCBmYWxzZSk7IEBpbmNsdWRlIHBvc3RmaXgoZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7IH1cbiAgICAucHJlZml4LmJ1dHRvbiB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKGZhbHNlLCBmYWxzZSk7IEBpbmNsdWRlIHByZWZpeChmYWxzZSwgZmFsc2UsIHRydWUpOyB9XG5cbiAgICAucHJlZml4LmJ1dHRvbi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAucG9zdGZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAucHJlZml4LmJ1dHRvbi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpOyB9XG4gICAgLnBvc3RmaXguYnV0dG9uLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJvdW5kKTsgfVxuXG4gICAgLyogU2VwYXJhdGUgcHJlZml4IGFuZCBwb3N0Zml4IHN0eWxlcyB3aGVuIG9uIHNwYW4gb3IgbGFiZWwgc28gYnV0dG9ucyBrZWVwIHRoZWlyIG93biAqL1xuICAgIHNwYW4ucHJlZml4LCBsYWJlbC5wcmVmaXggeyBAaW5jbHVkZSBwcmVmaXgoKTsgfVxuICAgIHNwYW4ucG9zdGZpeCwgbGFiZWwucG9zdGZpeCB7IEBpbmNsdWRlIHBvc3RmaXgoKTsgfVxuXG4gICAgLyogV2UgdXNlIHRoaXMgdG8gZ2V0IGJhc2ljIHN0eWxpbmcgb24gYWxsIGJhc2ljIGZvcm0gZWxlbWVudHMgKi9cbiAgICBpbnB1dDpub3QoW3R5cGVdKSwgI3t0ZXh0LWlucHV0cyhhbGwsICdpbnB1dCcpfSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgICAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0ID09IGZhbHNlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAtby10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICB9XG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICAucm93IHtcbiAgICAgICAgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgICAucHJlZml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICAgIC5wb3N0Zml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuICAgICAgICAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgICAucHJlZml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgfVxuICAgICAgICAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICAgIC5wb3N0Zml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8qIFJlc3BlY3QgZW5mb3JjZWQgYW1vdW50IG9mIHJvd3MgZm9yIHRleHRhcmVhICovXG4gICAgdGV4dGFyZWFbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qIE5vdCBhbGxvdyByZXNpemUgb3V0IG9mIHBhcmVudCAqL1xuICAgIHRleHRhcmVhIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBzdHlsZSBwbGFjZWhvbGRlciB0ZXh0IGNyb3NzIGJyb3dzZXJcbiAgICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIDotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgOjotbW96LXBsYWNlaG9sZGVyIHsgIC8qIEZpcmVmb3ggMTkrICovXG4gICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cblxuICAgIC8qIEFkZCBoZWlnaHQgdmFsdWUgZm9yIHNlbGVjdCBlbGVtZW50cyB0byBtYXRjaCB0ZXh0IGlucHV0IGhlaWdodCAqL1xuICAgIHNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgICAgIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gICAgICAmW211bHRpcGxlXSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBZGp1c3QgbWFyZ2luIGZvciBmb3JtIGVsZW1lbnRzIGJlbG93ICovXG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBzZWxlY3Qge1xuICAgICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsLFxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGZvcm0tc3BhY2luZyAqIC41O1xuICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmb3JtLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIC8qIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoICovXG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG5cbiAgICAvKiBIVE1MNSBOdW1iZXIgc3Bpbm5lcnMgc2V0dGluZ3MgKi9cbiAgICBpbnB1dFt0eXBlPW51bWJlcl0ge1xuICAgICAgQGluY2x1ZGUgaHRtbDVudW1iZXIobW96LCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzKVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgQGluY2x1ZGUgaHRtbDVudW1iZXIod2Via2l0LCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzKTtcbiAgICB9XG5cbiAgICAvKiBXZSBhZGQgYmFzaWMgZmllbGRzZXQgc3R5bGluZyAqL1xuICAgIGZpZWxkc2V0IHtcbiAgICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICAgIH1cblxuICAgIC8qIEVycm9yIEhhbmRsaW5nICovXG5cbiAgICAje2RhdGEoJ2FiaWRlJyl9IHtcbiAgICAgIC5lcnJvciBzbWFsbC5lcnJvciwgLmVycm9yIHNwYW4uZXJyb3IsIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xuICAgICAgfVxuICAgICAgc3Bhbi5lcnJvciwgc21hbGwuZXJyb3IgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG4gICAgc3Bhbi5lcnJvciwgc21hbGwuZXJyb3Ige1xuICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xuICAgIH1cblxuICAgIC5lcnJvciB7XG4gICAgICBpbnB1dCxcbiAgICAgIHRleHRhcmVhLFxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZ1xuICAgICAgfVxuXG4gICAgICBsYWJlbCxcbiAgICAgIGxhYmVsLmVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1lcnJvci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgc21hbGwuZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XG4gICAgICB9XG5cbiAgICAgID4gbGFiZWwge1xuICAgICAgICA+IHNtYWxsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGZvcm0tbGFiZWwtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMTUlKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgZm9udC1zaXplOiA2MCU7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3Bhbi5lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQuZXJyb3IsXG4gICAgdGV4dGFyZWEuZXJyb3IsXG4gICAgc2VsZWN0LmVycm9yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIGxhYmVsLmVycm9yIHsgQGluY2x1ZGUgZm9ybS1sYWJlbC1lcnJvci1jb2xvcjsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG5cbi8vIEBuYW1lXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuXG4kaW5jbHVkZS1odG1sLWljb24tYmFyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gQHZhcmlhYmxlc1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGljb24tYmFyIGFuZCBpdGVtc1xuJGljb24tYmFyLWJnOiAkb2lsICFkZWZhdWx0O1xuJGljb24tYmFyLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpY29uLWJhci1mb250LWNvbG9yLWhvdmVyOiAkaWNvbi1iYXItZm9udC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJhci1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kaWNvbi1iYXItaG92ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGljb24tYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyOiAkaWNvbi1iYXItaWNvbi1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJhci1pY29uLXNpemU6IDEuODc1cmVtICFkZWZhdWx0O1xuJGljb24tYmFyLWltYWdlLXdpZHRoOiAxLjg3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1pbWFnZS1oZWlnaHQ6IDEuODc1cmVtICFkZWZhdWx0O1xuJGljb24tYmFyLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaXRlbS1wYWRkaW5nOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgZGVmYXVsdCBvcGFjaXR5IGFuZCBjdXJzb3IgZm9yIGRpc2FibGVkIGljb25zLlxuJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuJGljb24tYmFyLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBiYXNlIHN0eWxlcyBmb3Igb3VyIEljb24gYmFyIGVsZW1lbnQuXG4vL1xuQG1peGluIGljb24tYmFyLWJhc2UoKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICB3aWR0aDogMTAwJTtcblxuICA+ICoge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAkaWNvbi1iYXItaXRlbS1wYWRkaW5nO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjUlO1xuXG4gICAgaSwgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC4wNjI1cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAkaWNvbi1iYXItaWNvbi1zaXplO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAkaWNvbi1iYXItaW1hZ2UtaGVpZ2h0O1xuICAgICAgd2lkdGg6ICRpY29uLWJhci1pbWFnZS13aWR0aDtcbiAgICB9XG4gIH1cblxuICAmLmxhYmVsLXJpZ2h0ID4gKiB7XG5cbiAgICBpLCBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIC4wNjI1cmVtIDAgMDtcblxuICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICB9XG5cbiAgJi52ZXJ0aWNhbC5sYWJlbC1yaWdodCA+ICoge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAmLnZlcnRpY2FsLCAmLnNtYWxsLXZlcnRpY2Fse1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bztcblxuICAgIC5pdGVtIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi5tZWRpdW0tdmVydGljYWwge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAuaXRlbSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmxhcmdlLXZlcnRpY2FsIHtcbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAuaXRlbSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIHNpemUgc3R5bGVzIGZvciBpY29uIGJhcnMuXG5AbWl4aW4gaWNvbi1iYXItc2l6ZShcbiAgJHBhZGRpbmc6ICRpY29uLWJhci1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRpY29uLWJhci1mb250LXNpemUsXG4gICRpY29uLXNpemU6ICRpY29uLWJhci1pY29uLXNpemUsXG4gICRpbWFnZS13aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoLFxuICAkaW1hZ2UtaGVpZ2h0OiAkaWNvbi1iYXItaW1hZ2UtaGVpZ2h0KSB7XG5cbiAgPiAqIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgICBpLCBpbWcge1xuXG4gICAgICAmICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAuMDYyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6ICRpbWFnZS1oZWlnaHQ7XG4gICAgICB3aWR0aDogJGltYWdlLXdpZHRoO1xuICAgIH1cbiAgfVxuXG59XG5cbkBtaXhpbiBpY29uLWJhci1zdHlsZShcbiAgJGJhci1iZzokaWNvbi1iYXItYmcsXG4gICRiYXItZm9udC1jb2xvcjokaWNvbi1iYXItZm9udC1jb2xvcixcbiAgJGJhci1mb250LWNvbG9yLWhvdmVyOiRpY29uLWJhci1mb250LWNvbG9yLWhvdmVyLFxuICAkYmFyLWhvdmVyLWNvbG9yOiRpY29uLWJhci1ob3Zlci1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yOiRpY29uLWJhci1pY29uLWNvbG9yLFxuICAkYmFyLWljb24tY29sb3ItaG92ZXI6JGljb24tYmFyLWljb24tY29sb3ItaG92ZXIsXG4gICRiYXItYWN0aXZlLWNvbG9yOiRpY29uLWJhci1hY3RpdmUtY29sb3IsXG4gICRiYXNlLXN0eWxlOnRydWUsXG4gICRkaXNhYmxlZDpmYWxzZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFyLWJnO1xuXG4gICAgPiAqIHtcbiAgICAgIGxhYmVsIHsgY29sb3I6ICRiYXItZm9udC1jb2xvcjsgfVxuXG4gICAgICBpIHsgY29sb3I6ICRiYXItaWNvbi1jb2xvcjsgfVxuICAgIH1cblxuICAgID4gYTpob3ZlciB7XG5cbiAgICAgIGJhY2tncm91bmQ6ICRiYXItaG92ZXItY29sb3I7XG5cbiAgICAgIGxhYmVsIHsgY29sb3I6ICRiYXItZm9udC1jb2xvci1ob3ZlcjsgfVxuXG4gICAgICBpIHsgY29sb3I6ICRiYXItaWNvbi1jb2xvci1ob3ZlcjsgfVxuICAgIH1cblxuICAgICAgICA+IGEuYWN0aXZlIHtcblxuICAgICAgYmFja2dyb3VuZDogJGJhci1hY3RpdmUtY29sb3I7XG5cbiAgICAgIGxhYmVsIHsgY29sb3I6ICRiYXItZm9udC1jb2xvci1ob3ZlcjsgfVxuXG4gICAgICBpIHsgY29sb3I6ICRiYXItaWNvbi1jb2xvci1ob3ZlcjsgfVxuICAgIH1cbiAgfVxuICBAaWYgJGRpc2FibGVkIHtcbiAgICAuaXRlbS5kaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6ICRpY29uLWJhci1kaXNhYmxlZC1jdXJzb3I7XG4gICAgICBvcGFjaXR5OiAkaWNvbi1iYXItZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgPioge1xuICAgICAgICBvcGFjaXR5OiAkaWNvbi1iYXItZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgICAgY3Vyc29yOiAkaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGljb24gYmFycyB3aXRoIGEgc2luZ2xlIG1peGluXG4vLyAkaGVpZ2h0IC0gVGhlIG92ZXJhbGwgY2FsY3VsYXRlZCBoZWlnaHQgb2YgdGhlIGljb24gYmFyIChob3Jpem9udGFsKVxuLy8gJGJhci1iZyAtIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBiYXJcbi8vICRiYXItZm9udC1jb2xvciAtIHRoZSBmb250IGNvbG9yXG4vLyAkYmFyLWhvdmVyLWNvbG9yIC0gb2theSB0aGVzZSBhcmUgcHJldHR5IG9idmlvdXMgdmFyaWFibGVzXG4vLyAkYmFyLWljb24tY29sb3IgLSBtYXliZSB3ZSBjb3VsZCBza2lwIGV4cGxhaW5pbmcgdGhlbSBhbGw/IE9rYXkgdGhpcyBvbmUgZG9lcyBjaGFuZ2UgaWNvbiBjb2xvciBpZiB5b3UgdXNlIGFuIGljb24gZm9udFxuLy8gJGJhci1hY3RpdmUtY29sb3IgLSB0aGUgY29sb3Igb2YgYW4gYWN0aXZlIC8gaG92ZXIgc3RhdGVcbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZXM/IERlZmF1bHQ6IHRydWUuXG4vLyAkZGlzYWJsZWQgLSBBbGxvdyBkaXNhYmxlZCBpY29ucz8gRGVmYXVsdDogZmFsc2UuXG5cbkBtaXhpbiBpY29uLWJhcihcbiAgJGJhci1iZzokaWNvbi1iYXItYmcsXG4gICRiYXItZm9udC1jb2xvcjokaWNvbi1iYXItZm9udC1jb2xvcixcbiAgJGJhci1mb250LWNvbG9yLWhvdmVyOiRpY29uLWJhci1mb250LWNvbG9yLWhvdmVyLFxuICAkYmFyLWhvdmVyLWNvbG9yOiRpY29uLWJhci1ob3Zlci1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yOiRpY29uLWJhci1pY29uLWNvbG9yLFxuICAkYmFyLWljb24tY29sb3ItaG92ZXI6JGljb24tYmFyLWljb24tY29sb3ItaG92ZXIsXG4gICRiYXItYWN0aXZlLWNvbG9yOiRpY29uLWJhci1hY3RpdmUtY29sb3IsXG4gICRwYWRkaW5nOiAkaWNvbi1iYXItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkaWNvbi1iYXItZm9udC1zaXplLFxuICAkaWNvbi1zaXplOiAkaWNvbi1iYXItaWNvbi1zaXplLFxuICAkaW1hZ2Utd2lkdGg6ICRpY29uLWJhci1pbWFnZS13aWR0aCxcbiAgJGltYWdlLWhlaWdodDogJGljb24tYmFyLWltYWdlLWhlaWdodCxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSxcbiAgJGRpc2FibGVkOnRydWUpIHtcbiAgICBAaW5jbHVkZSBpY29uLWJhci1iYXNlKCk7XG4gICAgQGluY2x1ZGUgaWNvbi1iYXItc2l6ZSgkcGFkZGluZywgJGZvbnQtc2l6ZSwgJGljb24tc2l6ZSwgJGltYWdlLXdpZHRoLCAkaW1hZ2UtaGVpZ2h0KTtcbiAgICBAaW5jbHVkZSBpY29uLWJhci1zdHlsZSgkYmFyLWJnLCAkYmFyLWZvbnQtY29sb3IsICRiYXItZm9udC1jb2xvci1ob3ZlciwgJGJhci1ob3Zlci1jb2xvciwgJGJhci1pY29uLWNvbG9yLCAkYmFyLWljb24tY29sb3ItaG92ZXIsICRiYXItYWN0aXZlLWNvbG9yLCAkYmFzZS1zdHlsZSwgJGRpc2FibGVkKTtcblxuICAvLyBDb3VudHNcblxuICAmLnR3by11cCB7XG4gICAgLml0ZW0geyB3aWR0aDogNTAlOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYudGhyZWUtdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuZm91ci11cCB7XG4gICAgLml0ZW0geyB3aWR0aDogMjUlOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuZml2ZS11cCB7XG4gICAgLml0ZW0geyB3aWR0aDogMjAlOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2l4LXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zZXZlbi11cCB7XG4gICAgLml0ZW0geyB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5laWdodC11cCB7XG4gICAgLml0ZW0geyB3aWR0aDogMTIuNSU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiaWNvbi1iYXJcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzIHtcbiAgICAuaWNvbi1iYXIge1xuICAgICAgQGluY2x1ZGUgaWNvbi1iYXI7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkaW5jbHVkZS1odG1sLWljb24tYmFyLWNsYXNzZXMge1xuXG4gIC8vIHRvb2xiYXIgc3R5bGVzXG5cbiAgLmljb24tYmFyIHtcblxuICAgIC8vIENvdW50c1xuXG4gICAgJi50d28tdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogNTAlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi50aHJlZS11cCB7XG4gICAgICAuaXRlbSB7IHdpZHRoOiAzMy4zMzMzJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZm91ci11cCB7XG4gICAgICAuaXRlbSB7IHdpZHRoOiAyNSU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmZpdmUtdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMjAlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5zaXgtdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5zZXZlbi11cCB7XG4gICAgICAuaXRlbSB7IHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZWlnaHQtdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMTIuNSU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtaW5saW5lLWxpc3QtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXJnaW5zIGFuZCBwYWRkaW5nIG9mIHRoZSBpbmxpbmUgbGlzdC5cbiRpbmxpbmUtbGlzdC10b3AtbWFyZ2luOiAwICFkZWZhdWx0O1xuJGlubGluZS1saXN0LW9wcG9zaXRlLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygxNykgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1tYXJnaW46IHJlbS1jYWxjKC0yMikgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1saXN0LW1hcmdpbjogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuXG4kaW5saW5lLWxpc3QtcGFkZGluZzogMCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgb3ZlcmZsb3cgb2YgdGhlIGlubGluZSBsaXN0LlxuJGlubGluZS1saXN0LW92ZXJmbG93OiBoaWRkZW4gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbXNcbiRpbmxpbmUtbGlzdC1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbnkgZWxlbWVudHMgd2l0aGluIGxpc3QgaXRlbXNcbiRpbmxpbmUtbGlzdC1jaGlsZHJlbi1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgaW5saW5lIGxpc3RzXG5AbWl4aW4gaW5saW5lLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tdG9wOiAkaW5saW5lLWxpc3QtdG9wLW1hcmdpbjtcbiAgbWFyZ2luLWJvdHRvbTogJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW47XG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbWFyZ2luO1xuICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGlubGluZS1saXN0LW9wcG9zaXRlLW1hcmdpbjtcbiAgb3ZlcmZsb3c6ICRpbmxpbmUtbGlzdC1vdmVyZmxvdztcbiAgcGFkZGluZzogJGlubGluZS1saXN0LXBhZGRpbmc7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogJGlubGluZS1saXN0LWRpc3BsYXk7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1saXN0LW1hcmdpbjtcbiAgICA+ICogeyBkaXNwbGF5OiAkaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJpbmxpbmUtbGlzdFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXMge1xuICAgIC5pbmxpbmUtbGlzdCB7XG4gICAgICBAaW5jbHVkZSBpbmxpbmUtbGlzdCgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWpveXJpZGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBDb250cm9sbGluZyBkZWZhdWx0IEpveXJpZGUgc3R5bGVzXG4kam95cmlkZS10aXAtYmc6ICRvaWwgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtcGFkZGluZzogcmVtLWNhbGMoMTggMjAgMjQpICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWJvcmRlcjogc29saWQgMXB4ICRjaGFyY29hbCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ6IDIycHggIWRlZmF1bHQ7XG5cbi8vIEhlcmUsIHdlJ3JlIHNldHRpbmcgdGhlIHRpcCBmb250IHN0eWxlc1xuJGpveXJpZGUtdGlwLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gVGhpcyBjaGFuZ2VzIHRoZSBudWIgc2l6ZVxuJGpveXJpZGUtdGlwLW51Yi1zaXplOiAxMHB4ICFkZWZhdWx0O1xuXG4vLyBUaGlzIGFkanVzdHMgdGhlIHN0eWxlcyBmb3IgdGhlIHRpbWVyIHdoZW4gaXRzIGVuYWJsZWRcbiRqb3lyaWRlLXRpcC10aW1lci13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC10aW1lci1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuXG4vLyBUaGlzIGNoYW5nZXMgdXAgdGhlIHN0eWxlcyBmb3IgdGhlIGNsb3NlIGJ1dHRvblxuJGpveXJpZGUtdGlwLWNsb3NlLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1jbG9zZS1zaXplOiAyNHB4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWNsb3NlLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8gV2hlbiBKb3lyaWRlIGlzIGZpbGxpbmcgdGhlIHNjcmVlbiwgd2UgdXNlIHRoaXMgc3R5bGUgZm9yIHRoZSBiZ1xuJGpveXJpZGUtc2NyZWVuZmlsbDogcmdiYSgwLDAsMCwwLjUpICFkZWZhdWx0O1xuXG5cbi8vIFdlIGRlY2lkZWQgbm90IHRvIG1ha2UgYSBtaXhpbiBmb3IgdGhpcyBiZWNhdXNlIGl0IHJlbGllcyBvblxuLy8gcHJlZGVmaW5lZCBjbGFzc2VzIHRvIHdvcmsgcHJvcGVybHkuXG5AaW5jbHVkZSBleHBvcnRzKFwiam95cmlkZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWpveXJpZGUtY2xhc3NlcyB7XG5cbiAgICAvKiBGb3VuZGF0aW9uIEpveXJpZGUgKi9cbiAgICAuam95cmlkZS1saXN0IHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLyogRGVmYXVsdCBzdHlsZXMgZm9yIHRoZSBjb250YWluZXIgKi9cbiAgICAuam95cmlkZS10aXAtZ3VpZGUge1xuICAgICAgYmFja2dyb3VuZDogJGpveXJpZGUtdGlwLWJnO1xuICAgICAgY29sb3I6ICRqb3lyaWRlLXRpcC1mb250LWNvbG9yO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogOTUlO1xuICAgICAgei1pbmRleDogMTAzO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDIuNSU7XG4gICAgfVxuXG4gICAgLmx0LWllOSAuam95cmlkZS10aXAtZ3VpZGUge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtNDAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICB9XG5cbiAgICAuam95cmlkZS1jb250ZW50LXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogJGpveXJpZGUtdGlwLXBhZGRpbmc7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmJ1dHRvbiB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4gICAgICAuam95cmlkZS1wcmV2LXRpcCB7IG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIH1cblxuICAgIC8qIEFkZCBhIGxpdHRsZSBjc3MgdHJpYW5nbGUgcGlwLCBvbGRlciBicm93c2VyIGp1c3QgbWlzcyBvdXQgb24gdGhlIGZhbmNpbmVzcyBvZiBpdCAqL1xuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7XG4gICAgICAuam95cmlkZS1udWIge1xuICAgICAgICBib3JkZXI6ICRqb3lyaWRlLXRpcC1udWItc2l6ZSBzb2xpZCAkam95cmlkZS10aXAtYmc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0O1xuXG4gICAgICAgICYudG9wIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZztcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICB0b3A6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICB9XG4gICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvdHRvbTogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgIH1cblxuICAgICAgICAmLnJpZ2h0IHsgcmlnaHQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpOyB9XG4gICAgICAgICYubGVmdCB7IGxlZnQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogVHlwb2dyYXBoeSAqL1xuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoMSxcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDIsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGgzLFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoNCxcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDUsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGg2IHtcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkam95cmlkZS10aXAtaGVhZGVyLXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuam95cmlkZS10aXAtZ3VpZGUgcCB7XG4gICAgICBmb250LXNpemU6ICRqb3lyaWRlLXRpcC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTggMCk7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtdGltZXItaW5kaWNhdG9yLXdyYXAge1xuICAgICAgYm9yZGVyOiAkam95cmlkZS10aXAtYm9yZGVyO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICBoZWlnaHQ6ICRqb3lyaWRlLXRpcC10aW1lci1oZWlnaHQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogJGpveXJpZGUtdGlwLXRpbWVyLXdpZHRoO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogcmVtLWNhbGMoMTcpO1xuICAgIH1cbiAgICAuam95cmlkZS10aW1lci1pbmRpY2F0b3Ige1xuICAgICAgYmFja2dyb3VuZDogJGpveXJpZGUtdGlwLXRpbWVyLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB3aWR0aDogMDtcbiAgICB9XG5cbiAgICAuam95cmlkZS1jbG9zZS10aXAge1xuICAgICAgY29sb3I6ICRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAkam95cmlkZS10aXAtY2xvc2Utc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkam95cmlkZS10aXAtY2xvc2Utd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6IC41ICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMnB4O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7IGNvbG9yOiAkc21va2UgIWltcG9ydGFudDsgfVxuICAgIH1cblxuICAgIC5qb3lyaWRlLW1vZGFsLWJnIHtcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXNjcmVlbmZpbGw7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLWV4cG9zZS13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4ICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDEwMjtcbiAgICB9XG5cbiAgICAuam95cmlkZS1leHBvc2UtY292ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG5cblxuICAgIC8qIFN0eWxlcyBmb3Igc2NyZWVucyB0aGF0IGFyZSBhdCBsZWFzdCA3NjhweDsgKi9cbiAgICBAbWVkaWEgI3skc21hbGx9IHtcbiAgICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7IHdpZHRoOiAkam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDsgI3skZGVmYXVsdC1mbG9hdH06IGluaGVyaXQ7XG4gICAgICAgIC5qb3lyaWRlLW51YiB7XG4gICAgICAgICAgJi5ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvdHRvbTogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgICAgfVxuICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICAgICAgdG9wOiAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZWZ0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdG9wOiAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGVzLlxuJGtleXN0cm9rZS1mb250OiBcIkNvbnNvbGFzXCIsIFwiTWVubG9cIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZm9udC1zaXplOiBpbmhlcml0ICFkZWZhdWx0O1xuJGtleXN0cm9rZS1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3I6IC03JSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBrZXlzdHJva2UgcGFkZGluZy5cbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzLlxuJGtleXN0cm9rZS1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGtleXN0cm9rZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRrZXlzdHJva2UtYmcsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUga2V5c3Ryb2tlIHN0eWxlcy5cbi8vICRiZyAtIERlZmF1bHQ6ICRrZXlzdHJva2UtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG5AbWl4aW4ga2V5c3Ryb2tlKCRiZzoka2V5c3Ryb2tlLWJnKSB7XG4gIC8vIFRoaXMgZmluZCB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIGJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3Rvcik7XG5cbiAgLy8gV2UgYWRqdXN0IHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBicmlnaHRuZXNzIG9mIHRoZSBiYWNrZ3JvdW5kLlxuICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSB7IGNvbG9yOiAka2V5c3Ryb2tlLWZvbnQtY29sb3I7IH1cbiAgQGVsc2UgeyBjb2xvcjogJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDsgfVxuXG4gIGJvcmRlci1zdHlsZTogJGtleXN0cm9rZS1ib3JkZXItc3R5bGU7XG4gIGJvcmRlci13aWR0aDogJGtleXN0cm9rZS1ib3JkZXItd2lkdGg7XG4gIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gIGZvbnQtc2l6ZTogJGtleXN0cm9rZS1mb250LXNpemU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwia2V5c3Ryb2tlXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwta2V5c3Ryb2tlLWNsYXNzZXMgIHtcbiAgICAua2V5c3Ryb2tlLFxuICAgIGtiZCB7XG4gICAgICBAaW5jbHVkZSBrZXlzdHJva2U7XG4gICAgICBAaW5jbHVkZSByYWRpdXMoJGtleXN0cm9rZS1yYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHNcbiRsYWJlbC1wYWRkaW5nOiByZW0tY2FsYyg0IDggNCkgIWRlZmF1bHQ7XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbCB0ZXh0XG4kbGFiZWwtZm9udC1zaXppbmc6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgbGFiZWwgYmFzZS5cbkBtaXhpbiBsYWJlbC1iYXNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGxhYmVsLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBsYWJlbCBzaXplIHN0eWxlcy5cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBkZXRlcm1pbmUgbGFiZWwgcGFkZGluZy4gRGVmYXVsdDogJGxhYmVsLXBhZGRpbmcgfHwgcmVtLWNhbGMoNCA4IDQpICFkZWZhdWx0XG4vLyAkdGV4dC1zaXplIC0gVXNlZCB0byBkZXRlcm1pbmUgbGFiZWwgdGV4dC1zaXplLiBEZWZhdWx0OiAkdGV4dC1zaXplIGZvdW5kIGluIHNldHRpbmdzXG5AbWl4aW4gbGFiZWwtc2l6ZSgkcGFkZGluZzokbGFiZWwtcGFkZGluZywgJHRleHQtc2l6ZTokbGFiZWwtZm9udC1zaXppbmcpIHtcbiAgQGlmICRwYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmc7IH1cbiAgQGlmICR0ZXh0LXNpemUgeyBmb250LXNpemU6ICR0ZXh0LXNpemU7IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBsYWJlbCBzdHlsZXMuXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvciAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbi8vICRyYWRpdXMgLSBEZWZhdWx0OiBmYWxzZSwgT3B0aW9uczogdHJ1ZSwgc2V0cyByYWRpdXMgdG8gJGdsb2JhbC1yYWRpdXMgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gbGFiZWwtc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGNvbWVzIHRocm91Z2hcbiAgQGlmICRiZyB7XG5cbiAgICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gICAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgIEBpZiAkYmctbGlnaHRuZXNzIDwgNzAlIHsgY29sb3I6ICRsYWJlbC1mb250LWNvbG9yLWFsdDsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRsYWJlbC1mb250LWNvbG9yOyB9XG4gIH1cblxuICAvLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSByYWRpdXMgb24gbGFiZWxzLlxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRsYWJlbC1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGNsb3NlIGJ1dHRvbnMgdG8gYWxlcnRzXG4vLyAkcGFkZGluZyAtIERlZmF1bHQ6ICRsYWJlbC1wYWRkaW5nLFxuLy8gJHRleHQtc2l6ZSAtIERlZmF1bHQ6ICRsYWJlbC1mb250LXNpemluZyxcbi8vICRiZyAtIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWUgd2hpY2ggc2V0cyByYWRpdXMgdG8gJGdsb2JhbC1yYWRpdXMgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gbGFiZWwoJHBhZGRpbmc6JGxhYmVsLXBhZGRpbmcsICR0ZXh0LXNpemU6JGxhYmVsLWZvbnQtc2l6aW5nLCAkYmc6JHByaW1hcnktY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcblxuICBAaW5jbHVkZSBsYWJlbC1iYXNlO1xuICBAaW5jbHVkZSBsYWJlbC1zaXplKCRwYWRkaW5nLCAkdGV4dC1zaXplKTtcbiAgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGJnLCAkcmFkaXVzKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImxhYmVsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbGFiZWwtY2xhc3NlcyB7XG4gICAgLmxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGxhYmVsLWJhc2U7XG4gICAgICBAaW5jbHVkZSBsYWJlbC1zaXplO1xuICAgICAgQGluY2x1ZGUgbGFiZWwtc3R5bGU7XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoZmFsc2UsIHRydWUpOyB9XG4gICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoZmFsc2UsICRyYWRpdXM6MTAwMHB4KTsgfVxuXG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRhbGVydC1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgJi5pbmZvICAgICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkaW5mby1jb2xvcik7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1tYWdlbGxhbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRtYWdlbGxhbi1iZzogJHdoaXRlICFkZWZhdWx0O1xuJG1hZ2VsbGFuLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJtYWdlbGxhblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1hZ2VsbGFuLWNsYXNzZXMge1xuXG4gICAgI3tkYXRhKCdtYWdlbGxhbi1leHBlZGl0aW9uJyl9LCAje2RhdGEoJ21hZ2VsbGFuLWV4cGVkaXRpb24tY2xvbmUnKX0ge1xuICAgICAgYmFja2dyb3VuZDogJG1hZ2VsbGFuLWJnO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogJG1hZ2VsbGFuLXBhZGRpbmc7XG4gICAgICB6LWluZGV4OiA1MDtcblxuICAgICAgLnN1Yi1uYXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBkZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW9yYml0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGNhcHRpb24gc3R5bGVzXG4kb3JiaXQtY29udGFpbmVyLWJnOiBub25lICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24tYmc6IHJnYmEoNTEsNTEsNTEsIC44KSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24tcG9zaXRpb246IFwiYm90dG9tXCIgIWRlZmF1bHQ7IC8vIFN1cHBvcnRlZCB2YWx1ZXM6IFwiYm90dG9tXCIsIFwidW5kZXJcIlxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogcmVtLWNhbGMoMTAgMTQpICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24taGVpZ2h0OiBhdXRvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGVmdC9yaWdodCBuYXYgc3R5bGVzXG4kb3JiaXQtbmF2LWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYmctaG92ZXI6IHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYXJyb3ctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xuJG9yYml0LXRpbWVyLWJnOiByZ2JhKDI1NSwyNTUsMjU1LDAuMykgIWRlZmF1bHQ7XG4kb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXI6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBidWxsZXQgbmF2IHN0eWxlc1xuJG9yYml0LWJ1bGxldC1uYXYtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kb3JiaXQtYnVsbGV0LXJhZGl1czogcmVtLWNhbGMoOSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgc3R5bGUgb2Ygc2xpZGUgbnVtYmVyc1xuJG9yYml0LXNsaWRlLW51bWJlci1iZzogcmdiYSgwLDAsMCwwKSAhZGVmYXVsdDtcbiRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcblxuLy8gR3JhY2VmdWwgTG9hZGluZyBXcmFwcGVyIGFuZCBwcmVsb2FkZXJcbiR3cmFwcGVyLWNsYXNzOiBcInNsaWRlc2hvdy13cmFwcGVyXCIgIWRlZmF1bHQ7XG4kcHJlbG9hZGVyLWNsYXNzOiBcInByZWxvYWRlclwiICFkZWZhdWx0O1xuXG4vLyBIaWRlIGNvbnRyb2xzIG9uIHNtYWxsXG4kb3JiaXQtbmF2LWhpZGUtZm9yLXNtYWxsOiB0cnVlICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcbiRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcblxuXG5AaW5jbHVkZSBleHBvcnRzKFwib3JiaXRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1vcmJpdC1jbGFzc2VzIHtcblxuICAgIEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGUge1xuICAgICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgQGtleWZyYW1lcyByb3RhdGUge1xuICAgICAgZnJvbSB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICAgIHRvIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogT3JiaXQgR3JhY2VmdWwgTG9hZGluZyAqL1xuICAgIC4jeyR3cmFwcGVyLWNsYXNzfSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgLy8gUHJldmVudCBidWxsZXRzIHNob3dpbmcgYmVmb3JlIC5vcmJpdC1jb250YWluZXIgaXMgbG9hZGVkXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC8vIEhpZGUgYWxsIGxpc3QgaXRlbXNcbiAgICAgICAgbGksXG4gICAgICAgIGxpIC5vcmJpdC1jYXB0aW9uIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC8vIC4uLmV4Y2VwdCBmb3IgdGhlIGZpcnN0IG9uZVxuICAgICAgICBsaTpmaXJzdC1jaGlsZCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICB9XG5cbiAgICAgIC5vcmJpdC1jb250YWluZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAvLyBTaG93IGltYWdlcyB3aGVuIC5vcmJpdC1jb250YWluZXIgaXMgbG9hZGVkXG4gICAgICAgIGxpIHsgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAub3JiaXQtY2FwdGlvbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIH1cbiAgICAgICAgLm9yYml0LWJ1bGxldHMgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPcmJpdCBwcmVsb2FkZXJcbiAgICAgIC4jeyRwcmVsb2FkZXItY2xhc3N9IHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGU7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2hhcmNvYWwgJHdoaXRlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIDNweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9yYml0LWNvbnRhaW5lci1iZztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAvLyBQcmV2ZW50cyBpbWFnZXMgKGFuZCBjYXB0aW9ucykgZnJvbSBkaXNhcHBlYXJpbmcgYWZ0ZXIgZmlyc3Qgcm90YXRpb24gb24gQ2hyb21lIGZvciBBbmRyb2lkXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cbiAgICAgICAgaW1nIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogMTAwJTsgfVxuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHtcbiAgICAgICAgICAgIEBpZiAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbiA9PSBcImJvdHRvbVwiIHtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uID09IFwidW5kZXJcIiB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmc7XG4gICAgICAgICAgICBjb2xvcjogJG9yYml0LWNhcHRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG9yYml0LWNhcHRpb24tZm9udC1zaXplO1xuICAgICAgICAgICAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JiaXQtc2xpZGUtbnVtYmVyIHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1zbGlkZS1udW1iZXItYmc7XG4gICAgICAgIGNvbG9yOiAkb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBzcGFuIHsgZm9udC13ZWlnaHQ6IDcwMDsgcGFkZGluZzogJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nO31cbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgIH1cblxuICAgICAgLm9yYml0LXRpbWVyIHtcbiAgICAgICAgXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgXG5cbiAgICAgICAgLm9yYml0LXByb2dyZXNzIHtcbiAgICAgICAgICBAaWYgJG9yYml0LXRpbWVyLXNob3ctcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LXRpbWVyLWJnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQbGF5IGJ1dHRvblxuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQYXVzZSBidXR0b25cbiAgICAgICAgJi5wYXVzZWQge1xuICAgICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCA4cHg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC00cHg7XG5cbiAgICAgICAgICAgICYuZGFyayB7XG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkb2lsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuICAgICAgJjpob3ZlciAub3JiaXQtdGltZXIgPiBzcGFuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgICAgLy8gTGV0J3MgZ2V0IHRob3NlIGNvbnRyb2xzIHRvIGJlIHJpZ2h0IGluIHRoZSBjZW50ZXIgb24gZWFjaCBzaWRlXG4gICAgICAub3JiaXQtcHJldixcbiAgICAgIC5vcmJpdC1uZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LW5hdi1iZztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweCAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDQ1JTtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1uYXYtYmctaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyOiBpbnNldCAxMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5vcmJpdC1wcmV2IHsgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5vcmJpdC1uZXh0IHsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3I7XG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC00cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5vcmJpdC1idWxsZXRzLWNvbnRhaW5lciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5vcmJpdC1idWxsZXRzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgYXV0byAzMHB4IGF1dG87XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdG9wOiAxMHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1idWxsZXQtbmF2LWNvbG9yO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy8gZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LXJhZGl1cztcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDZweDtcbiAgICAgICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtcmFkaXVzO1xuXG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50b3VjaCB7XG4gICAgICAub3JiaXQtY29udGFpbmVyIHtcbiAgICAgICAgLm9yYml0LXByZXYsXG4gICAgICAgIC5vcmJpdC1uZXh0IHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgfVxuXG4gICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcblxuICAgICAgLnRvdWNoIHtcbiAgICAgICAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgICAgICAgLm9yYml0LXByZXYsXG4gICAgICAgICAgLm9yYml0LW5leHQgeyBkaXNwbGF5OiBpbmhlcml0OyB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgLm9yYml0LXN0YWNrLW9uLXNtYWxsIHtcbiAgICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIge2hlaWdodDogYXV0byAhaW1wb3J0YW50O31cbiAgICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIgPiAqIHtcbiAgICAgICAgICBtYXJnaW46MCAgIWltcG9ydGFudDtcbiAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yYml0LXNsaWRlLW51bWJlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJG9yYml0LXRpbWVyLWhpZGUtZm9yLXNtYWxsIHtcbiAgICAgICAgIC5vcmJpdC10aW1lcntkaXNwbGF5OiBub25lO31cbiAgICAgIH1cbiAgICAgIEBpZiAkb3JiaXQtbmF2LWhpZGUtZm9yLXNtYWxsIHtcbiAgICAgICAgIC5vcmJpdC1uZXh0LC5vcmJpdC1wcmV2e2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgfVxuICAgICAgQGlmICRvcmJpdC1idWxsZXQtaGlkZS1mb3Itc21hbGwge1xuICAgICAgICAgLm9yYml0LWJ1bGxldHN7ZGlzcGxheTogbm9uZTt9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLXBhZ2luYXRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcGFnaW5hdGlvbiBjb250YWluZXJcbiRwYWdpbmF0aW9uLWhlaWdodDogcmVtLWNhbGMoMjQpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbWFyZ2luOiByZW0tY2FsYygtNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGxpc3QtaXRlbSBwcm9wZXJ0aWVzXG4kcGFnaW5hdGlvbi1saS1mbG9hdDogJGRlZmF1bHQtZmxvYXQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1oZWlnaHQ6IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLW1hcmdpbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgdGhlIHBhZ2luYXRpb24gYW5jaG9yIGxpbmtzXG4kcGFnaW5hdGlvbi1saW5rLXBhZDogcmVtLWNhbGMoMSAxMCAxKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1hY3RpdmUtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgZGlzYWJsZWQgYW5jaG9yIGxpbmtzXG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWN1cnNvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGN1cnJlbnRseSBzZWxlY3RlZCBhbmNob3IgbGlua3NcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWN1cnNvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gU3R5bGUgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyLiBDdXJyZW50bHkgb25seSB1c2VkIHdoZW4gY2VudGVyaW5nIGVsZW1lbnRzLlxuLy8gJGNlbnRlciAtIERlZmF1bHQ6IGZhbHNlLCBPcHRpb25zOiB0cnVlXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIoJGNlbnRlcjpmYWxzZSkge1xuICBAaWYgJGNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxufVxuXG4vLyBAbWl4aW5zXG4vLyBTdHlsZSB1bmF2YWlsYWJsZSBsaXN0IGl0ZW1zXG5AbWl4aW4gcGFnaW5hdGlvbi11bmF2YWlsYWJsZS1pdGVtIHtcbiAgYSwgYnV0dG9uIHtcbiAgICBjdXJzb3I6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtY3Vyc29yO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgJjpob3ZlciBhLFxuICAmIGE6Zm9jdXMsXG5cbiAgJjpob3ZlciBidXR0b24sXG4gICYgYnV0dG9uOmZvY3VzXG4gIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU7IH1cbn1cbi8vIEBtaXhpbnNcbi8vIFN0eWxlIHRoZSBjdXJyZW50IGxpc3QgaXRlbS4gRG8gbm90IGFzc3VtZSB0aGF0IHRoZSBjdXJyZW50IGl0ZW0gaGFzXG4vLyBhbiBhbmNob3IgPGE+IGVsZW1lbnQuXG4vLyAkaGFzLWFuY2hvciAtIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG5AbWl4aW4gcGFnaW5hdGlvbi1jdXJyZW50LWl0ZW0oJGhhcy1hbmNob3I6IHRydWUpIHtcbiAgQGlmICRoYXMtYW5jaG9yIHtcbiAgICBhLCBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I7XG4gICAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc7IH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I7XG4gICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24tbGluay1wYWQ7XG4gICAgQGluY2x1ZGUgcmFkaXVzO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzsgfVxuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzZXQgdGhlIHByb3BlcnRpZXMgZm9yIHRoZSBjcmVhdGluZyBGb3VuZGF0aW9uIHBhZ2luYXRpb25cbi8vICRjZW50ZXIgLSBMZWZ0IG9yIGNlbnRlciBhbGlnbiB0aGUgbGkgZWxlbWVudHMuIERlZmF1bHQ6IGZhbHNlXG4vLyAkYmFzZS1zdHlsZSAtIFNldHMgYmFzZSBzdHlsZXMgZm9yIHBhZ2luYXRpb24uIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkdXNlLWRlZmF1bHQtY2xhc3NlcyAtIE1ha2VzIHVuYXZhaWxhYmxlICYgY3VycmVudCBjbGFzc2VzIGF2YWlsYWJsZSBmb3IgdXNlLiBEZWZhdWx0OiB0cnVlXG5AbWl4aW4gcGFnaW5hdGlvbigkY2VudGVyOmZhbHNlLCAkYmFzZS1zdHlsZTp0cnVlLCAkdXNlLWRlZmF1bHQtY2xhc3Nlczp0cnVlKSB7XG5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRwYWdpbmF0aW9uLW1hcmdpbjtcbiAgICBtaW4taGVpZ2h0OiAkcGFnaW5hdGlvbi1oZWlnaHQ7XG5cbiAgICBsaSB7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tbGktZm9udC1zaXplO1xuICAgICAgaGVpZ2h0OiAkcGFnaW5hdGlvbi1saS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRwYWdpbmF0aW9uLWxpLW1hcmdpbjtcblxuICAgICAgYSwgYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzO1xuICAgICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstZm9udC1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogJHBhZ2luYXRpb24tbGluay1wYWQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgYSxcbiAgICAgIGE6Zm9jdXMsXG4gICAgICAmOmhvdmVyIGJ1dHRvbixcbiAgICAgIGJ1dHRvbjpmb2N1c1xuICAgICAgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzsgfVxuXG4gICAgICBAaWYgJHVzZS1kZWZhdWx0LWNsYXNzZXMge1xuICAgICAgICAmLnVuYXZhaWxhYmxlIHsgQGluY2x1ZGUgcGFnaW5hdGlvbi11bmF2YWlsYWJsZS1pdGVtKCk7IH1cbiAgICAgICAgJi5jdXJyZW50IHsgQGluY2x1ZGUgcGFnaW5hdGlvbi1jdXJyZW50LWl0ZW0oKTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50c1xuICBsaSB7XG4gICAgQGlmICRjZW50ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfSBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiAkcGFnaW5hdGlvbi1saS1mbG9hdDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInBhZ2luYXRpb25cIikge1xuICBAaWYgJGluY2x1ZGUtcGFnaW5hdGlvbi1jbGFzc2VzIHtcbiAgICB1bC5wYWdpbmF0aW9uIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb247XG4gICAgfVxuXG4gICAgLyogUGFnaW5hdGlvbiBjZW50cmVkIHdyYXBwZXIgKi9cbiAgICAucGFnaW5hdGlvbi1jZW50ZXJlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcih0cnVlKTtcblxuICAgICAgdWwucGFnaW5hdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24odHJ1ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXNcbiRwYW5lbC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhbmVsLWJnOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogOTQlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgJSB0byBjb250cm9sIGhvdyBtdWNoIHdlIGRhcmtlbiB0aGluZ3Mgb24gaG92ZXJcbiRwYW5lbC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwYW5lbC1iZywgJGxpZ2h0bmVzczogLTExJSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBpbm5lciBwYWRkaW5nIGFuZCBib3R0b20gbWFyZ2luXG4kcGFuZWwtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHBhbmVsLXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGZvbnQgY29sb3JzXG4kcGFuZWwtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRwYW5lbC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuXG4kcGFuZWwtaGVhZGVyLWFkanVzdDogdHJ1ZSAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwYW5lbHMuXG4vLyAkYmcgLSBTZXRzIHRoZSBwYW5lbCBiYWNrZ3JvdW5kIGNvbG9yLiBEZWZhdWx0OiAkcGFuZWwtcGcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0XG4vLyAkcGFkZGluZyAtIFNldHMgdGhlIHBhbmVsIHBhZGRpbmcgYW1vdW50LiBEZWZhdWx0OiAkcGFuZWwtcGFkZGluZyB8fCByZW0tY2FsYygyMClcbi8vICRhZGp1c3QgLSBTZXRzIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBkYXJrbmVzcyBvZiB0aGUgYmcgJiByZXNldHMgaGVhZGVyIGxpbmUtaGVpZ2h0cyBmb3IgcGFuZWxzLiBEZWZhdWx0OiAkcGFuZWwtaGVhZGVyLWFkanVzdCB8fCB0cnVlXG5AbWl4aW4gcGFuZWwoJGJnOiRwYW5lbC1iZywgJHBhZGRpbmc6JHBhbmVsLXBhZGRpbmcsICRhZGp1c3Q6JHBhbmVsLWhlYWRlci1hZGp1c3QsICRib3JkZXI6dHJ1ZSkge1xuXG4gIEBpZiAkYmcge1xuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gICAgQGlmICRib3JkZXIge1xuICAgICAgYm9yZGVyLXN0eWxlOiAkcGFuZWwtYm9yZGVyLXN0eWxlO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcGFuZWwtYm9yZGVyLXNpemU7XG4gICAgICBib3JkZXItY29sb3I6ICRwYW5lbC1ib3JkZXItY29sb3I7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgbWFyZ2luLWJvdHRvbTogJHBhbmVsLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgQGlmICRiZy1saWdodG5lc3MgPj0gNTAlIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3ItYWx0OyB9XG5cbiAgICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICAgID4gOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICAgID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgICBAaWYgJGFkanVzdCB7XG4gICAgICAvLyBXZSBzZXQgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gdGhlIGRhcmtuZXNzIG9mIHRoZSBiZy5cbiAgICAgIEBpZiAkYmctbGlnaHRuZXNzID49IDUwJSB7XG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGxpLCBkbCB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvcjsgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBsaSwgZGwgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3ItYWx0OyB9XG4gICAgICB9XG5cbiAgICAgIC8vIHJlc2V0IGhlYWRlciBsaW5lLWhlaWdodHMgZm9yIHBhbmVsc1xuICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgLyAyO1xuICAgICAgICAmLnN1YmhlYWRlciB7IGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInBhbmVsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlcyB7XG5cbiAgICAvKiBQYW5lbHMgKi9cbiAgICAucGFuZWwgeyBAaW5jbHVkZSBwYW5lbDtcblxuICAgICAgJi5jYWxsb3V0IHtcbiAgICAgICAgQGluY2x1ZGUgcGFuZWwoJGNhbGxvdXQtcGFuZWwtYmcpO1xuICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgY29sb3I6ICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I7XG5cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm9yZGVyIGNvbG9yXG4kcHJpY2UtdGFibGUtYm9yZGVyOiBzb2xpZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgcHJpY2luZyB0YWJsZVxuJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpdGxlIHN0eWxlc1xuJHByaWNlLXRpdGxlLWJnOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKSAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLWNvbG9yOiAkc21va2UgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwcmljZSBzdHlsZXNcbiRwcmljZS1tb25leS1iZzogJHZhcG9yICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKSAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1zaXplOiByZW0tY2FsYygzMikgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBkZXNjcmlwdGlvbiBzdHlsZXNcbiRwcmljZS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJHByaWNlLWRlc2Mtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI6IGRvdHRlZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbSBzdHlsZXNcbiRwcmljZS1pdGVtLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0td2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgQ1RBIGFyZWEgc3R5bGVzXG4kcHJpY2UtY3RhLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJpY2UtY3RhLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtY3RhLXBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwIDApICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBjb250YWluZXIgZWxlbWVudCBmb3IgdGhlIHByaWNpbmcgdGFibGVzXG5AbWl4aW4gcHJpY2luZy10YWJsZS1jb250YWluZXIge1xuICBib3JkZXI6ICRwcmljZS10YWJsZS1ib3JkZXI7XG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b207XG5cbiAgJiAqIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBwcmljaW5nIHRhYmxlIHRpdGxlIHN0eWxlc1xuQG1peGluIHByaWNpbmctdGFibGUtdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtdGl0bGUtYmc7XG4gIGNvbG9yOiAkcHJpY2UtdGl0bGUtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkcHJpY2UtdGl0bGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJHByaWNlLXRpdGxlLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtdGl0bGUtd2VpZ2h0O1xuICBwYWRkaW5nOiAkcHJpY2UtdGl0bGUtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLXRpdGxlLWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCB0aGUgcHJpY2luZyB0YWJsZSBwcmljZSBzdHlsZXNcbkBtaXhpbiBwcmljaW5nLXRhYmxlLXByaWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLW1vbmV5LWJnO1xuICBjb2xvcjogJHByaWNlLW1vbmV5LWNvbG9yO1xuICBmb250LWZhbWlseTogJHByaWNlLW1vbmV5LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRwcmljZS1tb25leS1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLW1vbmV5LXdlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLW1vbmV5LXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1tb25leS1hbGlnbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgZGVzY3JpcHRpb24gc3R5bGVzIGZvciB0aGUgcHJpY2luZyB0YWJsZVxuQG1peGluIHByaWNpbmctdGFibGUtZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI7XG4gIGNvbG9yOiAkcHJpY2UtZGVzYy1jb2xvcjtcbiAgZm9udC1zaXplOiAkcHJpY2UtZGVzYy1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtZGVzYy13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkcHJpY2UtZGVzYy1saW5lLWhlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLWRlc2MtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLWRlc2MtYWxpZ247XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSB0aGUgYnVsbGV0IGl0ZW1zIGluIHRoZSBwcmljaW5nIHRhYmxlXG5AbWl4aW4gcHJpY2luZy10YWJsZS1idWxsZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1pdGVtLWJvdHRvbS1ib3JkZXI7XG4gIGNvbG9yOiAkcHJpY2UtaXRlbS1jb2xvcjtcbiAgZm9udC1zaXplOiAkcHJpY2UtaXRlbS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtaXRlbS13ZWlnaHQ7XG4gIHBhZGRpbmc6ICRwcmljZS1pdGVtLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1pdGVtLWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgdGhlIENUQSBhcmVhIG9mIHRoZSBwcmljaW5nIHRhYmxlc1xuQG1peGluIHByaWNpbmctdGFibGUtY3RhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWN0YS1iZztcbiAgcGFkZGluZzogJHByaWNlLWN0YS1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtY3RhLWFsaWduO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicHJpY2luZy10YWJsZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXByaWNpbmctY2xhc3NlcyB7XG5cbiAgICAvKiBQcmljaW5nIFRhYmxlcyAqL1xuICAgIC5wcmljaW5nLXRhYmxlIHtcbiAgICAgIEBpbmNsdWRlIHByaWNpbmctdGFibGUtY29udGFpbmVyO1xuXG4gICAgICAudGl0bGUgeyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLXRpdGxlOyB9XG4gICAgICAucHJpY2UgeyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLXByaWNlOyB9XG4gICAgICAuZGVzY3JpcHRpb24geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWRlc2NyaXB0aW9uOyB9XG4gICAgICAuYnVsbGV0LWl0ZW0geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWJ1bGxldDsgfVxuICAgICAgLmN0YS1idXR0b24geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWN0YTsgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIHByb2dyZXNzIGJhciBoZWlnaHRcbiRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAkdmFwb3IgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4kcHJvZ3Jlc3MtYmFyLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAyMCUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcbiRwcm9ncmVzcy1iYXItcGFkOiByZW0tY2FsYygyKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBtZXRlciBjb2xvcnNcbiRwcm9ncmVzcy1tZXRlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3I6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdXAgdGhlIHByb2dyZXNzIGJhciBjb250YWluZXJcbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICBib3JkZXI6ICRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemUgJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGUgJHByb2dyZXNzLWJhci1ib3JkZXItY29sb3I7XG4gIGhlaWdodDogJHByb2dyZXNzLWJhci1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZzogJHByb2dyZXNzLWJhci1wYWQ7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJvZ3Jlc3MtbWV0ZXItY29sb3IgfHwgJHByaW1hcnktY29sb3JcbkBtaXhpbiBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6ICRiZztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwicHJvZ3Jlc3MtYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XG5cbiAgICAvKiBQcm9ncmVzcyBCYXIgKi9cbiAgICAucHJvZ3Jlc3Mge1xuICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgICAvLyBNZXRlclxuICAgICAgLm1ldGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG5cbiAgICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1zdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcik7IH1cbiAgICAgIH1cbiAgICAgICYuc2Vjb25kYXJ5IC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgJi5zdWNjZXNzIC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQgLm1ldGVyIHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcik7IH1cblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgLm1ldGVyIHsgQGluY2x1ZGUgcmFkaXVzKCRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1cyAtIDEpOyB9XG4gICAgICB9XG5cbiAgICAgICYucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcbiAgICAgICAgLm1ldGVyIHsgQGluY2x1ZGUgcmFkaXVzKDk5OXB4KTsgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZSBfcmFuZ2Utc2xpZGVyLnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBUaGVzZSB2YXJpYWJsZXMgZGVmaW5lIHRoZSBzbGlkZXIgYmFyIHN0eWxlc1xuJHJhbmdlLXNsaWRlci1iYXItd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItYmctY29sb3I6ICRnaG9zdCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC0xJSkgIWRlZmF1bHQ7XG5cbi8vIFZlcnRpY2FsIGJhciBzdHlsZXNcbiRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDIwMCkgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIHZhcmlhYmxlcyBkZWZpbmUgdGhlIHNsaWRlciBoYW5kbGUgc3R5bGVzXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aDogcmVtLWNhbGMoMzIpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtaGVpZ2h0OiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKC01KSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvcjogbm9uZSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctaG92ZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTIlKSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWN1cnNvcjogcG9pbnRlciAhZGVmYXVsdDtcblxuJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuQG1peGluIHJhbmdlLXNsaWRlci1iYXItYmFzZSgkdmVydGljYWw6IGZhbHNlKSB7XG4gIGJvcmRlcjogJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1zdHlsZSAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItY29sb3I7XG4gIG1hcmdpbjogcmVtLWNhbGMoMjAgMCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodDtcbiAgICB3aWR0aDogJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0O1xuICAgIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWJhci13aWR0aDtcbiAgfVxufVxuQG1peGluIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoXG4gICRiZzogdHJ1ZSxcbiAgJHJhZGl1czogZmFsc2UsXG4gICRyb3VuZDogZmFsc2UsXG4gICRkaXNhYmxlZDogZmFsc2UpIHtcbiAgQGlmICRiZyA9PSB0cnVlIHsgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1iYXItYmctY29sb3I7IH1cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJhZGl1cyk7IH1cbiAgQGlmICRyb3VuZCA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcm91bmQpOyB9XG4gIEBpZiAkZGlzYWJsZWQgPT0gdHJ1ZSB7XG4gICAgY3Vyc29yOiAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLWN1cnNvcjtcbiAgICBvcGFjaXR5OiAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1iYXIoXG4gICRiZzogJHJhbmdlLXNsaWRlci1iYXItYmctY29sb3IsXG4gICRyYWRpdXM6ZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlO1xuICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlO1xufVxuXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlKCkge1xuICBib3JkZXI6ICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci13aWR0aCAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItc3R5bGUgJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG9yO1xuICBjdXJzb3I6ICRyYW5nZS1zbGlkZXItaGFuZGxlLWN1cnNvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRyYW5nZS1zbGlkZXItaGFuZGxlLXBvc2l0aW9uLXRvcDtcbiAgd2lkdGg6ICRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoO1xuICB6LWluZGV4OiAxO1xuXG4gIC8vIFRoaXMgcmVtb3ZlcyB0aGUgMzAwbXMgdG91Y2ggZGVsYXkgb24gV2luZG93cyA4XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbkBtaXhpbiByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKFxuICAkYmc6IHRydWUsXG4gICRyYWRpdXM6IGZhbHNlLFxuICAkcm91bmQ6IGZhbHNlLFxuICAkZGlzYWJsZWQ6IGZhbHNlKSB7XG4gIEBpZiAkYmcgPT0gdHJ1ZSB7IGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWNvbG9yOyB9XG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yYWRpdXMpOyB9XG4gIEBpZiAkcm91bmQgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJvdW5kKTsgfVxuICBAaWYgJGRpc2FibGVkID09IHRydWUge1xuICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgIG9wYWNpdHk6ICRyYW5nZS1zbGlkZXItZGlzYWJsZWQtb3BhY2l0eTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1ob3Zlci1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWhhbmRsZSgpIHtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlO1xuICBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlO1xufVxuXG4vLyBDU1MgR2VuZXJhdGlvblxuQGluY2x1ZGUgZXhwb3J0cyhcInJhbmdlLXNsaWRlci1iYXJcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlcyB7XG4gICAgLnJhbmdlLXNsaWRlciB7XG4gICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLWJhc2U7XG4gICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRiZzp0cnVlLCAkcmFkaXVzOmZhbHNlKTtcbiAgICAgICYudmVydGljYWwtcmFuZ2Uge1xuICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLWJhc2UoJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICAgICAgICAgIGJvdHRvbTogLSgkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQgLSAkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aCk7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtKCRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoIC8gNCk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgICAgLnJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbml0aWFsO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodCAtIHJlbS1jYWxjKChzdHJpcC11bml0KCRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCkgKiAyKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkcmFkaXVzOnRydWUpO1xuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7IEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJHJhZGl1czogdHJ1ZSk7IH1cbiAgICAgIH1cbiAgICAgICYucm91bmQge1xuICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRyb3VuZDp0cnVlKTtcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUgeyBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRyb3VuZDogdHJ1ZSk7IH1cbiAgICAgIH1cbiAgICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkZGlzYWJsZWQ6dHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHsgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkZGlzYWJsZWQ6IHRydWUpOyB9XG4gICAgICB9XG4gICAgfVxuICAgIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgICAgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudC1iZy1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQgLSByZW0tY2FsYygoc3RyaXAtdW5pdCgkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGgpICogMikpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XG4gICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLWJhc2U7XG4gICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRiZzp0cnVlLCAkcmFkaXVzOiBmYWxzZSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZ3JpZCc7XG5cbi8vXG4vLyBAbmFtZSBfcmV2ZWFsLnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4kaW5jbHVkZS1odG1sLXJldmVhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgcmV2ZWFsIG92ZXJsYXkuXG4kcmV2ZWFsLW92ZXJsYXktYmc6IHJnYmEoJGJsYWNrLCAuNDUpICFkZWZhdWx0O1xuJHJldmVhbC1vdmVybGF5LWJnLW9sZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIG1vZGFsIGl0c2VsZi5cbiRyZXZlYWwtbW9kYWwtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRyZXZlYWwtcG9zaXRpb24tdG9wOiByZW0tY2FsYygxMDApICFkZWZhdWx0O1xuJHJldmVhbC1kZWZhdWx0LXdpZHRoOiA4MCUgIWRlZmF1bHQ7XG4kcmV2ZWFsLW1heC13aWR0aDogJHJvdy13aWR0aCAhZGVmYXVsdDtcbiRyZXZlYWwtbW9kYWwtcGFkZGluZzogcmVtLWNhbGMoMzApICFkZWZhdWx0O1xuJHJldmVhbC1ib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywuNCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcmV2ZWFsIGNsb3NlIGJ1dHRvblxuJHJldmVhbC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDQwKSAhZGVmYXVsdDtcbiRyZXZlYWwtY2xvc2UtdG9wOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLXNpZGU6IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcbiRyZXZlYWwtY2xvc2UtY29sb3I6ICRiYXNlICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRyZXZlYWwtcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1vZGFsIGJvcmRlclxuJHJldmVhbC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHJldmVhbC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRyZXZlYWwtYm9yZGVyLWNvbG9yOiAkc3RlZWwgIWRlZmF1bHQ7XG5cbiRyZXZlYWwtbW9kYWwtY2xhc3M6IFwicmV2ZWFsLW1vZGFsXCIgIWRlZmF1bHQ7XG4kY2xvc2UtcmV2ZWFsLW1vZGFsLWNsYXNzOiBcImNsb3NlLXJldmVhbC1tb2RhbFwiICFkZWZhdWx0O1xuXG4vLyBTZXQgYmFzZSB6LWluZGV4XG4kei1pbmRleC1iYXNlOiAxMDA1O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSByZXZlYWwgYmFja2dyb3VuZCBvdmVybGF5IHN0eWxlc1xuQG1peGluIHJldmVhbC1iZyggJGluY2x1ZGUtei1pbmRleC12YWx1ZTogdHJ1ZSApIHtcbiAgLy8gcG9zaXRpb246IGFic29sdXRlOyAvLyBhbGxvd3MgbW9kYWwgYmFja2dyb3VuZCB0byBleHRlbmQgYmV5b25kIHdpbmRvdyBwb3NpdGlvblxuICBiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmctb2xkOyAvLyBBdXRvcHJlZml4ZXIgc2hvdWxkIGJlIHVzZWQgdG8gYXZvaWQgc3VjaCB2YXJpYWJsZXMgbmVlZGVkIHdoZW4gRm91bmRhdGlvbiBmb3IgU2l0ZXMgY2FuIGRvIHNvIGluIHRoZSBuZWFyIGZ1dHVyZS5cbiAgYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJnO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogaWYoICRpbmNsdWRlLXotaW5kZXgtdmFsdWUsICR6LWluZGV4LWJhc2UgLSAxLCBhdXRvICk7XG4gICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIHN0cnVjdHVyZSBvZiBhIHJldmVhbCBtb2RhbFxuLy9cbi8vICRiYXNlLXN0eWxlIC0gUHJvdmlkZXMgcmV2ZWFsIGJhc2Ugc3R5bGVzLCBjYW4gYmUgc2V0IHRvIGZhbHNlIHRvIG92ZXJyaWRlLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuLy8gJHdpZHRoIC0gU2V0cyByZXZlYWwgd2lkdGggRGVmYXVsdDogJHJldmVhbC1kZWZhdWx0LXdpZHRoIHx8IDgwJVxuLy9cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSggJGJhc2Utc3R5bGU6IHRydWUsICR3aWR0aDokcmV2ZWFsLWRlZmF1bHQtd2lkdGgsICRtYXgtd2lkdGg6JHJldmVhbC1tYXgtd2lkdGgsICRib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cykge1xuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAkei1pbmRleC1iYXNlO1xuICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuXG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIG1pbi1oZWlnaHQ6MTAwdmg7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gICAgLmNvbHVtbiwgLmNvbHVtbnMgeyBtaW4td2lkdGg6IDA7IH1cblxuICAgIC8vIEdldCByaWQgb2YgbWFyZ2luIGZyb20gZmlyc3QgYW5kIGxhc3QgZWxlbWVudCBpbnNpZGUgbW9kYWxcbiAgICA+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cblxuICAgID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cblxuICBAaWYgJHdpZHRoIHtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSByZXZlYWwgbW9kYWwgZGVmYXVsdHNcbi8vXG4vLyAkYmcgLSBTZXRzIGJhY2tncm91bmQgY29sb3Igb2YgcmV2ZWFsIG1vZGFsLiBEZWZhdWx0OiAkcmV2ZWFsLW1vZGFsLWJnIHx8ICR3aGl0ZVxuLy8gJHBhZGRpbmcgLSBQYWRkaW5nIHRvIGFwcGx5IHRvIHJldmVhbCBtb2RhbC4gRGVmYXVsdDogJHJldmVhbC1tb2RhbC1wYWRkaW5nLlxuLy8gJGJvcmRlciAtIENob29zZSB3aGV0aGVyIHJldmVhbCB1c2VzIGEgYm9yZGVyLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuLy8gJGJvcmRlci1zdHlsZSAtIFNldCByZXZlYWwgYm9yZGVyIHN0eWxlLiBEZWZhdWx0OiAkcmV2ZWFsLWJvcmRlci1zdHlsZSB8fCBzb2xpZFxuLy8gJGJvcmRlci13aWR0aCAtIFdpZHRoIG9mIGJvcmRlciAoaS5lLiAxcHgpLiBEZWZhdWx0OiAkcmV2ZWFsLWJvcmRlci13aWR0aC5cbi8vICRib3JkZXItY29sb3IgLSBDb2xvciBvZiBib3JkZXIuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLWNvbG9yLlxuLy8gJGJveC1zaGFkb3cgLSBDaG9vc2Ugd2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aGUgZGVmYXVsdCBib3gtc2hhZG93LiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBtb2RhbCByYWRpdXMgd2hpY2ggaXMgJGdsb2JhbC1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6IGZhbHNlXG4vLyAkdG9wLW9mZnNldCAtIERlZmF1bHQ6ICRyZXZlYWwtcG9zaXRpb24tdG9wIHx8IDUwcHhcbkBtaXhpbiByZXZlYWwtbW9kYWwtc3R5bGUoXG4gICRiZzpmYWxzZSxcbiAgJHBhZGRpbmc6ZmFsc2UsXG4gICRib3JkZXI6ZmFsc2UsXG4gICRib3JkZXItc3R5bGU6JHJldmVhbC1ib3JkZXItc3R5bGUsXG4gICRib3JkZXItd2lkdGg6JHJldmVhbC1ib3JkZXItd2lkdGgsXG4gICRib3JkZXItY29sb3I6JHJldmVhbC1ib3JkZXItY29sb3IsXG4gICRib3gtc2hhZG93OmZhbHNlLFxuICAkcmFkaXVzOmZhbHNlLFxuICAkdG9wLW9mZnNldDpmYWxzZSkge1xuXG4gIEBpZiAkYmcgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7IH1cbiAgQGlmICRwYWRkaW5nICE9IGZhbHNlIHsgcGFkZGluZzogJHBhZGRpbmc7IH1cblxuICBAaWYgJGJvcmRlciB7IGJvcmRlcjogJGJvcmRlci1zdHlsZSAkYm9yZGVyLXdpZHRoICRib3JkZXItY29sb3I7IH1cblxuICAvLyBXZSBjYW4gY2hvb3NlIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGRlZmF1bHQgYm94LXNoYWRvdy5cbiAgQGlmICRib3gtc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiAkcmV2ZWFsLWJveC1zaGFkb3c7XG4gIH1cbiAgQGVsc2V7XG4gICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC8vIFdlIGNhbiBjb250cm9sIGhvdyBtdWNoIHJhZGl1cyBpcyB1c2VkIG9uIHRoZSBtb2RhbFxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyZXZlYWwtcmFkaXVzKTsgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpOyB9XG5cbiAgQGlmICR0b3Atb2Zmc2V0IHtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICB0b3A6ICR0b3Atb2Zmc2V0O1xuICAgIH1cbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgYSBjbG9zZSBidXR0b24gZm9yIHRoZSByZXZlYWwgbW9kYWxcbi8vXG4vLyAkY29sb3IgLSBEZWZhdWx0OiAkcmV2ZWFsLWNsb3NlLWNvbG9yIHx8ICRiYXNlXG5AbWl4aW4gcmV2ZWFsLWNsb3NlKCRjb2xvcjokcmV2ZWFsLWNsb3NlLWNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICBmb250LXNpemU6ICRyZXZlYWwtY2xvc2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHJldmVhbC1jbG9zZS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHJldmVhbC1jbG9zZS10b3A7XG4gICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRyZXZlYWwtY2xvc2Utc2lkZTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInJldmVhbFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXJldmVhbC1jbGFzc2VzIHtcblxuICAgIC8vIFJldmVhbCBNb2RhbHNcbiAgICAucmV2ZWFsLW1vZGFsLWJnIHsgQGluY2x1ZGUgcmV2ZWFsLWJnOyB9XG5cbiAgICAuI3skcmV2ZWFsLW1vZGFsLWNsYXNzfSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZShcbiAgICAgICAgJGJnOiRyZXZlYWwtbW9kYWwtYmcsXG4gICAgICAgICRwYWRkaW5nOiRyZXZlYWwtbW9kYWwtcGFkZGluZyxcbiAgICAgICAgJGJvcmRlcjp0cnVlLFxuICAgICAgICAkYm94LXNoYWRvdzp0cnVlLFxuICAgICAgICAkcmFkaXVzOmZhbHNlLFxuICAgICAgICAkdG9wLW9mZnNldDokcmV2ZWFsLXBvc2l0aW9uLXRvcFxuICAgICAgKTtcblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoJHJhZGl1czp0cnVlKTsgfVxuICAgICAgJi5yb3VuZCAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoJHJhZGl1czokcmV2ZWFsLXJvdW5kKTsgfVxuICAgICAgJi5jb2xsYXBzZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcGFkZGluZzowKTsgfVxuICAgICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCAzMCUpOyB9XG4gICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDQwJSk7IH1cbiAgICAgICYubWVkaXVtICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA2MCUpOyB9XG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDcwJSk7IH1cbiAgICAgICYueGxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDk1JSk7IH1cbiAgICAgICYuZnVsbCB7XG4gICAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCAxMDAlKTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6MTAwdmg7XG4gICAgICAgIHRvcDowO1xuICAgICAgfVxuXG4gICAgICAvLyBNb2RhbHMgcHVzaGVkIHRvIGJhY2tcbiAgICAgICYudG9iYWNrIHtcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtYmFzZSAtIDI7XG4gICAgICB9XG5cbiAgICAgIC4jeyRjbG9zZS1yZXZlYWwtbW9kYWwtY2xhc3N9IHsgQGluY2x1ZGUgcmV2ZWFsLWNsb3NlOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHBhZGRpbmcuXG4kc2lkZS1uYXYtcGFkZGluZzogcmVtLWNhbGMoMTQgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpc3Qgc3R5bGVzLlxuJHNpZGUtbmF2LWxpc3QtdHlwZTogbm9uZSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saXN0LXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpc3QtbWFyZ2luOiByZW0tY2FsYygwIDAgNyAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGluayBzdHlsZXMuXG4kc2lkZS1uYXYtbGluay1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmU6IHNjYWxlLWNvbG9yKCRzaWRlLW5hdi1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzaWRlLW5hdi1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstYmctaG92ZXI6IGhzbGEoMCwgMCwgMCwgLjAyNSkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1wYWRkaW5nOiByZW0tY2FsYyg3IDE0KSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LXdlaWdodC1hY3RpdmU6ICRzaWRlLW5hdi1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC1mYW1pbHktYWN0aXZlOiAkc2lkZS1uYXYtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRpbmcgc3R5bGVzLlxuJHNpZGUtbmF2LWhlYWRpbmctY29sb3I6ICRzaWRlLW5hdi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJHNpZGUtbmF2LWhlYWRpbmctZm9udC1zaXplOiAkc2lkZS1uYXYtZm9udC1zaXplICFkZWZhdWx0O1xuJHNpZGUtbmF2LWhlYWRpbmctZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXG4kc2lkZS1uYXYtZGl2aWRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZGl2aWRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZGl2aWRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMTAlKSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgc2lkZS1uYXZcbi8vXG4vLyAkZGl2aWRlci1jb2xvciAtIEJvcmRlciBjb2xvciBvZiBkaXZpZGVyLiBEZWZhdWx0OiAkc2lkZS1uYXYtZGl2aWRlci1jb2xvci5cbi8vICRmb250LXNpemUgLSBGb250IHNpemUgb2YgbmF2IGl0ZW1zLiBEZWZhdWx0OiAkc2lkZS1uYXYtZm9udC1zaXplLlxuLy8gJGxpbmstY29sb3IgLSBDb2xvciBvZiBuYXZpZ2F0aW9uIGxpbmtzLiBEZWZhdWx0OiAkc2lkZS1uYXYtbGluay1jb2xvci5cbi8vICRsaW5rLWNvbG9yLWhvdmVyIC0gQ29sb3Igb2YgbmF2aWdhdGlvbiBsaW5rcyB3aGVuIGhvdmVyZWQuIERlZmF1bHQ6ICRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyLlxuQG1peGluIHNpZGUtbmF2KFxuICAkZGl2aWRlci1jb2xvcjokc2lkZS1uYXYtZGl2aWRlci1jb2xvcixcbiAgJGZvbnQtc2l6ZTokc2lkZS1uYXYtZm9udC1zaXplLFxuICAkbGluay1jb2xvcjokc2lkZS1uYXYtbGluay1jb2xvcixcbiAgJGxpbmstY29sb3ItYWN0aXZlOiRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZSxcbiAgJGxpbmstY29sb3ItaG92ZXI6JHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXIsXG4gICRsaW5rLWJnLWhvdmVyOiRzaWRlLW5hdi1saW5rLWJnLWhvdmVyKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5O1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkc2lkZS1uYXYtbGlzdC1wb3NpdGlvbjtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc2lkZS1uYXYtbGlzdC10eXBlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6ICRzaWRlLW5hdi1wYWRkaW5nO1xuXG4gIGxpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRzaWRlLW5hdi1mb250LXdlaWdodDtcbiAgICBtYXJnaW46ICRzaWRlLW5hdi1saXN0LW1hcmdpbjtcblxuICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAkc2lkZS1uYXYtbGluay1tYXJnaW47XG4gICAgICBwYWRkaW5nOiAkc2lkZS1uYXYtbGluay1wYWRkaW5nO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGluay1iZy1ob3ZlcjtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWhvdmVyO1xuICAgICAgfVxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlID4gYTpmaXJzdC1jaGlsZDpub3QoLmJ1dHRvbikge1xuICAgICAgY29sb3I6ICRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2lkZS1uYXYtZm9udC1mYW1pbHktYWN0aXZlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRzaWRlLW5hdi1mb250LXdlaWdodC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5kaXZpZGVyIHtcbiAgICAgIGJvcmRlci10b3A6ICRzaWRlLW5hdi1kaXZpZGVyLXNpemUgJHNpZGUtbmF2LWRpdmlkZXItc3R5bGU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRkaXZpZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuaGVhZGluZyB7XG4gICAgICBjb2xvcjogJHNpZGUtbmF2LWhlYWRpbmctY29sb3I7XG4gICAgICBmb250OiB7XG4gICAgICAgIHNpemU6ICRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtc2l6ZTtcbiAgICAgICAgd2VpZ2h0OiAkc2lkZS1uYXYtaGVhZGluZy1mb250LXdlaWdodDtcbiAgICAgIH1cbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkc2lkZS1uYXYtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInNpZGUtbmF2XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xuICAgIC5zaWRlLW5hdiB7QGluY2x1ZGUgc2lkZS1uYXY7fVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnYnV0dG9ucyc7XG5AaW1wb3J0ICdkcm9wZG93bi1idXR0b25zJztcblxuLy9cbi8vIEBuYW1lIF9zcGxpdC1idXR0b25zLnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2J1dHRvbnMuc2NzcywgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBkaWZmZXJlbnQgc2hhcmVkIHN0eWxlcyBmb3IgU3BsaXQgQnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IDEwJSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OiByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRpbnkgc3BsaXQgYnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogMTAgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55OiAkYnV0dG9uLXBpcC10bnkgKiA2ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXRvcC10bnk6ICRidXR0b24tcGlwLXRueSAqIDIgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzbWFsbCBzcGxpdCBidXR0b25zXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxMCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDYgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXNtbDogJGJ1dHRvbi1waXAtc21sICogMS41ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1zbWw6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWVkaXVtIHNwbGl0IGJ1dHRvbnNcbiRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDkgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA1LjUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC10b3AtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAxLjUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LW1lZDogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsYXJnZSBzcGxpdCBidXR0b25zXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA4ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXRvcC1scmc6ICRidXR0b24tcGlwLWxyZyArIHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHNwbGl0IGJ1dHRvbnMgdGhhdCBidWlsZCB1cG9uIHRoZSBidXR0b24gbWl4aW5zXG4vL1xuLy8gJHBhZGRpbmcgLSBUeXBlIG9mIHBhZGRpbmcgdG8gYXBwbHkuIERlZmF1bHQ6IG1lZGl1bS4gT3B0aW9uczogdGlueSwgc21hbGwsIG1lZGl1bSwgbGFyZ2UuXG4vLyAkcGlwLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLiBEZWZhdWx0OiAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvci5cbi8vICRzcGFuLWJvcmRlciAtIEJvcmRlciBjb2xvciBvZiBidXR0b24gZGl2aWRlci4gRGVmYXVsdDogJHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvci5cbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZSB0byBzcGxpdCBidXR0b24uIERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gc3BsaXQtYnV0dG9uKFxuICAkcGFkZGluZzptZWRpdW0sXG4gICRwaXAtY29sb3I6JHNwbGl0LWJ1dHRvbi1waXAtY29sb3IsIFxuICAkc3Bhbi1ib3JkZXI6JHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvciwgXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICAvLyBXaXRoIHRoaXMsIHdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gU3R5bGluZyBmb3IgdGhlIHNwbGl0IGFycm93IGNsaWNrYWJsZSBhcmVhXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06IHNvbGlkIDFweDtcblxuICAgICAgLy8gQnVpbGRpbmcgdGhlIHRyaWFuZ2xlIHBpcCBpbmRpY2F0b3JcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItc3R5bGU6IGluc2V0O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OyB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udHJvbCB0aGUgYm9yZGVyIGNvbG9yIGZvciB0aGUgc3BhbiBhcmVhIG9mIHRoZSBzcGxpdCBidXR0b25cbiAgQGlmICRzcGFuLWJvcmRlciB7XG4gICAgc3BhbiB7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6ICRzcGFuLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgdGlueSBzaXplc1xuICBAaWYgJHBhZGRpbmcgPT0gdGlueSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctdG55O1xuXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55O1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtdG55O1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtdG55O1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3Igc21hbGwgc2l6ZXNcbiAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gc21hbGwge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXNtbDtcblxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXNtbDtcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDtcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIGRlZmF1bHQgKG1lZGl1bSkgc2l6ZXNcbiAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gbWVkaXVtIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ7XG5cbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1tZWQ7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1tZWQ7XG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ7XG4gICAgICAgIHRvcDogNDglO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciBsYXJnZSBzaXplc1xuICBAZWxzZSBpZiAkcGFkZGluZyA9PSBsYXJnZSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctbHJnO1xuXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbHJnO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtbHJnO1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbHJnO1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb250cm9sIHRoZSBjb2xvciBvZiB0aGUgdHJpYW5nbGUgcGlwXG4gIEBpZiAkcGlwLWNvbG9yIHtcbiAgICBzcGFuOmFmdGVyIHsgYm9yZGVyLWNvbG9yOiAkcGlwLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInNwbGl0LWJ1dHRvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcblxuICAgIC5zcGxpdC5idXR0b24geyBAaW5jbHVkZSBzcGxpdC1idXR0b247XG5cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvciwgJHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvciwgZmFsc2UpOyB9XG4gICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCBmYWxzZSwgJHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvciwgZmFsc2UpOyB9XG4gICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsIGZhbHNlLCAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBmYWxzZSk7IH1cblxuICAgICAgJi50aW55IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKHRpbnksIGZhbHNlLCBmYWxzZSwgZmFsc2UpOyB9XG4gICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKHNtYWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxuICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihsYXJnZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IH1cbiAgICAgICYuZXhwYW5kIHsgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG5cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvci1hbHQsIGZhbHNlLCBmYWxzZSk7IH1cblxuICAgICAgJi5yYWRpdXMgc3BhbiB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRnbG9iYWwtcmFkaXVzKTsgfVxuICAgICAgJi5yb3VuZCBzcGFuIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgMTAwMHB4KTsgfVxuICAgICAgJi5uby1waXB7XG4gICAgICAgIHNwYW46YmVmb3JleyBib3JkZXItc3R5bGU6bm9uZTsgfVxuICAgICAgICBzcGFuOmFmdGVyeyBib3JkZXItc3R5bGU6bm9uZTsgfVxuICAgICAgICBzcGFuPml7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC4yODg4OWVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjQ4ODg5ZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZSBfc3ViLW5hdi5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWFyZ2luIGFuZCBwYWRkaW5nXG4kc3ViLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoLTQgMCAxOCkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1saXN0LXBhZGRpbmctdG9wOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGVmaW5pdGlvblxuJHN1Yi1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWItbmF2LXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRzdWItbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDMgMTYpICFkZWZhdWx0O1xuJHN1Yi1uYXYtYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLTI1JSkgIWRlZmF1bHQ7XG5cblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGFjdGl2ZSBpdGVtIHN0eWxlc1xuXG4kc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtYmc6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1hY3RpdmUtYmcsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtcGFkZGluZzogJHN1Yi1uYXYtcGFkZGluZyAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG5cbiRzdWItbmF2LWl0ZW0tZGl2aWRlcjogXCJcIiAhZGVmYXVsdDtcbiRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW46IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cblxuLy8gQ3JlYXRlIGEgc3ViLW5hdiBpdGVtXG4vL1xuLy8gJGZvbnQtY29sb3IgLSBGb250IGNvbG9yLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LWNvbG9yLlxuLy8gJGZvbnQtc2l6ZSAtIEZvbnQgc2l6ZS4gRGVmYXVsdDogJHN1Yi1uYXYtZm9udC1zaXplLlxuLy8gJGFjdGl2ZS1iZyAtIEJhY2tncm91bmQgb2YgYWN0aXZlIG5hdiBpdGVtLiBEZWZhdWx0OiAkc3ViLW5hdi1hY3RpdmUtYmcuXG4vLyAkYWN0aXZlLWJnLWhvdmVyIC0gQmFja2dyb3VuZCBvZiBhY3RpdmUgbmF2IGl0ZW0sIHdoZW4gaG92ZXJlZC4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyLlxuQG1peGluIHN1Yi1uYXYoXG4gICRmb250LWNvbG9yOiAkc3ViLW5hdi1mb250LWNvbG9yLFxuICAkZm9udC1zaXplOiAkc3ViLW5hdi1mb250LXNpemUsXG4gICRhY3RpdmUtYmc6ICRzdWItbmF2LWFjdGl2ZS1iZyxcbiAgJGFjdGl2ZS1iZy1ob3ZlcjogJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICRzdWItbmF2LWxpc3QtbWFyZ2luO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogJHN1Yi1uYXYtbGlzdC1wYWRkaW5nLXRvcDtcbiAgd2lkdGg6IGF1dG87XG5cbiAgZHQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBkdCxcbiAgZGQsXG4gIGxpIHtcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGZvbnQtZmFtaWx5OiAkc3ViLW5hdi1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRzdWItbmF2LWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogcmVtLWNhbGMoMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkc3ViLW5hdi1mb250LWNvbG9yO1xuICAgICAgcGFkZGluZzogJHN1Yi1uYXYtcGFkZGluZztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgYSB7XG4gICAgICBAaW5jbHVkZSByYWRpdXMoJHN1Yi1uYXYtYm9yZGVyLXJhZGl1cyk7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xuICAgICAgY29sb3I6ICRzdWItbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICAgIGN1cnNvcjogJHN1Yi1uYXYtYWN0aXZlLWN1cnNvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAkc3ViLW5hdi1hY3RpdmUtcGFkZGluZztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmctaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRzdWItbmF2LWl0ZW0tZGl2aWRlciAhPSBcIlwiIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiN7JHN1Yi1uYXYtaXRlbS1kaXZpZGVyfVwiO1xuICAgICAgICBtYXJnaW46IDAgJHN1Yi1uYXYtaXRlbS1kaXZpZGVyLW1hcmdpbjtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzdWItbmF2XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xuICAgIC5zdWItbmF2IHsgQGluY2x1ZGUgc3ViLW5hdjsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWVcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gQ29udHJvbGxpbmcgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXJcbiRzd2l0Y2gtYmc6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzd2l0Y2ggaGVpZ2h0cyBmb3Igb3VyIGRlZmF1bHQgY2xhc3Nlc1xuJHN3aXRjaC1oZWlnaHQtdG55OiAxLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1zbWw6IDEuNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1tZWQ6IDJyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1scmc6IDIuNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtYm90dG9tLW1hcmdpbjogMS41cmVtICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHN3aXRjaC1wYWRkbGVcbiRzd2l0Y2gtcGFkZGxlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkOiAuMTVzICFkZWZhdWx0O1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dCAhZGVmYXVsdDtcbiRzd2l0Y2gtYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBiYXNlIHN0eWxlcyBmb3Igb3VyIHN3aXRjaCBlbGVtZW50LlxuLy9cbi8vICR0cmFuc2l0aW9uLXNwZWVkIC0gVGltZSBpbiBtcyBmb3Igc3dpdGNoIHRvIHRvZ2dsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZC5cbi8vICR0cmFuc2l0aW9uLWVhc2UgLSBFYXNpbmcgZnVuY3Rpb24gdG8gdXNlIGZvciBhbmltYXRpb24gKGkuZS4gZWFzZS1vdXQpLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UuXG5AbWl4aW4gc3dpdGNoLWJhc2UoXG4gICR0cmFuc2l0aW9uLXNwZWVkOiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQsXG4gICR0cmFuc2l0aW9uLWVhc2U6JHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlKSB7XG5cbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLWJvdHRvbS1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAvLyBEZWZhdWx0IGxhYmVsIHN0eWxlcyBmb3IgdHlwZSBhbmQgdHJhbnNpdGlvblxuICBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iZztcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICgkc3dpdGNoLWhlaWdodC1tZWQgLyAyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAqIDI7IGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkO1xuXG4gICAgLy8gVHJhbnNpdGlvbiBmb3IgdGhlIHN3aXRjaCBsYWJlbCB0byBmb2xsb3cgcGFkZGxlXG4gICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24obGVmdCwgJHRyYW5zaXRpb24tc3BlZWQsICR0cmFuc2l0aW9uLWVhc2UpO1xuICB9XG5cbiAgLy8gU28gdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHJlY3JlYXRlIHRoZSBmb3JtIHdpdGggYW55IEpTLCB3ZSB1c2UgdGhlXG4gIC8vIGV4aXN0aW5nIGNoZWNrYm94IG9yIHJhZGlvIGJ1dHRvbiwgYnV0IHdlIGNsZXZlcmx5IHBvc2l0aW9uIGFuZCBoaWRlIGl0LlxuICBpbnB1dCB7XG4gICAgbGVmdDogMTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6MDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA5cHg7XG5cbiAgICAmICsgbGFiZWwgeyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGZvciB0aGUgc3dpdGNoIGlzIGNyZWF0ZWQgZnJvbSBhbiBhZnRlciBwc3VlZG9jbGFzc1xuICAvLyBjb250ZW50IGVsZW1lbnQuIFRoaXMgaXMgc2l6ZWQgYW5kIHBvc2l0aW9uZWQsIGFuZCByZWFjdHMgdG9cbiAgLy8gdGhlIHN0YXRlIG9mIHRoZSBpbnB1dC5cblxuICBsYWJlbDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmc7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAtIC41cmVtO1xuICAgIGxlZnQ6IC4yNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuMjVyZW07XG4gICAgd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAtIC41cmVtO1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XG4gICAgLW1vei10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAkc3dpdGNoLWhlaWdodC1tZWQgKyAuMjVyZW07XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzaXplIHN0eWxlcyBmb3Igc3dpdGNoZXMuXG4vL1xuLy8gJGhlaWdodCAtIEhlaWdodCAoaW4gcHgpIG9mIHRoZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZC5cbi8vICRmb250LXNpemUgLSBGb250IHNpemUgb2YgdGV4dCBpbiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtZm9udC1zaXplLW1lZC5cbi8vICRsaW5lLWhlaWdodCAtIExpbmUgaGVpZ2h0IG9mIHN3aXRjaC4gRGVmYXVsdDogMi4zcmVtLlxuQG1peGluIHN3aXRjaC1zaXplKCRoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCkge1xuXG4gIGxhYmVsIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgd2lkdGg6ICRoZWlnaHQgKiAyO1xuICB9XG5cbiAgbGFiZWw6YWZ0ZXIge1xuICAgIGhlaWdodDogJGhlaWdodCAtIC41cmVtO1xuICAgIHdpZHRoOiAkaGVpZ2h0IC0gLjVyZW07XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGxlZnQ6ICRoZWlnaHQgKyAuMjVyZW07XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgY29sb3IgYW5kIG90aGVyIGZhbmNpbmVzcyB0byB0aGUgc3dpdGNoZXMuXG4vL1xuLy8gJHBhZGRsZS1iZyAtIEJhY2tncm91bmQgb2Ygc3dpdGNoIHBhZGRsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtYmcuXG4vLyAkYWN0aXZlLWNvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiBwb3NpdGl2ZSBzaWRlIG9mIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1wb3NpdGl2ZS1jb2xvci5cbi8vICRuZWdhdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgbmVnYXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtbmVnYXRpdmUtY29sb3IuXG4vLyAkcmFkaXVzIC0gUmFkaXVzIHRvIGFwcGx5IHRvIHN3aXRjaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuQG1peGluIHN3aXRjaC1zdHlsZShcbiAgJHBhZGRsZS1iZzokc3dpdGNoLXBhZGRsZS1iZyxcbiAgJGFjdGl2ZS1jb2xvcjokc3dpdGNoLWFjdGl2ZS1jb2xvcixcbiAgJHJhZGl1czpmYWxzZSxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG5cbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJnO1xuICAgIH1cblxuICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWRkbGUtYmc7XG4gICAgfVxuXG4gICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0dGluZyB1cCB0aGUgcmFkaXVzIGZvciBzd2l0Y2hlc1xuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHtcbiAgICBsYWJlbCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIH1cbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHtcbiAgICBsYWJlbCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIHN3aXRjaGVzIHdpdGggYSBzaW5nbGUgbWl4aW5cbi8vXG4vLyAkdHJhbnNpdGlvbi1zcGVlZCAtIFRpbWUgaW4gbXMgZm9yIHN3aXRjaCB0byB0b2dnbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQuXG4vLyAkdHJhbnNpdGlvbi1lYXNlIC0gRWFzaW5nIGZ1bmN0aW9uIHRvIHVzZSBmb3IgYW5pbWF0aW9uIChpLmUuIGVhc2Utb3V0KS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLlxuLy8gJGhlaWdodCAtIEhlaWdodCAoaW4gcHgpIG9mIHRoZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZC5cbi8vICRwYWRkbGUtYmcgLSBCYWNrZ3JvdW5kIG9mIHN3aXRjaCBwYWRkbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLWJnLlxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1hY3RpdmUtY29sb3IuXG4vLyAkcmFkaXVzIC0gUmFkaXVzIHRvIGFwcGx5IHRvIHN3aXRjaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuQG1peGluIHN3aXRjaChcbiAgJHRyYW5zaXRpb24tc3BlZWQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQsXG4gICR0cmFuc2l0aW9uLWVhc2U6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZSxcbiAgJGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkLFxuICAkcGFkZGxlLWJnOiAkc3dpdGNoLXBhZGRsZS1iZyxcbiAgJGFjdGl2ZS1jb2xvcjogJHN3aXRjaC1hY3RpdmUtY29sb3IsXG4gICRyYWRpdXM6ZmFsc2UsXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtYmFzZSgkdHJhbnNpdGlvbi1zcGVlZCwgJHRyYW5zaXRpb24tZWFzZSk7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUoJGhlaWdodCk7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXN0eWxlKCRwYWRkbGUtYmcsICRhY3RpdmUtY29sb3IsICRyYWRpdXMsICRiYXNlLXN0eWxlKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInN3aXRjaFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlcyB7XG4gICAgICAuc3dpdGNoIHtcbiAgICAgICAgQGluY2x1ZGUgc3dpdGNoO1xuXG4gICAgICAgIC8vIExhcmdlIHJhZGlvIHN3aXRjaGVzXG4gICAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWhlaWdodC1scmcpOyB9XG5cbiAgICAgICAgLy8gU21hbGwgcmFkaW8gc3dpdGNoZXNcbiAgICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LXNtbCk7IH1cblxuICAgICAgICAvLyBUaW55IHJhZGlvIHN3aXRjaGVzXG4gICAgICAgICYudGlueSB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LXRueSk7IH1cblxuICAgICAgICAvLyBBZGQgYSByYWRpdXMgdG8gdGhlIHN3aXRjaFxuICAgICAgICAmLnJhZGl1cyB7XG4gICAgICAgICAgbGFiZWwgeyBAaW5jbHVkZSByYWRpdXMoNHB4KTsgfVxuICAgICAgICAgIGxhYmVsOmFmdGVyIHsgQGluY2x1ZGUgcmFkaXVzKDNweCk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1ha2UgdGhlIHN3aXRjaCBjb21wbGV0ZWx5IHJvdW5kLCBsaWtlIGEgcGlsbFxuICAgICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgICAgbGFiZWwgeyBAaW5jbHVkZSByYWRpdXMoMnJlbSk7IH1cbiAgICAgICAgICBsYWJlbDphZnRlciB7IEBpbmNsdWRlIHJhZGl1cygycmVtKTsgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lIF90YWJsZXMuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLXRhYmxlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRhYmxlIGFuZCBldmVuIHJvd3NcbiR0YWJsZS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWV2ZW4tcm93LWJnOiAkc25vdyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgY2VsbCBib3JkZXIgc3R5bGVcbiR0YWJsZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBoZWFkIHN0eWxlc1xuJHRhYmxlLWhlYWQtYmc6ICR3aGl0ZS1zbW9rZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBmb290IHN0eWxlc1xuJHRhYmxlLWZvb3QtYmc6ICR0YWJsZS1oZWFkLWJnICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtZm9udC1zaXplOiAkdGFibGUtaGVhZC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtcGFkZGluZzogJHRhYmxlLWhlYWQtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgY2FwdGlvblxuJHRhYmxlLWNhcHRpb24tYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHJvdyBwYWRkaW5nIGFuZCBmb250IHN0eWxlc1xuJHRhYmxlLXJvdy1wYWRkaW5nOiByZW0tY2FsYyg5IDEwKSAhZGVmYXVsdDtcbiR0YWJsZS1yb3ctZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdGFibGUtcm93LWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kdGFibGUtbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcblxuLy8gVGhlc2UgYXJlIGZvciBjb250cm9sbGluZyB0aGUgbGF5b3V0LCBkaXNwbGF5IGFuZCBtYXJnaW4gb2YgdGFibGVzXG4kdGFibGUtbGF5b3V0OiBhdXRvICFkZWZhdWx0O1xuJHRhYmxlLWRpc3BsYXk6IHRhYmxlLWNlbGwgIWRlZmF1bHQ7XG4kdGFibGUtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG5AbWl4aW4gdGFibGUge1xuICBiYWNrZ3JvdW5kOiAkdGFibGUtYmc7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci1zdHlsZSAkdGFibGUtYm9yZGVyLXNpemUgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLW1hcmdpbi1ib3R0b207XG4gIHRhYmxlLWxheW91dDogJHRhYmxlLWxheW91dDtcblxuICBjYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtY2FwdGlvbi1iZztcbiAgICBjb2xvcjogJHRhYmxlLWNhcHRpb24tZm9udC1jb2xvcjtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiAkdGFibGUtY2FwdGlvbi1mb250LXNpemU7XG4gICAgICB3ZWlnaHQ6ICR0YWJsZS1jYXB0aW9uLWZvbnQtd2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iZztcblxuICAgIHRyIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGUtaGVhZC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZC1mb250LXdlaWdodDtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWhlYWQtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmc7XG5cbiAgICB0ciB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLWZvb3QtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLWZvb3QtZm9udC13ZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1mb290LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHIge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtcm93LWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6ICR0YWJsZS1yb3ctZm9udC1zaXplO1xuICAgICAgcGFkZGluZzogJHRhYmxlLXJvdy1wYWRkaW5nO1xuICAgICAgdGV4dC1hbGlnbjogJGRlZmF1bHQtZmxvYXQ7XG4gICAgfVxuXG4gICAgJi5ldmVuLFxuICAgICYuYWx0LFxuICAgICY6bnRoLW9mLXR5cGUoZXZlbikgeyBiYWNrZ3JvdW5kOiAkdGFibGUtZXZlbi1yb3ctYmc7IH1cbiAgfVxuXG4gIHRoZWFkIHRyIHRoLFxuICB0Zm9vdCB0ciB0aCxcbiAgdGZvb3QgdHIgdGQsXG4gIHRib2R5IHRyIHRoLFxuICB0Ym9keSB0ciB0ZCxcbiAgdHIgdGQgeyBkaXNwbGF5OiAkdGFibGUtZGlzcGxheTsgbGluZS1oZWlnaHQ6ICR0YWJsZS1saW5lLWhlaWdodDsgfVxufVxuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0YWJsZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXRhYmxlLWNsYXNzZXMge1xuICAgIHRhYmxlIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yOiAkc2lsdmVyICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCR0YWJzLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC02JSkgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbiR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpICFkZWZhdWx0O1xuJHRhYnMtY29udGVudC1wYWRkaW5nOiAoJGNvbHVtbi1ndXR0ZXIvMikgIWRlZmF1bHQ7XG5cbiR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZXhwb3J0cyhcInRhYlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXRhYnMtY2xhc3NlcyB7XG4gICAgLnRhYnMge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgZGQsXG4gICAgICAudGFiLXRpdGxlIHtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYmctY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICBmb250LWZhbWlseTogJHRhYnMtbmF2aWdhdGlvbi1mb250LWZhbWlseTtcbiAgICAgICAgICBmb250LXNpemU6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplO1xuICAgICAgICAgIHBhZGRpbmc6ICR0YWJzLW5hdmlnYXRpb24tcGFkZGluZyAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmcgKiAyO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBkZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnRhYjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYSB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRkOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYSB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRnbG9iYWwtcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBkZCxcbiAgICAgICAgLnRhYi10aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBwYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmcgMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYuY29udGFpbmVkIHtcbiAgICAgICAgICBwYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgID4gLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDAgJHRhYnMtY29udGVudC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgLnRhYnMge1xuICAgICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1heC13aWR0aDogMjAlO1xuICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRhYnMtY29udGVudCB7XG4gICAgICAgICYudmVydGljYWwge1xuICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC0xcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMXJlbTtcbiAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5vLWpzIHtcbiAgICAgIC50YWJzLWNvbnRlbnQgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZSBfdGh1bWJzLnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbHMuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXG4kdGh1bWItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiR0aHVtYi1ib3JkZXItd2lkdGg6IDRweCAhZGVmYXVsdDtcbiR0aHVtYi1ib3JkZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0aHVtYi1ib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssLjIpICFkZWZhdWx0O1xuJHRodW1iLWJveC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsMC41KSAhZGVmYXVsdDtcblxuLy8gUmFkaXVzIGFuZCB0cmFuc2l0aW9uIHNwZWVkIGZvciB0aHVtYnNcbiR0aHVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHRodW1iLXRyYW5zaXRpb24tc3BlZWQ6IDIwMG1zICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGltYWdlIHRodW1ibmFpbCBzdHlsZXMuXG4vL1xuLy8gJGJvcmRlci13aWR0aCAtIFdpZHRoIG9mIGJvcmRlciBhcm91bmQgdGh1bWJuYWlsLiBEZWZhdWx0OiAkdGh1bWItYm9yZGVyLXdpZHRoLlxuLy8gJGJveC1zaGFkb3cgLSBCb3ggc2hhZG93IHRvIGFwcGx5IHRvIHRodW1ibmFpbC4gRGVmYXVsdDogJHRodW1iLWJveC1zaGFkb3cuXG4vLyAkYm94LXNoYWRvdy1ob3ZlciAtIEJveCBzaGFkb3cgdG8gYXBwbHkgb24gaG92ZXIuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LWhvdmVyLlxuQG1peGluIHRodW1iKFxuICAkYm9yZGVyLXdpZHRoOiR0aHVtYi1ib3JkZXItd2lkdGgsXG4gICRib3gtc2hhZG93OiR0aHVtYi1ib3gtc2hhZG93LFxuICAkYm94LXNoYWRvdy1ob3ZlcjokdGh1bWItYm94LXNoYWRvdy1ob3Zlcikge1xuICBib3JkZXI6ICR0aHVtYi1ib3JkZXItc3R5bGUgJGJvcmRlci13aWR0aCAkdGh1bWItYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWhvdmVyO1xuICB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcInRodW1iXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XG5cbiAgICAvKiBJbWFnZSBUaHVtYm5haWxzICovXG4gICAgLnRoIHtcbiAgICAgIEBpbmNsdWRlIHRodW1iO1xuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYWxsLCAkdGh1bWItdHJhbnNpdGlvbi1zcGVlZCwgZWFzZS1vdXQpO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkdGh1bWItcmFkaXVzKTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIFRvb2x0aXAgVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC10b29sdGlwLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkaXJvbiAhZGVmYXVsdDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRoYXMtdGlwLWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyOiBkb3R0ZWQgMXB4IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNTUlKSAhZGVmYXVsdDtcbiRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGhhcy10aXAtY3Vyc29yLXR5cGU6IGhlbHAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiR0b29sdGlwLWNsb3NlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvb2x0aXAtY2xvc2UtZm9udC1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemUtc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtcm91bmRlZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuJHRvb2x0aXAtcGlwLXNpemU6IDVweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0b29sdGlwXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdG9vbHRpcC1jbGFzc2VzIHtcblxuICAgIC8qIFRvb2x0aXBzICovXG4gICAgLmhhcy10aXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgICAgIGNvbG9yOiAkaGFzLXRpcC1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3ItdHlwZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyO1xuICAgICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlcjtcbiAgICAgIH1cblxuICAgICAgJi50aXAtbGVmdCxcbiAgICAgICYudGlwLXJpZ2h0IHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIH1cblxuICAgIC50b29sdGlwIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJnO1xuICAgICAgY29sb3I6ICR0b29sdGlwLWZvbnQtY29sb3I7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJHRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwMDY7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuXG4gICAgICA+IC5udWIge1xuICAgICAgICBib3JkZXI6IHNvbGlkICR0b29sdGlwLXBpcC1zaXplO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkdG9vbHRpcC1waXAtc2l6ZTtcblxuICAgICAgICAmLnJ0bCB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygkdG9vbHRpcC1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgJi5yb3VuZCB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygkdG9vbHRpcC1yb3VuZGVkKTtcbiAgICAgICAgPiAubnViIHtcbiAgICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbmVkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbS1ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YXAtdG8tY2xvc2Uge1xuICAgICAgY29sb3I6ICR0b29sdGlwLWNsb3NlLWZvbnQtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtY2xvc2UtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNsb3NlLWZvbnQtd2VpZ2h0O1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzbWFsbH0ge1xuICAgICAgLnRvb2x0aXAge1xuICAgICAgICA+IC5udWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdG9wOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgIH1cbiAgICAgICAgJi50aXAtdG9wPi5udWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm90dG9tOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50aXAtbGVmdCxcbiAgICAgICAgJi50aXAtcmlnaHQgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgJi50aXAtbGVmdD4ubnViIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLXBpcC1zaXplO1xuICAgICAgICAgIHJpZ2h0OiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgJi50aXAtcmlnaHQ+Lm51YiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBsZWZ0OiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLXBpcC1zaXplO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuQGltcG9ydCAnYnV0dG9ucyc7XG5AaW1wb3J0ICdmb3Jtcyc7XG5cbi8vXG4vLyBUb3AgQmFyIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXG4kdG9wYmFyLWJnLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHRvcGJhci1iZzogJHRvcGJhci1iZy1jb2xvciAhZGVmYXVsdDtcblxuLy8gSGVpZ2h0IGFuZCBtYXJnaW5cbiR0b3BiYXItaGVpZ2h0OiByZW0tY2FsYyg0NSkgIWRlZmF1bHQ7XG4kdG9wYmFyLW1hcmdpbi1ib3R0b206IDAgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xsaW5nIHRoZSBzdHlsZXMgZm9yIHRoZSB0aXRsZSBpbiB0aGUgdG9wIGJhclxuJHRvcGJhci10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIGxpbmsgY29sb3JzIGFuZCBzdHlsZXMgZm9yIHRvcC1sZXZlbCBuYXZcbiR0b3BiYXItbGluay1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWhvdmVyLWxpZ2h0bmVzczogLTEwJSAhZGVmYXVsdDsgLy8gRGFya2VuIGJ5IDEwJVxuJHRvcGJhci1saW5rLWJnOiAkdG9wYmFyLWJnICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWhvdmVyOiAkamV0ICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyOiAkY2hhcmNvYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstcGFkZGluZzogKCR0b3BiYXItaGVpZ2h0IC8gMykgIWRlZmF1bHQ7XG4kdG9wYmFyLWJhY2stbGluay1zaXplOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstZHJvcGRvd24tcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHRvcGJhci1idXR0b24tZm9udC1zaXplOiAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9wYmFyLWJ1dHRvbi10b3A6IDdweCAhZGVmYXVsdDtcblxuLy8gU3R5bGUgdGhlIHRvcCBiYXIgZHJvcGRvd24gZWxlbWVudHNcbiR0b3BiYXItZHJvcGRvd24tYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyOiAkamV0ICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemU6IDVweCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYTogLjQgIWRlZmF1bHQ7XG5cbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZzogJG9pbCAhZGVmYXVsdDtcblxuLy8gVG9wIG1lbnUgaWNvbiBzdHlsZXNcbiR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay1jb2xvci10b2dnbGVkOiAkanVtYm8gIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkOiAkanVtYm8gIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtaWNvbi1wb3NpdGlvbjogJG9wcG9zaXRlLWRpcmVjdGlvbiAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvICRkZWZhdWx0LWZsb2F0IGZvciBhIGxlZnQgbWVudSBpY29uXG5cbi8vIFRyYW5zaXRpb25zIGFuZCBicmVha3BvaW50IHN0eWxlc1xuJHRvcGJhci10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcyAhZGVmYXVsdDtcbi8vIFVzaW5nIHJlbS1jYWxjIGZvciB0aGUgYmVsb3cgYnJlYWtwb2ludCBjYXVzZXMgaXNzdWVzIHdpdGggdG9wIGJhclxuJHRvcGJhci1icmVha3BvaW50OiAje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvIDk5OTlweCBmb3IgYWx3YXlzIG1vYmlsZSBsYXlvdXRcbiR0b3BiYXItbWVkaWEtcXVlcnk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR0b3BiYXItYnJlYWtwb2ludCl9KVwiICFkZWZhdWx0O1xuXG4vLyBUb3AtYmFyIGlucHV0IHN0eWxlc1xuJHRvcGJhci1pbnB1dC1oZWlnaHQ6IHJlbS1jYWxjKDI4KSAhZGVmYXVsdDtcblxuLy8gRGl2aWRlciBTdHlsZXNcbiR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogMTMlKSAhZGVmYXVsdDtcbiR0b3BiYXItZGl2aWRlci1ib3JkZXItdG9wOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTUwJSkgIWRlZmF1bHQ7XG5cbi8vIFN0aWNreSBDbGFzc1xuJHRvcGJhci1zdGlja3ktY2xhc3M6IFwiLnN0aWNreVwiICFkZWZhdWx0O1xuJHRvcGJhci1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgdHJpYW5nbGUgaWNvbiBmcm9tIHRoZSBtZW51IGl0ZW1cbiR0b3BiYXItZHJvcGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0OyAvL1NldCBmYWxzZSB0byByZW1vdmUgdGhlIFxcMDBiYiA+PiB0ZXh0IGZyb20gZHJvcGRvd24gc3VibmF2aWdhdGlvbiBsaVxuXG4vLyBBY2Nlc3NpYmlsaXR5IG1peGlucyBmb3IgaGlkaW5nIGFuZCBzaG93aW5nIHRoZSBtZW51IGRyb3Bkb3duIGl0ZW1zXG5AbWl4aW4gdG9wYmFyLWhpZGUtZHJvcGRvd24ge1xuICAvLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiBieSBkZWZhdWx0LCBidXQgdmlzaWJsZSB3aGVuIGZvY3VzZWQuXG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlKCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWl4aW4gdG9wYmFyLXNob3ctZHJvcGRvd24ge1xuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmYoKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyAvLyBSZXNldCB0aGUgcG9zaXRpb24gZnJvbSBzdGF0aWMgdG8gYWJzb2x1dGVcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInRvcC1iYXJcIikge1xuXG4gIEBpZiAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlcyB7XG5cbiAgICAvLyBVc2VkIHRvIHByb3ZpZGUgbWVkaWEgcXVlcnkgdmFsdWVzIGZvciBqYXZhc2NyaXB0IGNvbXBvbmVudHMuXG4gICAgLy8gVGhpcyBjbGFzcyBpcyBnZW5lcmF0ZWQgZGVzcGl0ZSB0aGUgdmFsdWUgb2YgJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXNcbiAgICAvLyB0byBlbnN1cmUgd2lkdGggY2FsY3VsYXRpb25zIHdvcmsgY29ycmVjdGx5LlxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS10b3BiYXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkdG9wYmFyLW1lZGlhLXF1ZXJ5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6ICR0b3BiYXItYnJlYWtwb2ludDtcbiAgICB9XG5cbiAgICAvKiBXcmFwcGVkIGFyb3VuZCAudG9wLWJhciB0byBjb250YWluIHRvIGdyaWQgd2lkdGggKi9cbiAgICAuY29udGFpbi10by1ncmlkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcblxuICAgICAgLnRvcC1iYXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdG9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JhcHBlZCBhcm91bmQgLnRvcC1iYXIgdG8gbWFrZSBpdCBzdGljayB0byB0aGUgdG9wXG4gICAgLmZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgJi5leHBhbmRlZDpub3QoLnRvcC1iYXIpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAudGl0bGUtYXJlYSB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW5zdXJlIHlvdSBjYW4gc2Nyb2xsIHRoZSBtZW51IG9uIHNtYWxsIHNjcmVlbnNcbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgei1pbmRleDogOTg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vIFRvcGJhciBHbG9iYWwgbGlzdCBTdHlsZXNcbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgZm9ybSxcbiAgICAgIGlucHV0LCBcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGlucHV0LCBcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1idXR0b24tZm9udC1zaXplO1xuICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaW5wdXQtaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjM1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogLjM1cmVtO1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uLCBidXR0b24ge1xuICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNXJlbSArIHJlbS1jYWxjKDEpO1xuICAgICAgICBwYWRkaW5nLXRvcDogLjM1cmVtICsgcmVtLWNhbGMoMSk7XG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy8gdG9wOiAtMXB4O1xuXG4gICAgICAgIC8vIENvcnJlY3RzIGEgc2xpZ2h0IG1pc2FsaWdubWVudCB3aGVuIHB1dCBuZXh0IHRvIGFuIGlucHV0IGZpZWxkXG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaXRsZSBBcmVhXG4gICAgICAudGl0bGUtYXJlYSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAubmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJlbS1iYXNlO1xuICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIHAsIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci10aXRsZS1mb250LXNpemU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItdGl0bGUtd2VpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE1lbnUgdG9nZ2xlIGJ1dHRvbiBvbiBzbWFsbCBkZXZpY2VzXG4gICAgICAudG9nZ2xlLXRvcGJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgI3skdG9wYmFyLW1lbnUtaWNvbi1wb3NpdGlvbn06IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1tZW51LWxpbmstZm9udC1zaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLW1lbnUtbGluay13ZWlnaHQ7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZGluZyB0aGUgY2xhc3MgXCJtZW51LWljb25cIiB3aWxsIGFkZCB0aGUgMy1saW5lIGljb24gcGVvcGxlIGxvdmUgYW5kIGFkb3JlLlxuICAgICAgICAmLm1lbnUtaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigxNnB4LCBmYWxzZSwgMCwgMXB4LCA2cHgsICR0b3BiYXItbWVudS1pY29uLWNvbG9yLCBcIlwiLCBmYWxzZSk7XG5cbiAgICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC01OHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbWVudS1saW5rLWNvbG9yO1xuICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nK3JlbS1jYWxjKDI1KSAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBDaGFuZ2UgdGhpbmdzIHVwIHdoZW4gdGhlIHRvcC1iYXIgaXMgZXhwYW5kZWRcbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIC50aXRsZS1hcmVhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvZ2dsZS10b3BiYXIge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbWVudS1saW5rLWNvbG9yLXRvZ2dsZWQ7XG5cbiAgICAgICAgICAgIHNwYW46OmFmdGVyIHtcbiAgICAgICAgICAgICAgLy8gU2hoLCBkb24ndCB0ZWxsLCBidXQgYm94LXNoYWRvd3MgY3JlYXRlIHRoZSBtZW51IGljb24gOilcbiAgICAgICAgICAgICAgLy8gQ2hhbmdlIHRoZSBjb2xvciBvZiB0aGUgYmFycyB3aGVuIHRoZSBtZW51IGlzIGV4cGFuZGVkLCB1c2luZyBnaXZlbiB0aGlja25lc3MgZnJvbSBoYW1idXJnZXIoKSBhYm92ZVxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMCA3cHggMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAxNHB4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRml4ZXMgYW4gaXNzdWUgd2l0aCBEZXNrdG9wIGFuZCBNb2JpbGUgU2FmYXJpIHdoZXJlIGRlZXBseS1uZXN0ZWQgbWVudXMgZG9uJ3QgYXBwZWFyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xuICAgICAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICAgICAgLmhhcy1kcm9wZG93bi5tb3ZlZCA+IC5kcm9wZG93bixcbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIGNsaXA6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRoaXMgd2FzIG5lZWRlZCBhcyBwYXJlbnQgdWwncyBoYWQgcGFkZGluZywgYW5kIHRoZSBjbGlwOiB3YXMgYWxsb3dpbmcgY29udGVudCB0byBwZWFrIHRocm91Z2hcbiAgICAgICAgICAgIC5oYXMtZHJvcGRvd246bm90KC5tb3ZlZCkgPiB1bCB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmlnaHQgYW5kIExlZnQgTmF2aWdhdGlvbiB0aGF0IHN0YWNrZWQgYnkgZGVmYXVsdFxuICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKCRkZWZhdWx0LWZsb2F0LCAkdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQpO1xuXG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6ICRyZW0tYmFzZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuZGl2aWRlcixcbiAgICAgIFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJHRvcGJhci1kaXZpZGVyLWJvcmRlci10b3A7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIHVsIGxpIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tYmc7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdG9wYmFyLWxpbmstZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWxpbmstd2VpZ2h0O1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggMCAxMnB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLWxpbmstdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAmLmJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XG4gICAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmJ1dHRvbi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24uc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24uYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi53YXJuaW5nIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvcik7IH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yKTsgfVxuICAgICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvcik7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGx5IHRoZSBob3ZlciBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgJjpob3Zlcjpub3QoLmhhcy1mb3JtKSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xuXG4gICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSB0aGUgYWN0aXZlIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQWRkIHNvbWUgZXh0cmEgcGFkZGluZyBmb3IgbGlzdCBpdGVtcyBjb250YWlucyBidXR0b25zXG4gICAgICAuaGFzLWZvcm0ge1xuICAgICAgICBwYWRkaW5nOiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgLy8gU3R5bGluZyBmb3IgbGlzdCBpdGVtcyB0aGF0IGhhdmUgYSBkcm9wZG93biB3aXRoaW4gdGhlbS5cbiAgICAgIC5oYXMtZHJvcGRvd24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpZiAoJHRvcGJhci1hcnJvd3MpIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUsIHJnYmEoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3IsICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhKSwgJGRlZmF1bHQtZmxvYXQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUgLyAyKSAtIDI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5tb3ZlZCB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcblxuICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gU3R5bGluZyBlbGVtZW50cyBpbnNpZGUgb2YgZHJvcGRvd25zXG4gICAgICAuZHJvcGRvd24ge1xuICAgICAgICBAaW5jbHVkZSB0b3BiYXItaGlkZS1kcm9wZG93bigpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstd2VpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgJi5wYXJlbnQtbGluayB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWxpbmstd2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYudGl0bGUgaDUsXG4gICAgICAgICAgJi5wYXJlbnQtbGluayB7XG4gICAgICAgICAgICAvLyBCYWNrIEJ1dHRvblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYmFjay1saW5rLXNpemU7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgLy8gbGluZS1oZWlnaHQ6ICgkdG9wYmFyLWhlaWdodCAvIDIpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgJjpob3ZlciB7IGJhY2tncm91bmQ6bm9uZTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaGFzLWZvcm0ge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5idXR0b24sXG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZyAycHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZ2VuZXJhdGVkIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4gICAgLy8gVG9wIEJhciBzdHlsZXMgaW50ZW5kZWQgZm9yIHNjcmVlbiBzaXplcyBhYm92ZSB0aGUgYnJlYWtwb2ludC5cbiAgICBAbWVkaWEgI3skdG9wYmFyLW1lZGlhLXF1ZXJ5fSB7XG4gICAgICAudG9wLWJhciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAudG9nZ2xlLXRvcGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAudGl0bGUtYXJlYSB7IGZsb2F0OiAkZGVmYXVsdC1mbG9hdDsgfVxuICAgICAgICAubmFtZSBoMSBhLFxuICAgICAgICAubmFtZSBoMiBhLFxuICAgICAgICAubmFtZSBoMyBhLFxuICAgICAgICAubmFtZSBoNCBhLFxuICAgICAgICAubmFtZSBoNSBhLFxuICAgICAgICAubmFtZSBoNiBhIHsgd2lkdGg6IGF1dG87IH1cblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgc2VsZWN0LFxuICAgICAgICAuYnV0dG9uLFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1pbnB1dC1oZWlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogKCgkdG9wYmFyLWhlaWdodCAtICR0b3BiYXItaW5wdXQtaGVpZ2h0KSAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1mb3JtID4gLmJ1dHRvbixcbiAgICAgICAgLmhhcy1mb3JtID4gYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaW5wdXQtaGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgICAgICAgdG9wOiAoKCR0b3BiYXItaGVpZ2h0IC0gJHRvcGJhci1pbnB1dC1oZWlnaHQpIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb250YWluLXRvLWdyaWQgLnRvcC1iYXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRvcGJhci1tYXJnaW4tYm90dG9tO1xuICAgICAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihub25lLDAsMCk7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICAgIC5qcy1nZW5lcmF0ZWQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm5vdCguaGFzLWZvcm0pIHtcbiAgICAgICAgICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuYWN0aXZlOm5vdCguaGFzLWZvcm0pIHtcbiAgICAgICAgICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZTtcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZHJvcGRvd24ge1xuICAgICAgICAgIEBpZiAkdG9wYmFyLWFycm93cyB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nICsgJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUsIHJnYmEoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3IsICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhKSwgdG9wKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUgLyAyKTtcbiAgICAgICAgICAgICAgICB0b3A6ICgkdG9wYmFyLWhlaWdodCAvIDIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5tb3ZlZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLWhpZGUtZHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmhvdmVyLCAmLm5vdC1jbGljazpob3ZlciB7XG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiBhOmZvY3VzICsgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmRyb3Bkb3duIGxpLmhhcy1kcm9wZG93biB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItZHJvcGRvd24tYXJyb3dzKSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMDBiYlwiO1xuICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygzKTtcblxuICAgICAgICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRvcDogYXV0bztcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoLmhhcy1mb3JtKTpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgICAgICA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6aG92ZXIgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWJnO1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWNvbmQgTGV2ZWwgRHJvcGRvd25zXG4gICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gdWwgPiAuZGl2aWRlcixcbiAgICAgICAgPiB1bCA+IFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1kaXZpZGVyLWJvcmRlci1ib3R0b207XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWZvcm0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbiBvdmVycmlkZXMgZm9yIHVsLnJpZ2h0IGFuZCB1bC5sZWZ0XG4gICAgICAgIC4jeyRvcHBvc2l0ZS1kaXJlY3Rpb259IHtcbiAgICAgICAgICBsaSAuZHJvcGRvd24ge1xuICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuXG4gICAgICAgICAgICBsaSAuZHJvcGRvd24geyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMDAlOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC4jeyRkZWZhdWx0LWZsb2F0fSB7XG4gICAgICAgICAgbGkgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgICAgICAgbGkgLmRyb3Bkb3duIHsgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gRGVncmFkZSBncmFjZWZ1bGx5IHdoZW4gSmF2YXNjcmlwdCBpcyBkaXNhYmxlZC4gRGlzcGxheXMgZHJvcGRvd24gYW5kIGNoYW5nZXNcbiAgICAgIC8vIGJhY2tncm91bmQgJiB0ZXh0IGNvbG9yIG9uIGhvdmVyLlxuICAgICAgLm5vLWpzIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICB1bCBsaSB7XG4gICAgICAgICAgLy8gQXBwbHkgdGhlIGhvdmVyIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAgICY6aG92ZXIgPiBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQXBwbHkgdGhlIGFjdGl2ZSBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgICAmOmFjdGl2ZSA+IGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZHJvcGRvd24ge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc3R5bGVzXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcbiRoZWFkZXItZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRoZWFkZXItdG9wLW1hcmdpbjogLjJyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzaXplc1xuJGgxLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDQpICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogcmVtLWNhbGMoMzcpICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIHNpemUgcmVkdWN0aW9uIG9uIHNtYWxsIHNjcmVlbnNcbiRoMS1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGgyLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kaDMtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuJGg0LWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRoNS1mb250LXJlZHVjdGlvbjogMCAhZGVmYXVsdDtcbiRoNi1mb250LXJlZHVjdGlvbjogMCAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCBob3cgc3ViaGVhZGVycyBhcmUgc3R5bGVkLlxuJHN1YmhlYWRlci1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJHN1YmhlYWRlci1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHN1YmhlYWRlci10b3AtbWFyZ2luOiAuMnJlbSAhZGVmYXVsdDtcbiRzdWJoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEEgZ2VuZXJhbCA8c21hbGw+IHN0eWxpbmdcbiRzbWFsbC1mb250LXNpemU6IDYwJSAhZGVmYXVsdDtcbiRzbWFsbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBwYXJhZ3JhcGhzXG4kcGFyYWdyYXBoLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuJHBhcmFncmFwaC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHBhcmFncmFwaC1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDogMS4zNSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgPGNvZGU+IHRhZ3NcbiRjb2RlLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG4kY29kZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRjb2RlLWJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDcwJSkgIWRlZmF1bHQ7XG4kY29kZS1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNvZGUtYmFja2dyb3VuZC1jb2xvciwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyKSByZW0tY2FsYyg1KSByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGFuY2hvcnNcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG4kYW5jaG9yLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGFuY2hvci1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIDxocj4gZWxlbWVudFxuJGhyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGhyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGlzdHNcbiRsaXN0LWZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGxpc3QtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsaXN0LWxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4xcmVtICFkZWZhdWx0O1xuJGxpc3Qtb3JkZXJlZC1zaWRlLW1hcmdpbjogMS40cmVtICFkZWZhdWx0O1xuJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0OiAwICFkZWZhdWx0O1xuJGxpc3QtbmVzdGVkLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGRlZmluaXRpb24tbGlzdC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b206IC4zcmVtICFkZWZhdWx0O1xuJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBibG9ja3F1b3Rlc1xuJGJsb2NrcXVvdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDIzJSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8gQWNyb255bSBzdHlsZXNcbiRhY3JvbnltLXVuZGVybGluZTogMXB4IGRvdHRlZCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBwYWRkaW5nIGFuZCBtYXJnaW5cbiRtaWNyb2Zvcm1hdC1wYWRkaW5nOiByZW0tY2FsYygxMCAxMikgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtbWFyZ2luOiByZW0tY2FsYygwIDAgMjAgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4kbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGZ1bGwgbmFtZSBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3VtbWFyeSBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgcGFkZGluZ1xuJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZzogcmVtLWNhbGMoMCAxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIGZvbnQgc3R5bGVzXG4kbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYWJici1mb250LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xzIHRoZSBwYWdlIG1hcmdpbiB3aGVuIHByaW50aW5nIHRoZSB3ZWJzaXRlXG4kcHJpbnQtbWFyZ2luOiAwLjM0aW4gIWRlZmF1bHQ7XG5cbi8vIFRleHQgYWxpZ25tZW50IGNsYXNzIG5hbWVzXG4kYWxpZ24tY2xhc3MtbmFtZXM6XG4gIHNtYWxsLW9ubHksXG4gIHNtYWxsLFxuICBtZWRpdW0tb25seSxcbiAgbWVkaXVtLFxuICBsYXJnZS1vbmx5LFxuICBsYXJnZSxcbiAgeGxhcmdlLW9ubHksXG4gIHhsYXJnZSxcbiAgeHhsYXJnZS1vbmx5LFxuICB4eGxhcmdlO1xuXG4vLyBUZXh0IGFsaWdubWVudCBicmVha3BvaW50c1xuJGFsaWduLWNsYXNzLWJyZWFrcG9pbnRzOlxuICAkc21hbGwtb25seSxcbiAgJHNtYWxsLXVwLFxuICAkbWVkaXVtLW9ubHksXG4gICRtZWRpdW0tdXAsXG4gICRsYXJnZS1vbmx5LFxuICAkbGFyZ2UtdXAsXG4gICR4bGFyZ2Utb25seSxcbiAgJHhsYXJnZS11cCxcbiAgJHh4bGFyZ2Utb25seSxcbiAgJHh4bGFyZ2UtdXA7XG5cbi8vIEdlbmVyYXRlcyB0ZXh0IGFsaWduIGFuZCBqdXN0aWZ5IGNsYXNzZXNcbkBtaXhpbiBhbGlnbi1jbGFzc2Vze1xuICAudGV4dC1sZWZ0ICAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXJpZ2h0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWNlbnRlciAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAudGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGFsaWduLWNsYXNzLW5hbWVzKSB7XG4gICAgQG1lZGlhICN7KG50aCgkYWxpZ24tY2xhc3MtYnJlYWtwb2ludHMsICRpKSl9IHtcbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LXJpZ2h0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1jZW50ZXIgIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFR5cG9ncmFwaHkgUGxhY2Vob2xkZXJzXG4vL1xuXG4vLyBUaGVzZSB3aWxsIHRocm93IGEgZGVwcmVjYXRpb24gd2FybmluZyBpZiB1c2VkIHdpdGhpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGxlYWQge1xuICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgcmVtLWNhbGMoMy41KTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuQG1peGluIHN1YmhlYWRlciB7XG4gIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHN1YmhlYWRlci1mb250LWNvbG9yO1xuICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci10b3AtbWFyZ2luO1xuICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW47XG59XG5AaW5jbHVkZSBleHBvcnRzKFwidHlwZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlcyB7XG4gICAgLy8gUmVzcG9uc2l2ZSBUZXh0IGFsaWdubWVudFxuICAgIEBpbmNsdWRlIGFsaWduLWNsYXNzZXM7XG5cbiAgICAvKiBUeXBvZ3JhcGh5IHJlc2V0cyAqL1xuICAgIGRpdixcbiAgICBkbCxcbiAgICBkdCxcbiAgICBkZCxcbiAgICB1bCxcbiAgICBvbCxcbiAgICBsaSxcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNixcbiAgICBwcmUsXG4gICAgZm9ybSxcbiAgICBwLFxuICAgIGJsb2NrcXVvdGUsXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBMaW5rIFN0eWxlcyAqL1xuICAgIGEge1xuICAgICAgY29sb3I6ICRhbmNob3ItZm9udC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGFuY2hvci1mb250LWNvbG9yLWhvdmVyO1xuICAgICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICBcdHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW1nIHsgYm9yZGVyOm5vbmU7IH1cbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IHBhcmFncmFwaCBzdHlsZXMgKi9cbiAgICBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcblxuICAgICAgJi5sZWFkIHsgQGluY2x1ZGUgbGVhZDsgfVxuXG4gICAgICAmIGFzaWRlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1zdHlsZTogJHBhcmFncmFwaC1hc2lkZS1mb250LXN0eWxlO1xuICAgICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IGhlYWRlciBzdHlsZXMgKi9cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLWZvbnQtY29sb3I7XG4gICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLWJvdHRvbS1tYXJnaW47XG4gICAgICBtYXJnaW4tdG9wOiAkaGVhZGVyLXRvcC1tYXJnaW47XG4gICAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgICAgc21hbGwge1xuICAgICAgICBjb2xvcjogJHNtYWxsLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemUgLSAkaDEtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZSAtICRoMi1mb250LXJlZHVjdGlvbjsgfVxuICAgIGgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplIC0gJGgzLWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemUgLSAkaDQtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZSAtICRoNS1mb250LXJlZHVjdGlvbjsgfVxuICAgIGg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplIC0gJGg2LWZvbnQtcmVkdWN0aW9uOyB9XG5cbiAgICAuc3ViaGVhZGVyIHsgQGluY2x1ZGUgc3ViaGVhZGVyOyB9XG5cbiAgICBociB7XG4gICAgICBib3JkZXI6ICRoci1ib3JkZXItc3R5bGUgJGhyLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogJGhyLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogJGhyLW1hcmdpbiAwICgkaHItbWFyZ2luIC0gcmVtLWNhbGMoJGhyLWJvcmRlci13aWR0aCkpO1xuICAgIH1cblxuICAgIC8qIEhlbHBmdWwgVHlwb2dyYXBoeSBEZWZhdWx0cyAqL1xuICAgIGVtLFxuICAgIGkge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgc3Ryb25nLFxuICAgIGIge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgY29kZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29kZS1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItc3R5bGU6ICRjb2RlLWJvcmRlci1zdHlsZTtcbiAgICAgIGJvcmRlci13aWR0aDogJGNvZGUtYm9yZGVyLXNpemU7XG4gICAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8qIExpc3RzICovXG4gICAgdWwsXG4gICAgb2wsXG4gICAgZGwge1xuICAgICAgZm9udC1mYW1pbHk6ICRsaXN0LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAkbGlzdC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZS1oZWlnaHQ7XG4gICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICB9XG5cbiAgICAvKiBVbm9yZGVyZWQgTGlzdHMgKi9cbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc3F1YXJlLFxuICAgICAgJi5jaXJjbGUsXG4gICAgICAmLmRpc2Mge1xuICAgICAgICBsaSB1bCB7IGxpc3Qtc3R5bGU6IGluaGVyaXQ7IH1cbiAgICAgIH1cblxuICAgICAgJi5zcXVhcmUgeyBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgICAmLmNpcmNsZSB7IGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlOyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO31cbiAgICAgICYuZGlzYyB7IGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgfVxuXG4gICAgLyogT3JkZXJlZCBMaXN0cyAqL1xuICAgIG9sIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtb3JkZXJlZC1zaWRlLW1hcmdpbjtcbiAgICAgIGxpIHtcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW5lc3RlZC1tYXJnaW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIExpc3RzIHdpdGhvdXQgYnVsbGV0c1xuICAgIC5uby1idWxsZXQge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ7XG4gICAgICBcbiAgICAgIGxpIHtcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW5lc3RlZC1tYXJnaW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGVmaW5pdGlvbiBMaXN0cyAqL1xuICAgIGRsIHtcbiAgICAgIGR0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDtcbiAgICAgIH1cbiAgICAgIGRkIHsgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOyB9XG4gICAgfVxuXG4gICAgLyogQWJicmV2aWF0aW9ucyAqL1xuICAgIGFiYnIsXG4gICAgYWNyb255bSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1oZWxwLXZhbHVlO1xuICAgIH1cbiAgICBhYmJyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgJlt0aXRsZV0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYWNyb255bS11bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQmxvY2txdW90ZXMgKi9cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICAgY2l0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXDIwMTQgXFwwMDIwXCI7XG4gICAgICAgIH1cblxuICAgICAgICBhLFxuICAgICAgICBhOnZpc2l0ZWQge1xuICAgICAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYmxvY2txdW90ZSxcbiAgICBibG9ja3F1b3RlIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICAvKiBNaWNyb2Zvcm1hdHMgKi9cbiAgICAudmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAkbWljcm9mb3JtYXQtbWFyZ2luO1xuICAgICAgYm9yZGVyOiAkbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoICRtaWNyb2Zvcm1hdC1ib3JkZXItc3R5bGUgJG1pY3JvZm9ybWF0LWJvcmRlci1jb2xvcjtcbiAgICAgIHBhZGRpbmc6ICRtaWNyb2Zvcm1hdC1wYWRkaW5nO1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuZm4ge1xuICAgICAgICBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6ICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZldmVudCB7XG4gICAgICAuc3VtbWFyeSB7IGZvbnQtd2VpZ2h0OiAkbWljcm9mb3JtYXQtc3VtbWFyeS1mb250LXdlaWdodDsgfVxuXG4gICAgICBhYmJyIHtcbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uO1xuICAgICAgICBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LWFiYnItZm9udC13ZWlnaHQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgeyBsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDsgfVxuICAgICAgaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemU7IH1cbiAgICAgIGgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplOyB9XG4gICAgICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTsgfVxuICAgICAgaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemU7IH1cbiAgICAgIGg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XG4gICAgICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZTsgfVxuICAgIH1cblxuICAgIC8vIE9ubHkgaW5jbHVkZSB0aGVzZSBzdHlsZXMgaWYgeW91IHdhbnQgdGhlbS5cbiAgICBAaWYgJGluY2x1ZGUtcHJpbnQtc3R5bGVzIHtcbiAgICAgIC8qXG4gICAgICAgKiBQcmludCBzdHlsZXMuXG4gICAgICAgKlxuICAgICAgICogSW5saW5lZCB0byBhdm9pZCByZXF1aXJlZCBIVFRQIGNvbm5lY3Rpb246IHd3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4gICAgICAgKiBDcmVkaXQgdG8gUGF1bCBJcmlzaCBhbmQgSFRNTDUgQm9pbGVycGxhdGUgKGh0bWw1Ym9pbGVycGxhdGUuY29tKVxuICAgICAgKi9cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICoge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zICovXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBhLFxuICAgICAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuXG4gICAgICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG5cbiAgICAgICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyBmb3IgaW1hZ2VzLCBvciBqYXZhc2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgICAgIC5pciBhOmFmdGVyLFxuICAgICAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICAgICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyIHsgY29udGVudDogXCJcIjsgfVxuXG4gICAgICAgIHByZSxcbiAgICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFsdW1pbnVtO1xuICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvKiBoNWJwLmNvbS90ICovIH1cblxuICAgICAgICB0cixcbiAgICAgICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICAgICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICBAcGFnZSB7IG1hcmdpbjogJHByaW50LW1hcmdpbjsgfVxuXG4gICAgICAgIHAsXG4gICAgICAgIGgyLFxuICAgICAgICBoMyB7XG4gICAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgICB3aWRvd3M6IDM7XG4gICAgICAgIH1cblxuICAgICAgICBoMixcbiAgICAgICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAndHlwZSc7XG5cbi8vIE9mZiBDYW52YXMgVGFiIEJhciBWYXJpYWJsZXNcbiRpbmNsdWRlLWh0bWwtb2ZmLWNhbnZhcy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiR0YWJiYXItYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdGFiYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpICFkZWZhdWx0O1xuJHRhYmJhci1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcbiR0YWJiYXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmJhci1taWRkbGUtcGFkZGluZzogMCByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgRGl2aWRlciBTdHlsZXNcbiR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpICFkZWZhdWx0O1xuJHRhYmJhci1yaWdodC1zZWN0aW9uLWJvcmRlcjogJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyO1xuXG5cbi8vIE9mZiBDYW52YXMgVGFiIEJhciBIZWFkZXJzXG4kdGFiYmFyLWhlYWRlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmJhci1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcbiR0YWJiYXItaGVhZGVyLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBNZW51IFZhcmlhYmxlc1xuJG9mZi1jYW52YXMtd2lkdGg6IHJlbS1jYWxjKDI1MCkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1oZWlnaHQ6IHJlbS1jYWxjKDMwMCkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iZzogJG9pbCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJnLWFjdGl2ZTogc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgTWVudSBMaXN0IFZhcmlhYmxlc1xuJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZzogLjNyZW0gcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWJnOiAkdHVhdGFyYSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b206IG5vbmUgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW46MCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxpbmstcGFkZGluZzogcmVtLWNhbGMoMTAsIDE1KSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxpbmstY29sb3I6IHJnYmEoJHdoaXRlLCAuNykgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1saW5rLWJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1iZywgJGxpZ2h0bmVzczogLTI1JSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWJnOiAjNDQ0ICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItYm90dG9tICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ob3Zlci1iZzogc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmFjay1iZywgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLWJvdHRvbTogbm9uZSAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBNZW51IEljb24gVmFyaWFibGVzXG4kdGFiYmFyLW1lbnUtaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmJhci1tZW51LWljb24taG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcblxuJHRhYmJhci1tZW51LWljb24tdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDM1KSAhZGVmYXVsdDtcbiR0YWJiYXItbWVudS1pY29uLXdpZHRoOiAkdGFiYmFyLWljb24td2lkdGggIWRlZmF1bHQ7XG4kdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1tZW51LWljb24tcGFkZGluZzogMCAhZGVmYXVsdDtcblxuJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0OiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tdG9wOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzOiAxcHggIWRlZmF1bHQ7XG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLWdhcDogNnB4ICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIEJhY2stTGluayBPdmVybGF5XG4kb2ZmLWNhbnZhcy1vdmVybGF5LXRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLW92ZXJsYXktY3Vyc29yOiBwb2ludGVyICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1ib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSksIDRweCAwIDRweCByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgLjIpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcblxuLy8gVHJhbnNpdGlvbiBWYXJpYWJsZXNcbiRtZW51LXNsaWRlOiBcInRyYW5zZm9ybSA1MDBtcyBlYXNlXCIgIWRlZmF1bHQ7XG5cblxuLy8gTUlYSU5TXG4vLyBSZW1vdmUgdHJhbnNpdGlvbiBmbGlja2VyIG9uIHBob25lc1xuQG1peGluIGtpbGwtZmxpY2tlciB7XG4gIC8vIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDB4KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vIEJhc2ljIHByb3BlcnRpZXMgZm9yIHRoZSBjb250ZW50IHdyYXBzXG5AbWl4aW4gd3JhcC1iYXNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1peGluIHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopO1xuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHR4LCAkdHkpO1xuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KVxufVxuXG4vLyBiYXNpYyBzdHlsZXMgZm9yIG9mZi1jYW52YXMgbWVudSBjb250YWluZXJcbkBtaXhpbiBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcbiAgKiB7IEBpbmNsdWRlIGtpbGwtZmxpY2tlcjsgfVxuICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlIDBzO1xuICB3aWR0aDogJG9mZi1jYW52YXMtd2lkdGg7XG4gIHotaW5kZXg6IDEwMDE7XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDEwMCUsMCwwKTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJG9mZi1jYW52YXMtaGVpZ2h0O1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLDEwMCUsMCk7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJG9mZi1jYW52YXMtaGVpZ2h0O1xuICB9XG59XG5cbi8vIE9GRiBDQU5WQVMgV1JBUFxuLy8gV3JhcCB2aXNpYmxlIGNvbnRlbnQgYW5kIHByZXZlbnQgc2Nyb2xsIGJhcnNcbkBtaXhpbiBvZmYtY2FudmFzLXdyYXAge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG4gIEBpbmNsdWRlIHdyYXAtYmFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJi5tb3ZlLXJpZ2h0LFxuICAmLm1vdmUtbGVmdCxcbiAgJi5tb3ZlLWJvdHRvbSxcbiAgJi5tb3ZlLXRvcCB7IG1pbi1oZWlnaHQ6IDEwMCU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxufVxuXG4vLyBJTk5FUiBXUkFQXG4vLyBNYWluIGNvbnRlbnQgYXJlYSB0aGF0IG1vdmVzIHRvIHJldmVhbCB0aGUgb2ZmLWNhbnZhcyBuYXZcbkBtaXhpbiBpbm5lci13cmFwIHtcbiAgLy8gQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICAvLyByZW1vdmVkIGZvciBub3cgdGlsbCBjaHJvbWUgZml4ZXMgYmFja2ZhY2UgaXNzdWVcbiAgQGluY2x1ZGUgd3JhcC1iYXNlO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LSN7JG1lbnUtc2xpZGV9O1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otI3skbWVudS1zbGlkZX07XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtI3skbWVudS1zbGlkZX07XG4gIC1vLXRyYW5zaXRpb246IC1vLSN7JG1lbnUtc2xpZGV9O1xuICB0cmFuc2l0aW9uOiAjeyRtZW51LXNsaWRlfTtcbn1cblxuLy8gVEFCIEJBUlxuLy8gVGhpcyBpcyB0aGUgdGFiIGJhciBiYXNlXG5AbWl4aW4gdGFiLWJhci1iYXNlIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuXG4gIC8vIGJhc2Ugc3R5bGVzXG4gIGJhY2tncm91bmQ6ICR0YWJiYXItYmc7XG4gIGNvbG9yOiAkdGFiYmFyLWNvbG9yO1xuICBoZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuICBsaW5lLWhlaWdodDogJHRhYmJhci1saW5lLWhlaWdodDtcblxuICAvLyBtYWtlIHN1cmUgaXQncyBiZWxvdyB0aGUgLmV4aXQtb2ZmLWNhbnZhcyBsaW5rXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gei1pbmRleDogOTk5O1xuXG4gIC8vIFR5cG9ncmFwaHlcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6ICR0YWJiYXItaGVhZGVyLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGFiYmFyLWhlYWRlci13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICAgIG1hcmdpbjogJHRhYmJhci1oZWFkZXItbWFyZ2luO1xuICB9XG4gIGgxLCBoMiwgaDMsIGg0IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XG59XG5cbi8vIFNNQUxMIFNFQ1RJT05TXG4vLyBUaGVzZSBhcmUgc21hbGwgc2VjdGlvbnMgb24gdGhlIGxlZnQgYW5kIHJpZ2h0IHRoYXQgY29udGFpbiB0aGUgb2ZmLWNhbnZhcyB0b2dnbGUgYnV0dG9ucztcbkBtaXhpbiB0YWJiYXItc21hbGwtc2VjdGlvbigkcG9zaXRpb24pIHtcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAkdGFiYmFyLWljb24td2lkdGg7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XG4gICAgLy8gYm94LXNoYWRvdzogMXB4IDAgMCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAxMyUpO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgYm9yZGVyLWxlZnQ6ICR0YWJiYXItcmlnaHQtc2VjdGlvbi1ib3JkZXI7XG4gICAgLy8gYm94LXNoYWRvdzogLTFweCAwIDAgc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTUwJSk7XG4gICAgcmlnaHQ6MDtcbiAgfVxufVxuXG5AbWl4aW4gdGFiLWJhci1zZWN0aW9uIHtcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbiAgcGFkZGluZzogJHRhYmJhci1taWRkbGUtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgICAmLmxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgJi5yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cblxuICAvLyBzdGlsbCBuZWVkIHRvIG1ha2UgdGhlc2Ugbm9uLXByZXNlbnRhdGlvbmFsXG4gICYubGVmdCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogJHRhYmJhci1pY29uLXdpZHRoO1xuICB9XG4gICYucmlnaHQge1xuICAgIGxlZnQ6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgICByaWdodDogMDtcbiAgfVxuICAmLm1pZGRsZSB7XG4gICAgbGVmdDogJHRhYmJhci1pY29uLXdpZHRoO1xuICAgIHJpZ2h0OiAkdGFiYmFyLWljb24td2lkdGg7XG4gIH1cbn1cblxuLy8gT0ZGIENBTlZBUyBMSVNUXG4vLyBUaGlzIGlzIHRoZSBsaXN0IG9mIGxpbmtzIGluIHRoZSBvZmYtY2FudmFzIG1lbnVcbkBtaXhpbiBvZmYtY2FudmFzLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjowO1xuICBwYWRkaW5nOjA7XG5cbiAgbGkge1xuICAgIGxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWxhYmVsLWJnO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTtcbiAgICAgIGJvcmRlci10b3A6ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A7XG4gICAgICBjb2xvcjogJG9mZi1jYW52YXMtbGFiZWwtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogJG9mZi1jYW52YXMtbGFiZWwtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgbWFyZ2luOiAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW47XG4gICAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nO1xuICAgICAgdGV4dC10cmFuc2Zvcm06ICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTtcbiAgICAgIGNvbG9yOiAkb2ZmLWNhbnZhcy1saW5rLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1saW5rLXBhZGRpbmc7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmctaG92ZXI7XG4gICAgICB9XG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLyBCQUNLIExJTktcbi8vIFRoaXMgaXMgYW4gb3ZlcmxheSB0aGF0LCB3aGVuIGNsaWNrZWQsIHdpbGwgdG9nZ2xlIG9mZiB0aGUgb2ZmIGNhbnZhcyBtZW51XG5AbWl4aW4gYmFjay1saW5rIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuXG4gIGJveC1zaGFkb3c6ICRvZmYtY2FudmFzLW92ZXJsYXktYm94LXNoYWRvdztcbiAgY3Vyc29yOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWN1cnNvcjtcbiAgdHJhbnNpdGlvbjogJG9mZi1jYW52YXMtb3ZlcmxheS10cmFuc2l0aW9uO1xuXG4gIC8vIGZpbGwgdGhlIHNjcmVlblxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAyO1xuXG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIE9mZi1DYW52YXMgU3VibWVudSBDbGFzc2VzXG4vL1xuQG1peGluIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICAqIHsgQGluY2x1ZGUga2lsbC1mbGlja2VyOyB9XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmc7XG4gIGJvdHRvbTogMDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6ICRvZmYtY2FudmFzLXdpZHRoO1xuICBoZWlnaHQ6ICRvZmYtY2FudmFzLWhlaWdodDtcbiAgei1pbmRleDogMTAwMjtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMTAwJSwwLDApO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLC0xMDAlLDApO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfSAgXG4gIEBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLDEwMCUsMCk7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC0jeyRtZW51LXNsaWRlfTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LSN7JG1lbnUtc2xpZGV9O1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLSN7JG1lbnUtc2xpZGV9O1xuICAtby10cmFuc2l0aW9uOiAtby0jeyRtZW51LXNsaWRlfTtcbiAgdHJhbnNpdGlvbjogI3skbWVudS1zbGlkZX07XG5cbiAgLy9iYWNrIGJ1dHRvbiBzdHlsZSBsaWtlIGxhYmVsXG4gIC5iYWNrID4gYSB7XG4gICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmFjay1iZztcbiAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci1ib3R0b207XG4gICAgYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtYmFjay1ib3JkZXItdG9wO1xuICAgIGNvbG9yOiAkb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJhY2staG92ZXItYmc7XG4gICAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci1ib3R0b207XG4gICAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A7XG4gICAgfVxuXG4gICAgbWFyZ2luOiAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW47XG4gICAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vTGVmdCBkb3VibGUgYW5nbGUgcXVvdGUgb3IgUmlnaHQgZG91YmxlIGFuZ2xlIHF1b3RlIGNoYXJzXG5AbWl4aW4gaWNvbi1kb3VibGUtYXJyb3dzICgkcG9zaXRpb24pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBjb250ZW50OiBcIlxcQUJcIjtcbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgIH1cbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBjb250ZW50OiBcIlxcQkJcIjtcbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgIH1cbiAgfVxuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi8vXG4vLyBERUZBVUxUIENMQVNTRVNcbi8vXG5AaW5jbHVkZSBleHBvcnRzKFwib2ZmY2FudmFzXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtb2ZmLWNhbnZhcy1jbGFzc2VzIHtcblxuICAgIC5vZmYtY2FudmFzLXdyYXAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXA7IH1cbiAgICAuaW5uZXItd3JhcCB7IEBpbmNsdWRlIGlubmVyLXdyYXA7IH1cblxuICAgIC50YWItYmFyIHsgQGluY2x1ZGUgdGFiLWJhci1iYXNlOyB9XG5cbiAgICAubGVmdC1zbWFsbCB7IEBpbmNsdWRlIHRhYmJhci1zbWFsbC1zZWN0aW9uKCRwb3NpdGlvbjogbGVmdCk7IH1cbiAgICAucmlnaHQtc21hbGwgeyBAaW5jbHVkZSB0YWJiYXItc21hbGwtc2VjdGlvbigkcG9zaXRpb246IHJpZ2h0KTsgfVxuXG4gICAgLnRhYi1iYXItc2VjdGlvbiB7IEBpbmNsdWRlIHRhYi1iYXItc2VjdGlvbjsgfVxuXG4gICAgLy8gTUVOVSBCVVRUT05cbiAgICAvLyBUaGlzIGlzIGEgbGl0dGxlIGJvbnVzLiBZb3UgZG9uJ3QgbmVlZCBpdCBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrLiBNaXhpbnMgdG8gYmUgd3JpdHRlbiBpbiB0aGUgZnV0dXJlLlxuICAgIC50YWItYmFyIC5tZW51LWljb24ge1xuICAgICAgY29sb3I6ICR0YWJiYXItbWVudS1pY29uLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6ICR0YWJiYXItbWVudS1pY29uLWhlaWdodDtcbiAgICAgIHBhZGRpbmc6ICR0YWJiYXItbWVudS1pY29uLXBhZGRpbmc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWluZGVudDogJHRhYmJhci1tZW51LWljb24tdGV4dC1pbmRlbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgIHdpZHRoOiAkdGFiYmFyLW1lbnUtaWNvbi13aWR0aDtcblxuICAgICAgLy8gQGluY2x1ZGUgZm9yIHRoZSBoYW1idXJnZXIgbWVudS1pY29uXG4gICAgICAvL1xuICAgICAgLy8gQXJndW1lbnRzIGFzIGZvbGxvd3M6ICgkd2lkdGgsICRsZWZ0LCAkdG9wLCAkdGhpY2tuZXNzLCAkZ2FwLCAkY29sb3IsICRob3Zlci1jb2xvcilcbiAgICAgIC8vICR3aWR0aCAtIFdpZHRoIG9mIGhhbWJ1cmdlciBpY29uIGluIHJlbSBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoLlxuICAgICAgLy8gJGxlZnQgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIGhvcml6b250YWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW0gRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0PSBGYWxzZVxuICAgICAgLy8gJHRvcCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgdmVydGljYWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW0gRGVmYXVsdDogPSBGYWxzZVxuICAgICAgLy8gJHRoaWNrbmVzcyAtIHRoaWNrbmVzcyBvZiBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4IERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzID0gMXB4XG4gICAgICAvLyAkZ2FwIC0gc3BhY2luZyBiZXR3ZWVuIHRoZSBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4IERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwID0gNnB4XG4gICAgICAvLyAkY29sb3IgLSBpY29uIGNvbG9yIERlZmF1bHQ6ICR0YWJiYXItbWVudS1pY29uLWNvbG9yXG4gICAgICAvLyAkaG92ZXItY29sb3IgLSBpY29uIGNvbG9yIHdoZW4gaG92ZXJlZCBEZWZhdWx0OiAkdGFiYmFyLW1lbnUtaWNvbi1ob3ZlclxuICAgICAgLy8gJG9mZmNhbnZhcyAtIFNldCB0byB0cnVlXG4gICAgICBAaW5jbHVkZSBoYW1idXJnZXIoJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aCwgJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0LCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcCwgJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3MsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwLCAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvciwgJHRhYmJhci1tZW51LWljb24taG92ZXIsIHRydWUpXG4gICAgfVxuXG4gICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogbGVmdCk7IH1cbiAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogcmlnaHQpOyB9XG4gICAgLnRvcC1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiB0b3ApOyB9XG4gICAgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiBib3R0b20pOyB9XG5cbiAgICB1bC5vZmYtY2FudmFzLWxpc3QgeyBAaW5jbHVkZSBvZmYtY2FudmFzLWxpc3Q7IH1cblxuXG4gICAgLy8gQU5JTUFUSU9OIENMQVNTRVNcbiAgICAvLyBUaGVzZSBjbGFzc2VzIGFyZSBhZGRlZCB3aXRoIEpTIGFuZCB0cmlnZ2VyIHRoZSBhY3R1YWwgYW5pbWF0aW9uLlxuICAgIC5tb3ZlLXJpZ2h0IHtcbiAgICAgID4gLmlubmVyLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgkb2ZmLWNhbnZhcy13aWR0aCwwLDApO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazt9XG4gICAgfVxuXG4gICAgLm1vdmUtbGVmdCB7XG4gICAgICA+IC5pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLSgkb2ZmLWNhbnZhcy13aWR0aCksMCwwKTtcblxuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAubW92ZS10b3Age1xuICAgICAgPiAuaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsLSgkb2ZmLWNhbnZhcy1oZWlnaHQpLDApO1xuXG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5tb3ZlLWJvdHRvbSB7XG4gICAgICA+IC5pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwoJG9mZi1jYW52YXMtaGVpZ2h0KSwwKTtcblxuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51LCAucmlnaHQtb2ZmLWNhbnZhcy1tZW51LFxuICAgICAgLnRvcC1vZmYtY2FudmFzLW1lbnUsIC5ib3R0b20tb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQge1xuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtdG9wIHtcbiAgICAgIC5ib3R0b20tb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLWJvdHRvbSB7XG4gICAgICAudG9wLW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuXG4gICAgLy8gT2xkZXIgYnJvd3NlcnNcbiAgICAubm8tY3NzdHJhbnNmb3JtcyB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgeyBsZWZ0OiAtKCRvZmYtY2FudmFzLXdpZHRoKTsgfVxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7IHJpZ2h0OiAtKCRvZmYtY2FudmFzLXdpZHRoKTsgfVxuICAgICAgLnRvcC1vZmYtY2FudmFzLW1lbnUgeyB0b3A6IC0oJG9mZi1jYW52YXMtaGVpZ2h0KTsgfVxuICAgICAgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUgeyBib3R0b206IC0oJG9mZi1jYW52YXMtaGVpZ2h0KTsgfVxuXG4gICAgICAubW92ZS1sZWZ0ID4gLmlubmVyLXdyYXAgeyByaWdodDogJG9mZi1jYW52YXMtd2lkdGg7IH1cbiAgICAgIC5tb3ZlLXJpZ2h0ID4gLmlubmVyLXdyYXAgeyBsZWZ0OiAkb2ZmLWNhbnZhcy13aWR0aDsgfVxuICAgICAgLm1vdmUtdG9wID4gLmlubmVyLXdyYXAgeyByaWdodDogJG9mZi1jYW52YXMtaGVpZ2h0OyB9XG4gICAgICAubW92ZS1ib3R0b20gPiAuaW5uZXItd3JhcCB7IGxlZnQ6ICRvZmYtY2FudmFzLWhlaWdodDsgfVxuXG5cbiAgICB9XG5cbiAgICAubGVmdC1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb246IGxlZnQpO1xuICAgICAgJi5tb3ZlLXJpZ2h0LCAmLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0LCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCUsMCwwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICAmLm1vdmUtbGVmdCwgJi5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0LCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCUsMCwwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbjogdG9wKTtcbiAgICAgICYubW92ZS1ib3R0b20sICYub2ZmY2FudmFzLW92ZXJsYXAtYm90dG9tLCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwwJSwwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYm90dG9tLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbjogYm90dG9tKTtcbiAgICAgICYubW92ZS10b3AsICYub2ZmY2FudmFzLW92ZXJsYXAtdG9wLCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwwJSwwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgIH1cbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgfVxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cblxuXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gRm91bmRhdGlvbiBWaXNpYmlsaXR5IENsYXNzZXNcbi8vXG4kaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIE1lZGlhIENsYXNzIE5hbWVzXG4vL1xuLy8gVmlzaWJpbGl0eSBCcmVha3BvaW50c1xuJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplczpcbiAgc21hbGwsXG4gIG1lZGl1bSxcbiAgbGFyZ2UsXG4gIHhsYXJnZSxcbiAgeHhsYXJnZTtcblxuJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzOlxuICB1bnF1b3RlKCRzbWFsbC11cCksXG4gIHVucXVvdGUoJG1lZGl1bS11cCksXG4gIHVucXVvdGUoJGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeHhsYXJnZS11cCk7XG5cbkBtaXhpbiB2aXNpYmlsaXR5LWxvb3Age1xuICBAZWFjaCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XG4gICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6ICgpO1xuXG4gICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogKCk7XG5cbiAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6ICgpO1xuXG4gICAgQGVhY2ggJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50IGluICR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMge1xuICAgICAgQGlmIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgPCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gU21hbGxlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpID4gaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XG4gICAgICAgIC8vIExhcmdlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAjeyRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludH0gZGlzcGxheXMgKi9cbiAgICBAbWVkaWEgI3tudGgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzLCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpKX0ge1xuICAgICAgI3skdmlzaWJpbGl0eS1pbmhlcml0LWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgI3skdmlzaWJpbGl0eS1ub25lLWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdmlzaWJsZS1saXN0fSB7XG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktaGlkZGVuLWxpc3R9IHtcbiAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2aXNpYmlsaXR5XCIpe1xuICBAaWYgJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xuXG4gIEBpbmNsdWRlIHZpc2liaWxpdHktbG9vcDtcblxuICAvKiBPcmllbnRhdGlvbiB0YXJnZXRpbmcgKi9cbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZSB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0aGVhZCB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdGJvZHkge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB9XG4gIHRyIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0ZCxcbiAgdGgge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgICB0YWJsZSB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRyIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRwb3J0cmFpdH0ge1xuICAgIC5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0LFxuICAgIC5zaG93LWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICAgIHRhYmxlIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGhlYWQge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdHIge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovXG4gIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAudG91Y2ggLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gIHRhYmxlLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGFibGUuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRoZWFkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ci5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ZC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGguc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAvKiBTY3JlZW4gcmVhZGVyLXNwZWNpZmljIGNsYXNzZXMgKi9cbiAgLnNob3ctZm9yLXNyIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvKiBQcmludCB2aXNpYmlsaXR5ICovXG4gIEBpZiAkaW5jbHVkZS1wcmludC1zdHlsZXMge1xuICAgIC5wcmludC1vbmx5LFxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAucHJpbnQtb25seSxcbiAgICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5oaWRlLW9uLXByaW50LFxuICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvZ2xvYmFsXCI7XG5AaW1wb3J0IFwiZm91bmRhdGlvbi9jb21wb25lbnRzL2dyaWRcIjtcblxuaHRtbCB7XG5cdG1pbi1oZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQ6ICNFQUY5Q0E7XG59XG5ib2R5IHtcblx0LypiYWNrZ3JvdW5kOiAjRUFGOUNBOyovXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI0MzRTg3QSAwJSwgI0VBRjlDQSAxMDAlKTtcblx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwjQzNFODdBKSwgY29sb3Itc3RvcCgxMDAlLCNFQUY5Q0EpKTtcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjQzNFODdBIDAlLCNFQUY5Q0EgMTAwJSk7XG5cdGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNDM0U4N0EgMCUsI0VBRjlDQSAxMDAlKTtcblx0YmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNDM0U4N0EgMCUsI0VBRjlDQSAxMDAlKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI0MzRTg3QSAwJSwjRUFGOUNBIDEwMCUpO1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI0MzRTg3QScsIGVuZENvbG9yc3RyPScjRUFGOUNBJyxHcmFkaWVudFR5cGU9MCApO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4ucm93IHtcblx0YmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cblxuLnJpZ2h0LWJvcmRlciB7XG5cdGJvcmRlci1yaWdodDogZG90dGVkIDFweCAjYzBjMGMwO1xufVxuXG4udG9wLWJhciB7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCA1cHggMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7XG5cdC1tb3otYm94LXNoYWRvdzogICAgMnB4IDJweCA1cHggMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7XG5cdGJveC1zaGFkb3c6ICAgICAgICAgMnB4IDJweCA1cHggMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7XG59XG4udG9wLWJhciAuZHJvcGRvd24ge1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDNweCAzcHggNXB4IC0zcHggcmdiYSg1MCwgNTAsIDUwLCAwLjc1KTtcblx0LW1vei1ib3gtc2hhZG93OiAgICAzcHggM3B4IDVweCAtM3B4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7XG5cdGJveC1zaGFkb3c6ICAgICAgICAgM3B4IDNweCA1cHggLTNweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpO1xufVxuXG4udG9wLWJhciB1bCA+IGxpLmhhcy1kcm9wZG93biBhOmFmdGVyIHtcblx0Ym9yZGVyLWNvbG9yOiAjMjIyIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuLnRvcC1iYXIgdWwgPiBsaS5oYXMtZHJvcGRvd246aG92ZXIgYTphZnRlciwgLnRvcC1iYXIgdWwgPiBsaS5oYXMtZHJvcGRvd24uYWN0aXZlIGE6YWZ0ZXIge1xuXHRib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5cbi50b3AtYmFyIHVsID4gbGkudG9nZ2xlLXRvcGJhciBhIHtcblx0Ym9yZGVyLWNvbG9yOiAjMjIyIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG5cdC50b3AtYmFyLXNlY3Rpb24gbGk6bm90KC5oYXMtZm9ybSkgYTpub3QoLmJ1dHRvbikge1xuXHRcdHBhZGRpbmc6IDAgMTJweDtcblx0fVxufVxuXG4uYnV0dG9uIHtcblx0QGluY2x1ZGUgYnV0dG9uKFxuXHRcdC41cmVtLCAvLyBwYWRkaW5nXG5cdFx0cmdiYSg1MCw1MCwyNTUsMC43KSwgLy8gYmFja2dyb3VuZC1jb2xvclxuXHRcdC41cmVtLCAvLyByYWRpdXNcblx0XHRmYWxzZSwgLy8gZnVsbC13aWR0aFxuXHRcdGZhbHNlLCAvLyBkaXNhYmxlZFxuXHRcdHRydWUgLy8gaXMtaW5wdXRcblx0KTtcbn1cblxuLmlubGluZS1saXN0ID4gbGkgaDMge1xuXHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RvdC13aGl0ZS5wbmcpIDAlIDUwJSBuby1yZXBlYXQ7XG5cdC8qcGFkZGluZy1sZWZ0OiAxOHB4OyovXG59XG5cbiNtYWluIHtcblx0cGFkZGluZy10b3A6IDIwcHg7XG4vKlxuXHQtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCAwcHggcmdiYSg1MCwgNTAsIDUwLCAwLjIpO1xuXHRib3gtc2hhZG93OiAgICAgICAgIDBweCAwcHggMTBweCAwcHggcmdiYSg1MCwgNTAsIDUwLCAwLjIpO1xuKi9cbi8qXG4td2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjc1KTtcbi1tb3otYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuNzUpO1xuYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuNzUpO1xuKi9cbn1cbmhyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzUyMDBmZjtcbn1cbmgzIHtcblx0Y29sb3I6ICMwMDYwMDA7XG59XG4uaW1nbGVmdCB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW46IDAgMTBweCA1cHggMDtcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MGVtKSB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwIGF1dG8gNXB4IGF1dG87XG5cdH1cbn1cbi5pbWdyaWdodCB7XG5cdGZsb2F0OiByaWdodDtcblx0bWFyZ2luOiAwIDAgNXB4IDEwcHg7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTBlbSkge1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMCBhdXRvIDVweCBhdXRvO1xuXHR9XG59XG4uaW1nLXNoYWRvdyB7XG5cdGJvcmRlcjogc29saWQgMXB4ICM4ODg7XG5cdC1tb3otYm94LXNoYWRvdzogNHB4IDRweCA2cHggMHB4ICM4ODg7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogNHB4IDRweCA2cHggMHB4ICM4ODg7XG5cdGJveC1zaGFkb3c6IDRweCA0cHggNnB4IDBweCAjODg4O1xufVxuLmNsZWFyZmxvYXRzIHtcblx0Y2xlYXI6IGJvdGg7XG59XG4uY2xlYXJyaWdodCB7XG5cdGNsZWFyOiByaWdodDtcbn1cbi5jbGVhcmxlZnQge1xuXHRjbGVhcjogbGVmdDtcbn1cbmEubWluZm8ge1xuXHRiYWNrZ3JvdW5kOiAjZWVlZWVlO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yaWdodDogc29saWQgMXB4ICNhYWFhYWE7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjYWFhYWFhO1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDZlbTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IC0xcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ub3JtYWwge1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuYS5zZW9saW5rOmxpbmssIGEuc2VvbGluazp2aXNpdGVkLCBhLnNlb2xpbms6aG92ZXIge1xuXHRjb2xvcjogIzMzMztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuZmlndXJlIHtcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwIGF1dG8gNXB4IGF1dG87XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxufVxuZmlndXJlLmNhcHRpb25vdmVydG9wLCBmaWd1cmUuY2FwdGlvbm92ZXJib3R0b20ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5maWdjYXB0aW9uIHtcblx0d2lkdGg6IDEwMCU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmZpZ3VyZS5jYXB0aW9ub3ZlcnRvcCBmaWdjYXB0aW9uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDBweDtcblx0bGVmdDogMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDAuOCk7XG5cdGNvbG9yOiAjZmZmZmZmO1xufVxuZmlndXJlLmNhcHRpb25vdmVyYm90dG9tIGZpZ2NhcHRpb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMHB4O1xuXHRsZWZ0OiAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC44KTtcblx0Y29sb3I6ICNmZmZmZmY7XG59XG4vKlxuKiAgcmVzcG9uc2l2ZSB0b29sdGlwXG4qL1xuI3Rvb2x0aXAge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRjb2xvcjogI2ZmZjtcblx0YmFja2dyb3VuZDogIzExMTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDA7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGZvbnQtc2l6ZTogMXJlbTtcbn1cbiN0b29sdGlwOmFmdGVyIC8qIHRyaWFuZ2xlIGRlY29yYXRpb24gKi8ge1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRib3JkZXItdG9wOiAxMHB4IHNvbGlkICMxMTE7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDUwJTtcblx0Ym90dG9tOiAtMTBweDtcblx0bWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuI3Rvb2x0aXAudG9wOmFmdGVyIHtcblx0Lypib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDsqL1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICMxMTE7XG5cdC8qdG9wOiAtMjBweDsqL1xuXHR0b3A6IC0xMHB4O1xuXHRib3R0b206IGF1dG87XG59XG4jdG9vbHRpcC5sZWZ0OmFmdGVyIHtcblx0bGVmdDogMTBweDtcblx0bWFyZ2luOiAwO1xufVxuI3Rvb2x0aXAucmlnaHQ6YWZ0ZXIge1xuXHRyaWdodDogMTBweDtcblx0bGVmdDogYXV0bztcblx0bWFyZ2luOiAwO1xufVxuI3Rvb2x0aXAgc3VwIHtcblx0Zm9udC1zaXplOiA3MCU7XG5cdHBhZGRpbmctcmlnaHQ6IDNweDtcbn1cbi50b2dnbGUtdmlldyB7XG5cdGxpc3Qtc3R5bGU6bm9uZTsgICAgXG5cdG1hcmdpbjowO1xuXHRwYWRkaW5nOjA7XG5cdD5saSB7XG5cdFx0bWFyZ2luOiAxMHB4IDAgMTBweCAwO1xuXHRcdGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2M7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0Y3Vyc29yOnBvaW50ZXI7XG5cdFx0aDYge1xuXHRcdFx0bWFyZ2luOiAwIDIwcHggMCAwO1xuXHRcdFx0Y29sb3I6ICMwMTcxYTM7XG5cdFx0fVxuXHRcdHNwYW4ge1xuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHRyaWdodDo1cHg7IHRvcDowO1xuXHRcdFx0Y29sb3I6IzAxNzFhMztcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblx0XHQuYW5zIHtcblx0XHRcdG1hcmdpbjo1cHggMDtcblx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLmF0dGVudGlvbiB7XG4vKlxuXHRiYWNrZ3JvdW5kOiAjMDA2MDAwO1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMwMGZjMDAgMCUsICMwMDYwMDAgMTAwJSk7XG5cdGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjMDBmYzAwKSwgY29sb3Itc3RvcCgxMDAlLCAjMDA2MDAwKSk7XG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzAwZmMwMCAwJSwgIzAwNjAwMCAxMDAlKTtcblx0YmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzAwZmMwMCAwJSwgIzAwNjAwMCAxMDAlKTtcblx0YmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICMwMGZjMDAgMCUsICMwMDYwMDAgMTAwJSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwMGZjMDAgMCUsICMwMDYwMDAgMTAwJSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDBmYzAwJywgZW5kQ29sb3JzdHI9JyMwMDYwMDAnLCBHcmFkaWVudFR5cGU9MCApO1xuKi9cblx0bWFyZ2luOiAwIHJlbS1jYWxjKC0xNykgcmVtLWNhbGMoMjApIHJlbS1jYWxjKC0xNyk7XG5cdHBhZGRpbmc6IDAgcmVtLWNhbGMoMTcpIHJlbS1jYWxjKDUpIHJlbS1jYWxjKDE3KTtcblx0QGluY2x1ZGUgcmFkaXVzKCk7XG5cdGgxIHtcblx0XHQvKmNvbG9yOiAjZmZmZmZmOyovXG5cdFx0Y29sb3I6ICMyMjIyMjI7XG5cdH1cblx0aDMge1xuXHRcdC8qY29sb3I6ICNmZmZmZmY7Ki9cblx0XHRjb2xvcjogIzAwNjAwMDtcblx0fVxufVxuLnBhbmVsIHtcblx0Ym9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cbi5wYW5lbCBoNSB7XG5cdGNvbG9yOiAjZmZmZmZmO1xuXHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblx0bWFyZ2luOiByZW0tY2FsYygtMjEpIHJlbS1jYWxjKC0yMSkgcmVtLWNhbGMoMTApIHJlbS1jYWxjKC0yMSkgIWltcG9ydGFudDtcblx0cGFkZGluZzogcmVtLWNhbGMoMjApO1xuXHRAaW5jbHVkZSBzaWRlLXJhZGl1cyh0b3ApO1xufVxuXG4ucGFuZWwubGlnaHRncmVlbiB7XG5cdGJhY2tncm91bmQ6ICNFQUY5Q0E7XG5cdGJvcmRlci13aWR0aDogM3B4O1xuXHRwIHtcblx0XHRjb2xvcjogIzAwNjAwMDtcblx0fVxufVxuXG4uY29udGFpbi10by1ncmlkIHtcblx0YmFja2dyb3VuZDogI0MzRTg3QTtcbn1cblxuLmZlYXR1cmUge1xuXHRiYWNrZ3JvdW5kOiAjZmZmZmNjO1xuXHRoMyBhIHtcblx0XHRjb2xvcjogIzAwNjAwMDtcblx0fVxuXHRoMyBhOmhvdmVyIHtcblx0XHRjb2xvcjogJGFuY2hvci1mb250LWNvbG9yLWhvdmVyO1xuXHR9XG59XG5cbiNmb290ZXIge1xufVxuI2Zvb3RlciAucGFuZWwge1xuXHQvKiBiYWNrZ3JvdW5kOiAjZWVlZWVlOyAqL1xuXHQvKiBib3JkZXItY29sb3I6ICNlZWVlZWU7ICovXG5cdGJhY2tncm91bmQ6ICNkZGRkZGQ7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuLypcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDEwcHggMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC4yKTtcblx0Ym94LXNoYWRvdzogICAgICAgICAwcHggMHB4IDEwcHggMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC4yKTtcbiovXG59XG4jZm9vdGVyIC5jb250YWN0IHtcbmZvbnQtc2l6ZTogMS41cmVtO1xufVxuI2Zvb3RlciAuY29udGFjdCwgI2Zvb3RlciAuaG9zdGluZyB7XG5wYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cbiNzbWFydHBob25lIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMjYzcHg7XG5cdGhlaWdodDogNTA4cHg7XG5cdG1hcmdpbjogMCBhdXRvIDEwcHggYXV0bztcbn1cbiNzbWFydHBob25lPmltZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwcHg7XG5cdGxlZnQ6IDBweDtcblx0ei1pbmRleDogMTtcbn1cdFxuI3NtYXJ0cGhvbmUgZGl2IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDg1cHg7XG5cdGxlZnQ6IDE3cHg7XG5cdHdpZHRoOiAyMzFweDtcblx0aGVpZ2h0OiAzMzlweDtcbn1cbiNzbWFydHBob25lIGRpdiBhIGltZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwcHg7XG5cdGxlZnQ6IDBweDtcblx0ZGlzcGxheTogaGlkZGVuO1xuXHR6LWluZGV4OiA3O1xufVxuI3NtYXJ0cGhvbmUgZGl2IGEuYWN0aXZlIGltZyB7XG5cdHotaW5kZXg6IDk7XG59XG4jc21hcnRwaG9uZSBkaXYgYS5uZXh0LWFjdGl2ZSBpbWcge1xuXHR6LWluZGV4OiA4O1xufVxuXG4iXX0= */
