@charset "UTF-8";
.button {
  text-transform: normal;
  font-weight: bold; }
  .button.ghost {
    border: 1px solid #ffffff;
    background: none; }
    .button.ghost.red {
      border-color: #d4154b;
      color: #d4154b; }
      .button.ghost.red:hover {
        color: #ffffff; }

/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 25em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/**
 *  Calculate Pixels to VW
 */
.datepicker--cell-day.-other-month-, .datepicker--cell-year.-other-decade- {
  color: #dedede; }

.datepicker--cell-day.-other-month-:hover, .datepicker--cell-year.-other-decade-:hover {
  color: #c5c5c5; }

.-disabled-.-focus-.datepicker--cell-day.-other-month-, .-disabled-.-focus-.datepicker--cell-year.-other-decade- {
  color: #dedede; }

.-selected-.datepicker--cell-day.-other-month-, .-selected-.datepicker--cell-year.-other-decade- {
  color: #fff;
  background: #a2ddf6; }

.-selected-.-focus-.datepicker--cell-day.-other-month-, .-selected-.-focus-.datepicker--cell-year.-other-decade- {
  background: #8ad5f4; }

.-in-range-.datepicker--cell-day.-other-month-, .-in-range-.datepicker--cell-year.-other-decade- {
  background-color: rgba(92, 196, 239, 0.1);
  color: #cccccc; }

.-in-range-.-focus-.datepicker--cell-day.-other-month-, .-in-range-.-focus-.datepicker--cell-year.-other-decade- {
  background-color: rgba(92, 196, 239, 0.2); }

.datepicker--cell-day.-other-month-:empty, .datepicker--cell-year.-other-decade-:empty {
  background: none;
  border: none; }

/* -------------------------------------------------
    Datepicker cells
   ------------------------------------------------- */
.datepicker--cells {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.datepicker--cell {
  border-radius: 4px;
  box-sizing: border-box;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 32px;
  z-index: 1; }

.datepicker--cell.-focus- {
  background: #f0f0f0; }

.datepicker--cell.-current- {
  color: #4EB5E6; }

.datepicker--cell.-current-.-focus- {
  color: #4a4a4a; }

.datepicker--cell.-current-.-in-range- {
  color: #4EB5E6; }

.datepicker--cell.-in-range- {
  background: rgba(92, 196, 239, 0.1);
  color: #4a4a4a;
  border-radius: 0; }

.datepicker--cell.-in-range-.-focus- {
  background-color: rgba(92, 196, 239, 0.2); }

.datepicker--cell.-disabled- {
  cursor: default;
  color: #aeaeae; }

.datepicker--cell.-disabled-.-focus- {
  color: #aeaeae; }

.datepicker--cell.-disabled-.-in-range- {
  color: #a1a1a1; }

.datepicker--cell.-disabled-.-current-.-focus- {
  color: #aeaeae; }

.datepicker--cell.-range-from- {
  border: 1px solid rgba(92, 196, 239, 0.5);
  background-color: rgba(92, 196, 239, 0.1);
  border-radius: 4px 0 0 4px; }

.datepicker--cell.-range-to- {
  border: 1px solid rgba(92, 196, 239, 0.5);
  background-color: rgba(92, 196, 239, 0.1);
  border-radius: 0 4px 4px 0; }

.datepicker--cell.-range-from-.-range-to- {
  border-radius: 4px; }

.datepicker--cell.-selected- {
  color: #fff;
  border: none;
  background: #5cc4ef; }

.datepicker--cell.-selected-.-current- {
  color: #fff;
  background: #5cc4ef; }

.datepicker--cell.-selected-.-focus- {
  background: #45bced; }

.datepicker--cell:empty {
  cursor: default; }

.datepicker--days-names {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 8px 0 3px; }

.datepicker--day-name {
  color: #FF9A19;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center;
  text-transform: uppercase;
  font-size: .8em; }

.datepicker--cell-day {
  width: 14.28571%; }

.datepicker--cells-months {
  height: 170px; }

.datepicker--cell-month {
  width: 33.33%;
  height: 25%; }

.datepicker--years {
  height: 170px; }

.datepicker--cells-years {
  height: 170px; }

.datepicker--cell-year {
  width: 25%;
  height: 33.33%; }

.datepicker--cell-day.-other-month-, .datepicker--cell-year.-other-decade- {
  color: #dedede; }

.datepicker--cell-day.-other-month-:hover, .datepicker--cell-year.-other-decade-:hover {
  color: #c5c5c5; }

.-disabled-.-focus-.datepicker--cell-day.-other-month-, .-disabled-.-focus-.datepicker--cell-year.-other-decade- {
  color: #dedede; }

.-selected-.datepicker--cell-day.-other-month-, .-selected-.datepicker--cell-year.-other-decade- {
  color: #fff;
  background: #a2ddf6; }

.-selected-.-focus-.datepicker--cell-day.-other-month-, .-selected-.-focus-.datepicker--cell-year.-other-decade- {
  background: #8ad5f4; }

.-in-range-.datepicker--cell-day.-other-month-, .-in-range-.datepicker--cell-year.-other-decade- {
  background-color: rgba(92, 196, 239, 0.1);
  color: #cccccc; }

.-in-range-.-focus-.datepicker--cell-day.-other-month-, .-in-range-.-focus-.datepicker--cell-year.-other-decade- {
  background-color: rgba(92, 196, 239, 0.2); }

.datepicker--cell-day.-other-month-:empty, .datepicker--cell-year.-other-decade-:empty {
  background: none;
  border: none; }

/* -------------------------------------------------
    Datepicker
   ------------------------------------------------- */
.datepickers-container {
  position: absolute;
  left: 0;
  top: 0; }

@media print {
  .datepickers-container {
    display: none; } }

.datepicker {
  background: #fff;
  border: 1px solid #dbdbdb;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  box-sizing: content-box;
  font-family: Tahoma, sans-serif;
  font-size: 14px;
  color: #4a4a4a;
  width: 250px;
  position: absolute;
  left: -100000px;
  opacity: 0;
  transition: opacity 0.3s ease, left 0s 0.3s, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0.3s;
  transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0.3s, -webkit-transform 0.3s ease;
  z-index: 100; }

.datepicker.-from-top- {
  -webkit-transform: translateY(-8px);
  -ms-transform: translateY(-8px);
      transform: translateY(-8px); }

.datepicker.-from-right- {
  -webkit-transform: translateX(8px);
  -ms-transform: translateX(8px);
      transform: translateX(8px); }

.datepicker.-from-bottom- {
  -webkit-transform: translateY(8px);
  -ms-transform: translateY(8px);
      transform: translateY(8px); }

.datepicker.-from-left- {
  -webkit-transform: translateX(-8px);
  -ms-transform: translateX(-8px);
      transform: translateX(-8px); }

.datepicker.active {
  opacity: 1;
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
      transform: translate(0);
  transition: opacity 0.3s ease, left 0s 0s, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0s;
  transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0s, -webkit-transform 0.3s ease; }

.datepicker-inline .datepicker {
  border-color: #d7d7d7;
  box-shadow: none;
  position: static;
  left: auto;
  right: auto;
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
      transform: none; }

.datepicker-inline .datepicker--pointer {
  display: none; }

.datepicker--content {
  box-sizing: content-box;
  padding: 4px; }

.-only-timepicker- .datepicker--content {
  display: none; }

.datepicker--pointer {
  position: absolute;
  background: #fff;
  border-top: 1px solid #dbdbdb;
  border-right: 1px solid #dbdbdb;
  width: 10px;
  height: 10px;
  z-index: -1; }

.-top-left- .datepicker--pointer, .-top-center- .datepicker--pointer, .-top-right- .datepicker--pointer {
  top: calc(100% - 4px);
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
      transform: rotate(135deg); }

.-right-top- .datepicker--pointer, .-right-center- .datepicker--pointer, .-right-bottom- .datepicker--pointer {
  right: calc(100% - 4px);
  -webkit-transform: rotate(225deg);
  -ms-transform: rotate(225deg);
      transform: rotate(225deg); }

.-bottom-left- .datepicker--pointer, .-bottom-center- .datepicker--pointer, .-bottom-right- .datepicker--pointer {
  bottom: calc(100% - 4px);
  -webkit-transform: rotate(315deg);
  -ms-transform: rotate(315deg);
      transform: rotate(315deg); }

.-left-top- .datepicker--pointer, .-left-center- .datepicker--pointer, .-left-bottom- .datepicker--pointer {
  left: calc(100% - 4px);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
      transform: rotate(45deg); }

.-top-left- .datepicker--pointer, .-bottom-left- .datepicker--pointer {
  left: 10px; }

.-top-right- .datepicker--pointer, .-bottom-right- .datepicker--pointer {
  right: 10px; }

.-top-center- .datepicker--pointer, .-bottom-center- .datepicker--pointer {
  left: calc(50% - 10px / 2); }

.-left-top- .datepicker--pointer, .-right-top- .datepicker--pointer {
  top: 10px; }

.-left-bottom- .datepicker--pointer, .-right-bottom- .datepicker--pointer {
  bottom: 10px; }

.-left-center- .datepicker--pointer, .-right-center- .datepicker--pointer {
  top: calc(50% - 10px / 2); }

.datepicker--body {
  display: none; }

.datepicker--body.active {
  display: block; }

.datepicker--cell-day.-other-month-, .datepicker--cell-year.-other-decade- {
  color: #dedede; }

.datepicker--cell-day.-other-month-:hover, .datepicker--cell-year.-other-decade-:hover {
  color: #c5c5c5; }

.-disabled-.-focus-.datepicker--cell-day.-other-month-, .-disabled-.-focus-.datepicker--cell-year.-other-decade- {
  color: #dedede; }

.-selected-.datepicker--cell-day.-other-month-, .-selected-.datepicker--cell-year.-other-decade- {
  color: #fff;
  background: #a2ddf6; }

.-selected-.-focus-.datepicker--cell-day.-other-month-, .-selected-.-focus-.datepicker--cell-year.-other-decade- {
  background: #8ad5f4; }

.-in-range-.datepicker--cell-day.-other-month-, .-in-range-.datepicker--cell-year.-other-decade- {
  background-color: rgba(92, 196, 239, 0.1);
  color: #cccccc; }

.-in-range-.-focus-.datepicker--cell-day.-other-month-, .-in-range-.-focus-.datepicker--cell-year.-other-decade- {
  background-color: rgba(92, 196, 239, 0.2); }

.datepicker--cell-day.-other-month-:empty, .datepicker--cell-year.-other-decade-:empty {
  background: none;
  border: none; }

/* -------------------------------------------------
    Navigation
   ------------------------------------------------- */
.datepicker--nav {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom: 1px solid #efefef;
  min-height: 32px;
  padding: 4px; }

.-only-timepicker- .datepicker--nav {
  display: none; }

.datepicker--nav-title,
.datepicker--nav-action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center; }

.datepicker--nav-action {
  width: 32px;
  border-radius: 4px;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.datepicker--nav-action:hover {
  background: #f0f0f0; }

.datepicker--nav-action.-disabled- {
  visibility: hidden; }

.datepicker--nav-action svg {
  width: 32px;
  height: 32px; }

.datepicker--nav-action path {
  fill: none;
  stroke: #9c9c9c;
  stroke-width: 2px; }

.datepicker--nav-title {
  border-radius: 4px;
  padding: 0 8px; }

.datepicker--nav-title i {
  font-style: normal;
  color: #9c9c9c;
  margin-left: 5px; }

.datepicker--nav-title:hover {
  background: #f0f0f0; }

.datepicker--nav-title.-disabled- {
  cursor: default;
  background: none; }

.datepicker--buttons {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 4px;
  border-top: 1px solid #efefef; }

.datepicker--button {
  color: #4EB5E6;
  cursor: pointer;
  border-radius: 4px;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 32px; }

.datepicker--button:hover {
  color: #4a4a4a;
  background: #f0f0f0; }

.datepicker--cell-day.-other-month-, .datepicker--cell-year.-other-decade- {
  color: #dedede; }

.datepicker--cell-day.-other-month-:hover, .datepicker--cell-year.-other-decade-:hover {
  color: #c5c5c5; }

.-disabled-.-focus-.datepicker--cell-day.-other-month-, .-disabled-.-focus-.datepicker--cell-year.-other-decade- {
  color: #dedede; }

.-selected-.datepicker--cell-day.-other-month-, .-selected-.datepicker--cell-year.-other-decade- {
  color: #fff;
  background: #a2ddf6; }

.-selected-.-focus-.datepicker--cell-day.-other-month-, .-selected-.-focus-.datepicker--cell-year.-other-decade- {
  background: #8ad5f4; }

.-in-range-.datepicker--cell-day.-other-month-, .-in-range-.datepicker--cell-year.-other-decade- {
  background-color: rgba(92, 196, 239, 0.1);
  color: #cccccc; }

.-in-range-.-focus-.datepicker--cell-day.-other-month-, .-in-range-.-focus-.datepicker--cell-year.-other-decade- {
  background-color: rgba(92, 196, 239, 0.2); }

.datepicker--cell-day.-other-month-:empty, .datepicker--cell-year.-other-decade-:empty {
  background: none;
  border: none; }

/* -------------------------------------------------
    Timepicker
   ------------------------------------------------- */
.datepicker--time {
  border-top: 1px solid #efefef;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 4px;
  position: relative; }

.datepicker--time.-am-pm- .datepicker--time-sliders {
  -webkit-flex: 0 1 138px;
  -ms-flex: 0 1 138px;
  flex: 0 1 138px;
  max-width: 138px; }

.-only-timepicker- .datepicker--time {
  border-top: none; }

.datepicker--time-sliders {
  -webkit-flex: 0 1 153px;
  -ms-flex: 0 1 153px;
  flex: 0 1 153px;
  margin-right: 10px;
  max-width: 153px; }

.datepicker--time-label {
  display: none;
  font-size: 12px; }

.datepicker--time-current {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 14px;
  text-align: center;
  margin: 0 0 0 10px; }

.datepicker--time-current-colon {
  margin: 0 2px 3px;
  line-height: 1; }

.datepicker--time-current-hours,
.datepicker--time-current-minutes {
  line-height: 1;
  font-size: 19px;
  font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
  position: relative;
  z-index: 1; }

.datepicker--time-current-hours:after,
.datepicker--time-current-minutes:after {
  content: '';
  background: #f0f0f0;
  border-radius: 4px;
  position: absolute;
  left: -2px;
  top: -3px;
  right: -2px;
  bottom: -2px;
  z-index: -1;
  opacity: 0; }

.datepicker--time-current-hours.-focus-:after,
.datepicker--time-current-minutes.-focus-:after {
  opacity: 1; }

.datepicker--time-current-ampm {
  text-transform: uppercase;
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  color: #9c9c9c;
  margin-left: 6px;
  font-size: 11px;
  margin-bottom: 1px; }

.datepicker--time-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 11px;
  height: 17px;
  background: linear-gradient(to right, #dedede, #dedede) left 50%/100% 1px no-repeat; }

.datepicker--time-row:first-child {
  margin-bottom: 4px; }

.datepicker--time-row input[type='range'] {
  background: none;
  cursor: pointer;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  height: 100%;
  padding: 0;
  margin: 0;
  -webkit-appearance: none; }

.datepicker--time-row input[type='range']::-webkit-slider-thumb {
  -webkit-appearance: none; }

.datepicker--time-row input[type='range']::-ms-tooltip {
  display: none; }

.datepicker--time-row input[type='range']:hover::-webkit-slider-thumb {
  border-color: #b8b8b8; }

.datepicker--time-row input[type='range']:hover::-moz-range-thumb {
  border-color: #b8b8b8; }

.datepicker--time-row input[type='range']:hover::-ms-thumb {
  border-color: #b8b8b8; }

.datepicker--time-row input[type='range']:focus {
  outline: none; }

.datepicker--time-row input[type='range']:focus::-webkit-slider-thumb {
  background: #5cc4ef;
  border-color: #5cc4ef; }

.datepicker--time-row input[type='range']:focus::-moz-range-thumb {
  background: #5cc4ef;
  border-color: #5cc4ef; }

.datepicker--time-row input[type='range']:focus::-ms-thumb {
  background: #5cc4ef;
  border-color: #5cc4ef; }

.datepicker--time-row input[type='range']::-webkit-slider-thumb {
  box-sizing: border-box;
  height: 12px;
  width: 12px;
  border-radius: 3px;
  border: 1px solid #dedede;
  background: #fff;
  cursor: pointer;
  transition: background .2s; }

.datepicker--time-row input[type='range']::-moz-range-thumb {
  box-sizing: border-box;
  height: 12px;
  width: 12px;
  border-radius: 3px;
  border: 1px solid #dedede;
  background: #fff;
  cursor: pointer;
  transition: background .2s; }

.datepicker--time-row input[type='range']::-ms-thumb {
  box-sizing: border-box;
  height: 12px;
  width: 12px;
  border-radius: 3px;
  border: 1px solid #dedede;
  background: #fff;
  cursor: pointer;
  transition: background .2s; }

.datepicker--time-row input[type='range']::-webkit-slider-thumb {
  margin-top: -6px; }

.datepicker--time-row input[type='range']::-webkit-slider-runnable-track {
  border: none;
  height: 1px;
  cursor: pointer;
  color: transparent;
  background: transparent; }

.datepicker--time-row input[type='range']::-moz-range-track {
  border: none;
  height: 1px;
  cursor: pointer;
  color: transparent;
  background: transparent; }

.datepicker--time-row input[type='range']::-ms-track {
  border: none;
  height: 1px;
  cursor: pointer;
  color: transparent;
  background: transparent; }

.datepicker--time-row input[type='range']::-ms-fill-lower {
  background: transparent; }

.datepicker--time-row input[type='range']::-ms-fill-upper {
  background: transparent; }

.datepicker--time-row span {
  padding: 0 12px; }

.datepicker--time-icon {
  color: #9c9c9c;
  border: 1px solid;
  border-radius: 50%;
  font-size: 16px;
  position: relative;
  margin: 0 5px -1px 0;
  width: 1em;
  height: 1em; }

.datepicker--time-icon:after, .datepicker--time-icon:before {
  content: '';
  background: currentColor;
  position: absolute; }

.datepicker--time-icon:after {
  height: .4em;
  width: 1px;
  left: calc(50% - 1px);
  top: calc(50% + 1px);
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
      transform: translateY(-100%); }

.datepicker--time-icon:before {
  width: .4em;
  height: 1px;
  top: calc(50% + 1px);
  left: calc(50% - 1px); }

.datepicker--cell-day.-other-month-, .datepicker--cell-year.-other-decade- {
  color: #dedede; }

.datepicker--cell-day.-other-month-:hover, .datepicker--cell-year.-other-decade-:hover {
  color: #c5c5c5; }

.-disabled-.-focus-.datepicker--cell-day.-other-month-, .-disabled-.-focus-.datepicker--cell-year.-other-decade- {
  color: #dedede; }

.-selected-.datepicker--cell-day.-other-month-, .-selected-.datepicker--cell-year.-other-decade- {
  color: #fff;
  background: #a2ddf6; }

.-selected-.-focus-.datepicker--cell-day.-other-month-, .-selected-.-focus-.datepicker--cell-year.-other-decade- {
  background: #8ad5f4; }

.-in-range-.datepicker--cell-day.-other-month-, .-in-range-.datepicker--cell-year.-other-decade- {
  background-color: rgba(92, 196, 239, 0.1);
  color: #cccccc; }

.-in-range-.-focus-.datepicker--cell-day.-other-month-, .-in-range-.-focus-.datepicker--cell-year.-other-decade- {
  background-color: rgba(92, 196, 239, 0.2); }

.datepicker--cell-day.-other-month-:empty, .datepicker--cell-year.-other-decade-:empty {
  background: none;
  border: none; }

/**
 * Redactor manager styles
 * To include this go to system settings and change path @ redactor.css [path/to/css]
 */
.redactor-editor p.redactor-formatting-p-content-block-image .content-image {
  position: relative;
  margin: 60px 0; }
  .redactor-editor p.redactor-formatting-p-content-block-image .content-image img.outofthebox {
    margin-left: -20%;
    max-width: 120%;
    width: 120%; }
  .redactor-editor p.redactor-formatting-p-content-block-image .content-image:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 77px 45px 0;
    border-color: transparent #e9e9e9 transparent transparent; }
    @media screen and (max-width: 47.9375em) {
      .redactor-editor p.redactor-formatting-p-content-block-image .content-image:before {
        border-width: 0 38px 22px 0; } }
  .redactor-editor p.redactor-formatting-p-content-block-image .content-image .content-title {
    position: absolute;
    width: 32%;
    right: -32%;
    bottom: 0;
    padding: 20px;
    border-bottom: 1px solid #d1d1d1;
    color: #717171; }
  @media screen and (max-width: 47.9375em) {
    .redactor-editor p.redactor-formatting-p-content-block-image .content-image {
      margin: 40px 0; }
      .redactor-editor p.redactor-formatting-p-content-block-image .content-image img.outofthebox {
        margin-left: 0%;
        max-width: 100%;
        width: 100%; }
      .redactor-editor p.redactor-formatting-p-content-block-image .content-image .content-title {
        left: 0;
        width: 100%;
        right: auto;
        z-index: 2;
        position: relative; } }

.v-on-zoom {
  visibility: hidden;
  opacity: 0; }
  .infographic-zoomed .v-on-zoom {
    visibility: visible;
    opacity: 1; }

body,
html {
  min-height: 100% !important;
  height: 100% !important;
  width: 100% !important; }

.infographic-container {
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  transition: all 0.9s ease 0.5s;
  position: relative;
  height: 100%;
  background-color: rgba(10, 10, 10, 0.88);
  padding: 0; }
  .infographic-container h1,
  .infographic-container h2,
  .infographic-container h3,
  .infographic-container h4 {
    color: #ffffff; }
  .infographic-container .infographic-menu {
    box-shadow: -10px 0 20px 0 rgba(10, 10, 10, 0.2);
    transition: all 0.9s ease;
    background-color: #5a0e54;
    color: #ffffff;
    position: fixed;
    padding: 20px 0;
    -webkit-overflow-scrolling: touch;
    overflow: auto;
    height: 100%;
    width: 100%;
    z-index: 9;
    right: 0;
    top: 0; }
    @media screen and (min-width: 64em) {
      .infographic-container .infographic-menu {
        width: 400px; } }
    .infographic-container .infographic-menu #intro {
      text-align: center;
      margin: 10px 0 40px;
      padding: 0 20px; }
    .infographic-container .infographic-menu ul {
      padding: 0;
      margin: 0; }
    .infographic-container .infographic-menu li.sidebar-tab {
      transition: all 0.45s ease;
      margin-bottom: 1.5rem;
      overflow: hidden;
      width: 100%;
      background-color: #5a0e54;
      color: #ffffff;
      cursor: pointer;
      opacity: 1; }
      .infographic-container .infographic-menu li.sidebar-tab[data-trigger="A"] .tab-image, .infographic-container .infographic-menu li.sidebar-tab[data-trigger="B"] .tab-image {
        display: none !important; }
      @media screen and (min-width: 48em) {
        .infographic-container .infographic-menu li.sidebar-tab.hover .nr, .infographic-container .infographic-menu li.sidebar-tab:hover .nr {
          background-color: #d4154b !important;
          color: #ffffff !important; } }
      .infographic-container .infographic-menu li.sidebar-tab .inner {
        position: relative;
        height: inherit;
        width: inherit;
        padding: 0 20px; }
        @media screen and (min-width: 48em) {
          .infographic-container .infographic-menu li.sidebar-tab .inner {
            padding: 0 30px; } }
      .infographic-container .infographic-menu li.sidebar-tab .tab-title {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        height: inherit;
        margin-bottom: 0;
        color: #ffffff; }
        .infographic-container .infographic-menu li.sidebar-tab .tab-title .nr {
          background-color: #ffffff;
          color: #5a0e54; }
        .infographic-container .infographic-menu li.sidebar-tab .tab-title .title {
          text-align: center;
          padding: 0 20px; }
        .infographic-container .infographic-menu li.sidebar-tab .tab-title .arrow {
          width: 40px;
          min-width: 40px;
          height: 40px;
          min-height: 40px;
          border-radius: 40px;
          line-height: 40px;
          background-image: url("../img/arrow-left-purple.svg");
          background-repeat: no-repeat;
          background-position: center;
          background-color: #ffffff;
          -webkit-transform: rotate(90deg);
              -ms-transform: rotate(90deg);
                  transform: rotate(90deg);
          background-size: 50%; }
      .infographic-container .infographic-menu li.sidebar-tab .tab-content {
        transition: 0.6s ease all 0.15s;
        padding: 20px 0;
        -webkit-transform: translateY(20px);
            -ms-transform: translateY(20px);
                transform: translateY(20px);
        position: absolute;
        visibility: hidden;
        margin-top: 15px;
        overflow-y: auto;
        max-height: 550px;
        height: auto;
        opacity: 0; }
        .infographic-container .infographic-menu li.sidebar-tab .tab-content .tab-image {
          display: block;
          margin: 0 0 1rem;
          height: 200px;
          width: 100%; }
          .infographic-container .infographic-menu li.sidebar-tab .tab-content .tab-image img {
            height: 100%; }
      .infographic-container .infographic-menu li.sidebar-tab.active {
        background-color: #4d0c48;
        height: auto;
        opacity: 1; }
        .infographic-container .infographic-menu li.sidebar-tab.active .inner {
          padding-top: 15px;
          padding-bottom: 15px; }
        .infographic-container .infographic-menu li.sidebar-tab.active .tab-title .nr {
          background-color: #d4154b;
          color: #ffffff; }
        .infographic-container .infographic-menu li.sidebar-tab.active .arrow {
          background-image: url("../img/arrow-left-white.svg");
          -webkit-transform: rotate(270deg);
              -ms-transform: rotate(270deg);
                  transform: rotate(270deg);
          background-color: #d4154b; }
        .infographic-container .infographic-menu li.sidebar-tab.active .tab-content {
          -webkit-transform: translateY(0);
              -ms-transform: translateY(0);
                  transform: translateY(0);
          visibility: visible;
          position: relative;
          opacity: 1; }
  .infographic-container .content {
    position: relative;
    overflow: hidden !important;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    height: 100%;
    width: 100%;
    padding: 0;
    height: 0;
    /* 16:9 */
    padding-bottom: 56.25%;
    position: fixed; }
    .infographic-container .content .inner {
      transition: all 1.2s linear 0.3s;
      position: absolute;
      padding-right: 0;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      @media screen and (min-width: 64em) {
        .infographic-container .content .inner {
          padding-right: 400px; } }
      .infographic-container .content .inner .zoom-container {
        transition: all 0.7s linear, margin 1ms linear, max-width 1ms linear, max-height 1ms linear, -webkit-transform-origin 1ms linear;
        transition: all 0.7s linear, transform-origin 1ms linear, margin 1ms linear, max-width 1ms linear, max-height 1ms linear;
        transition: all 0.7s linear, transform-origin 1ms linear, margin 1ms linear, max-width 1ms linear, max-height 1ms linear, -webkit-transform-origin 1ms linear, -ms-transform-origin 1ms linear;
        position: relative;
        overflow: hidden;
        height: inherit;
        width: inherit;
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1); }
        .infographic-zoomed .infographic-container .content .inner .zoom-container {
          -webkit-transform: scale(3.5);
              -ms-transform: scale(3.5);
                  transform: scale(3.5); }
        .infographic-container .content .inner .zoom-container.reset {
          -webkit-transform-origin: 50% 50%;
              -ms-transform-origin: 50% 50%;
                  transform-origin: 50% 50%;
          -webkit-transform: scale(1);
              -ms-transform: scale(1);
                  transform: scale(1); }
        .infographic-container .content .inner .zoom-container .perspective-element {
          image-rendering: -webkit-optimize-contrast;
          margin-top: 65px;
          background-size: contain !important;
          position: absolute;
          max-height: 80%;
          left: 0;
          top: 0;
          height: 100%;
          width: 100%; }
        .infographic-container .content .inner .zoom-container #map-container {
          -webkit-overflow-scrolling: touch;
          background: url("../img/infographic/infographic-visual-5k-v5-compressed.png") no-repeat center transparent; }
        .infographic-container .content .inner .zoom-container #number-container svg {
          width: inherit;
          height: inherit; }
          .infographic-container .content .inner .zoom-container #number-container svg g[data-name] {
            transition: all 0.45s ease;
            visibility: visible;
            cursor: pointer;
            fill: #5a0e54;
            opacity: 1; }
            .infographic-zoomed .infographic-container .content .inner .zoom-container #number-container svg g[data-name] {
              visibility: hidden;
              opacity: 0; }
            .infographic-container .content .inner .zoom-container #number-container svg g[data-name] circle,
            .infographic-container .content .inner .zoom-container #number-container svg g[data-name] path {
              transition: inherit; }
            .infographic-container .content .inner .zoom-container #number-container svg g[data-name].hover circle, .infographic-container .content .inner .zoom-container #number-container svg g[data-name]:hover circle {
              fill: #d4154b; }
            .infographic-container .content .inner .zoom-container #number-container svg g[data-name].active circle {
              fill: #d4154b; }
            .infographic-zoomed .infographic-container .content .inner .zoom-container #number-container svg g[data-name].active {
              visibility: visible;
              opacity: 1; }
            .infographic-container .content .inner .zoom-container #number-container svg g[data-name] path {
              fill: #ffffff;
              color: #ffffff; }
    .infographic-container .content .number {
      transition: all 0.6s ease 0.6s;
      visibility: visible;
      opacity: 1; }
      .infographic-zoomed .infographic-container .content .number {
        visibility: hidden;
        opacity: 0; }
      .infographic-container .content .number.active {
        visibility: visible;
        opacity: 1;
        z-index: 9999; }
        .infographic-container .content .number.active .nr {
          background: #b21ca6;
          visibility: visible;
          opacity: 1; }
          .infographic-zoomed .infographic-container .content .number.active .nr {
            visibility: hidden;
            opacity: 0; }
        .infographic-container .content .number.active .text-info {
          -webkit-transform: translate(0, -50%);
              -ms-transform: translate(0, -50%);
                  transform: translate(0, -50%);
          visibility: visible;
          opacity: 1; }

.number-info {
  position: absolute;
  background: url("../img/infographic/info-bg.svg") no-repeat center bottom transparent/cover;
  transition: all 0.6s ease-in-out 0.6s;
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  height: 300px;
  width: 300px;
  visibility: hidden;
  opacity: 0; }
  .infographic-zoomed .number-info {
    -webkit-transform: translate(-50px, -90px) scale(0.67);
        -ms-transform: translate(-50px, -90px) scale(0.67);
            transform: translate(-50px, -90px) scale(0.67);
    visibility: visible;
    opacity: 1; }
  .number-info .kader {
    padding: 23px 25px;
    width: 100%;
    height: 100%; }

.helper {
  transition: top 0.6s ease;
  text-align: center;
  position: fixed;
  padding: 10px 15px;
  color: #ffffff;
  font-weight: bold;
  display: -webkit-flex;
  display: -ms-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  z-index: 2;
  left: 0;
  top: 0; }
  @media screen and (max-width: 81.1875em) {
    .helper {
      text-transform: capitalize; } }
  @media screen and (min-width: 64em) {
    .helper {
      width: calc(100% - 400px); } }
  .infographic-zoomed .helper.top {
    top: 0; }
  .helper span {
    transition: 0.6s ease all;
    display: inline-block;
    vertical-align: middle;
    background-color: #d4154b;
    border-radius: 45px;
    height: auto; }
    .helper span.hover:hover {
      background-color: #a6103b; }
  .infographic-zoomed .helper {
    background-color: rgba(10, 10, 10, 0.55);
    transition-delay: 0.45s; }

.button-helper {
  background-color: #d4154b;
  text-decoration: none;
  padding: 0 15px;
  color: #ffffff !important;
  border-radius: 45px;
  line-height: 45px;
  height: auto;
  overflow: hidden;
  height: 45px;
  background-position: 20px center;
  background-repeat: no-repeat; }
  .infographic-zoomed .button-helper {
    /*transition-delay: 1s;
    transform: translate(-50%, 0) scale(1);*/ }
  .button-helper.has-icon {
    padding-left: 55px; }
  .button-helper.overzicht {
    background-image: url("../img/icon-search.svg");
    background-size: 20px; }
  .button-helper.close {
    background-image: url("../img/icon-close.svg");
    background-size: 15px; }

.arrows {
  transition: 0.6s ease all;
  display: inline-block;
  text-align: center;
  color: inherit; }
  .arrows .text {
    background-color: #d4154b;
    line-height: 45px;
    padding: 0 20px;
    margin: 0 10px;
    color: #ffffff; }
  .arrows .arrow {
    background: no-repeat center #d4154b;
    background-size: 50%;
    width: 45px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    color: #ffffff; }
    .arrows .arrow.prev {
      background-image: url("../img/arrow-left-white.svg"); }
    .arrows .arrow.next {
      background-image: url("../img/arrow-right-white.svg"); }

.hover {
  transition: 0.6s ease all;
  cursor: pointer; }
  .hover:hover {
    background-color: #d4154b; }

.nr {
  transition: 0.6s ease all;
  font-weight: bold;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  line-height: 40px;
  color: #ffffff;
  text-align: center;
  border-radius: 100%;
  cursor: pointer;
  font-size: 1.5rem;
  display: inline-block;
  background-color: #5a0e54; }
  .nr:hover {
    background-color: #701169; }

.tooltip {
  border-radius: 0;
  background-color: #0a0a0a;
  position: absolute;
  color: #ffffff;
  max-width: 250px;
  height: auto;
  width: 100%;
  left: 0;
  top: 0; }
  .tooltip:after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: ' ';
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(10, 10, 10, 0);
    border-top-color: #0a0a0a;
    border-width: 10px;
    margin-left: -10px; }
  .tooltip .inner {
    padding: 20px; }

#turn-device {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100vh;
  width: 100vw;
  z-index: 11;
  padding: 0 30px; }
  #turn-device .turn-bg {
    position: inherit;
    width: inherit;
    height: inherit;
    z-index: 10;
    left: inherit;
    top: inherit;
    background-color: rgba(10, 10, 10, 0.8); }
  #turn-device .inner {
    border-radius: 0;
    background-color: #ffffff;
    text-align: center;
    position: relative;
    padding: 60px 30px;
    width: 100%;
    max-width: 400px;
    z-index: 12; }
    #turn-device .inner img {
      margin: 0 auto 20px;
      width: 100px; }
    #turn-device .inner h4 {
      color: #0a0a0a; }

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
  #turn-device {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; } }

[data-tooltipcustom] {
  position: relative;
  display: block; }
  [data-tooltipcustom]:before, [data-tooltipcustom]:after {
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, -12px);
        -ms-transform: translate(-50%, -12px);
            transform: translate(-50%, -12px);
    z-index: 1000;
    pointer-events: none;
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;
    opacity: 0;
    transition: opacity .35s ease .25s; }
  [data-tooltipcustom]:before {
    content: attr(data-tooltipcustom);
    background: #5a0e54;
    color: #eee;
    padding: 8px 12px;
    white-space: nowrap;
    bottom: 100%;
    border-radius: 3px;
    box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.65); }
  [data-tooltipcustom]:after {
    content: '';
    background: transparent;
    border: 8px solid transparent;
    border-top-color: #5a0e54; }
  [data-tooltipcustom]:hover:before, [data-tooltipcustom]:hover:after, [data-tooltipcustom]:focus:before, [data-tooltipcustom]:focus:after, [data-tooltipcustom]:active:before, [data-tooltipcustom]:active:after {
    opacity: 1; }
    @media screen and (max-width: 47.9375em) {
      [data-tooltipcustom]:hover:before, [data-tooltipcustom]:hover:after, [data-tooltipcustom]:focus:before, [data-tooltipcustom]:focus:after, [data-tooltipcustom]:active:before, [data-tooltipcustom]:active:after {
        opacity: 0; } }
  [data-tooltipcustom].tooltip-multiline:before {
    width: 100vw;
    max-width: 340px;
    white-space: normal; }
  [data-tooltipcustom][class*="tooltip-bottom"]:before, [data-tooltipcustom][class*="tooltip-bottom"]:after {
    -webkit-transform: translate(-50%, 12px);
        -ms-transform: translate(-50%, 12px);
            transform: translate(-50%, 12px); }
  [data-tooltipcustom][class*="tooltip-bottom"]:before {
    bottom: auto;
    top: 100%; }
  [data-tooltipcustom][class*="tooltip-bottom"]:after {
    bottom: 0;
    border: 8px solid transparent;
    border-bottom-color: #5a0e54; }
  [data-tooltipcustom].tooltip-bottom-left:before {
    -webkit-transform: translate(-24px, 12px);
        -ms-transform: translate(-24px, 12px);
            transform: translate(-24px, 12px); }
  [data-tooltipcustom].tooltip-bottom-right:before {
    left: auto;
    right: 50%;
    -webkit-transform: translate(24px, 12px);
        -ms-transform: translate(24px, 12px);
            transform: translate(24px, 12px); }
  [data-tooltipcustom].tooltip-top-left:before {
    -webkit-transform: translate(-24px, -12px);
        -ms-transform: translate(-24px, -12px);
            transform: translate(-24px, -12px); }
  [data-tooltipcustom].tooltip-top-right:before {
    left: auto;
    right: 50%;
    -webkit-transform: translate(24px, -12px);
        -ms-transform: translate(24px, -12px);
            transform: translate(24px, -12px); }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections
       ========================================================================== */
/**
     * Remove the margin in all browsers (opinionated).
     */
body {
  margin: 0; }

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
     * Correct the font size and margin on `h1` elements within `section` and
     * `article` contexts in Chrome, Firefox, and Safari.
     */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in Firefox 39-.
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */
b,
strong {
  font-weight: bolder; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

/**
     * Add the correct font size in all browsers.
     */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
     * Remove the border on images inside links in IE 10-.
     */
img {
  border-style: none; }

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
  overflow: hidden; }

/* Forms
       ========================================================================== */
/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
button,
select {
  /* 1 */
  text-transform: none; }

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Remove the default vertical scrollbar in IE.
     */
textarea {
  overflow: auto; }

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
details {
  display: block; }

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item; }

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

/* Hidden
       ========================================================================== */
/**
     * Add the correct display in IE 10-.
     */
[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=25em&large=48em&xlarge=64em&xxlarge=81.25em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Signika", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

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

button {
  padding: 0;
  -webkit-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 25em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 48em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media screen and (min-width: 81.25em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

.column, .columns {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  min-width: 0; }
  @media print, screen and (min-width: 25em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.column.row.row, .row.row.columns {
  float: none;
  display: block; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  -webkit-flex: 0 0 6.25%;
      -ms-flex: 0 0 6.25%;
          flex: 0 0 6.25%;
  max-width: 6.25%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  -webkit-flex: 0 0 12.5%;
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
  max-width: 12.5%; }

.small-offset-1 {
  margin-left: 6.25%; }

.small-3 {
  -webkit-flex: 0 0 18.75%;
      -ms-flex: 0 0 18.75%;
          flex: 0 0 18.75%;
  max-width: 18.75%; }

.small-offset-2 {
  margin-left: 12.5%; }

.small-4 {
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

.small-offset-3 {
  margin-left: 18.75%; }

.small-5 {
  -webkit-flex: 0 0 31.25%;
      -ms-flex: 0 0 31.25%;
          flex: 0 0 31.25%;
  max-width: 31.25%; }

.small-offset-4 {
  margin-left: 25%; }

.small-6 {
  -webkit-flex: 0 0 37.5%;
      -ms-flex: 0 0 37.5%;
          flex: 0 0 37.5%;
  max-width: 37.5%; }

.small-offset-5 {
  margin-left: 31.25%; }

.small-7 {
  -webkit-flex: 0 0 43.75%;
      -ms-flex: 0 0 43.75%;
          flex: 0 0 43.75%;
  max-width: 43.75%; }

.small-offset-6 {
  margin-left: 37.5%; }

.small-8 {
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

.small-offset-7 {
  margin-left: 43.75%; }

.small-9 {
  -webkit-flex: 0 0 56.25%;
      -ms-flex: 0 0 56.25%;
          flex: 0 0 56.25%;
  max-width: 56.25%; }

.small-offset-8 {
  margin-left: 50%; }

.small-10 {
  -webkit-flex: 0 0 62.5%;
      -ms-flex: 0 0 62.5%;
          flex: 0 0 62.5%;
  max-width: 62.5%; }

.small-offset-9 {
  margin-left: 56.25%; }

.small-11 {
  -webkit-flex: 0 0 68.75%;
      -ms-flex: 0 0 68.75%;
          flex: 0 0 68.75%;
  max-width: 68.75%; }

.small-offset-10 {
  margin-left: 62.5%; }

.small-12 {
  -webkit-flex: 0 0 75%;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

.small-offset-11 {
  margin-left: 68.75%; }

.small-13 {
  -webkit-flex: 0 0 81.25%;
      -ms-flex: 0 0 81.25%;
          flex: 0 0 81.25%;
  max-width: 81.25%; }

.small-offset-12 {
  margin-left: 75%; }

.small-14 {
  -webkit-flex: 0 0 87.5%;
      -ms-flex: 0 0 87.5%;
          flex: 0 0 87.5%;
  max-width: 87.5%; }

.small-offset-13 {
  margin-left: 81.25%; }

.small-15 {
  -webkit-flex: 0 0 93.75%;
      -ms-flex: 0 0 93.75%;
          flex: 0 0 93.75%;
  max-width: 93.75%; }

.small-offset-14 {
  margin-left: 87.5%; }

.small-16 {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

.small-offset-15 {
  margin-left: 93.75%; }

.small-up-1 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -webkit-flex: 0 0 14.28571%;
        -ms-flex: 0 0 14.28571%;
            flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

@media print, screen and (min-width: 25em) {
  .medium-1 {
    -webkit-flex: 0 0 6.25%;
        -ms-flex: 0 0 6.25%;
            flex: 0 0 6.25%;
    max-width: 6.25%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }
  .medium-offset-1 {
    margin-left: 6.25%; }
  .medium-3 {
    -webkit-flex: 0 0 18.75%;
        -ms-flex: 0 0 18.75%;
            flex: 0 0 18.75%;
    max-width: 18.75%; }
  .medium-offset-2 {
    margin-left: 12.5%; }
  .medium-4 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-3 {
    margin-left: 18.75%; }
  .medium-5 {
    -webkit-flex: 0 0 31.25%;
        -ms-flex: 0 0 31.25%;
            flex: 0 0 31.25%;
    max-width: 31.25%; }
  .medium-offset-4 {
    margin-left: 25%; }
  .medium-6 {
    -webkit-flex: 0 0 37.5%;
        -ms-flex: 0 0 37.5%;
            flex: 0 0 37.5%;
    max-width: 37.5%; }
  .medium-offset-5 {
    margin-left: 31.25%; }
  .medium-7 {
    -webkit-flex: 0 0 43.75%;
        -ms-flex: 0 0 43.75%;
            flex: 0 0 43.75%;
    max-width: 43.75%; }
  .medium-offset-6 {
    margin-left: 37.5%; }
  .medium-8 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-7 {
    margin-left: 43.75%; }
  .medium-9 {
    -webkit-flex: 0 0 56.25%;
        -ms-flex: 0 0 56.25%;
            flex: 0 0 56.25%;
    max-width: 56.25%; }
  .medium-offset-8 {
    margin-left: 50%; }
  .medium-10 {
    -webkit-flex: 0 0 62.5%;
        -ms-flex: 0 0 62.5%;
            flex: 0 0 62.5%;
    max-width: 62.5%; }
  .medium-offset-9 {
    margin-left: 56.25%; }
  .medium-11 {
    -webkit-flex: 0 0 68.75%;
        -ms-flex: 0 0 68.75%;
            flex: 0 0 68.75%;
    max-width: 68.75%; }
  .medium-offset-10 {
    margin-left: 62.5%; }
  .medium-12 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-11 {
    margin-left: 68.75%; }
  .medium-13 {
    -webkit-flex: 0 0 81.25%;
        -ms-flex: 0 0 81.25%;
            flex: 0 0 81.25%;
    max-width: 81.25%; }
  .medium-offset-12 {
    margin-left: 75%; }
  .medium-14 {
    -webkit-flex: 0 0 87.5%;
        -ms-flex: 0 0 87.5%;
            flex: 0 0 87.5%;
    max-width: 87.5%; }
  .medium-offset-13 {
    margin-left: 81.25%; }
  .medium-15 {
    -webkit-flex: 0 0 93.75%;
        -ms-flex: 0 0 93.75%;
            flex: 0 0 93.75%;
    max-width: 93.75%; }
  .medium-offset-14 {
    margin-left: 87.5%; }
  .medium-16 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-15 {
    margin-left: 93.75%; }
  .medium-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 25em) and (min-width: 25em) {
  .medium-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 25em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 25em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media print, screen and (min-width: 48em) {
  .large-1 {
    -webkit-flex: 0 0 6.25%;
        -ms-flex: 0 0 6.25%;
            flex: 0 0 6.25%;
    max-width: 6.25%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }
  .large-offset-1 {
    margin-left: 6.25%; }
  .large-3 {
    -webkit-flex: 0 0 18.75%;
        -ms-flex: 0 0 18.75%;
            flex: 0 0 18.75%;
    max-width: 18.75%; }
  .large-offset-2 {
    margin-left: 12.5%; }
  .large-4 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-3 {
    margin-left: 18.75%; }
  .large-5 {
    -webkit-flex: 0 0 31.25%;
        -ms-flex: 0 0 31.25%;
            flex: 0 0 31.25%;
    max-width: 31.25%; }
  .large-offset-4 {
    margin-left: 25%; }
  .large-6 {
    -webkit-flex: 0 0 37.5%;
        -ms-flex: 0 0 37.5%;
            flex: 0 0 37.5%;
    max-width: 37.5%; }
  .large-offset-5 {
    margin-left: 31.25%; }
  .large-7 {
    -webkit-flex: 0 0 43.75%;
        -ms-flex: 0 0 43.75%;
            flex: 0 0 43.75%;
    max-width: 43.75%; }
  .large-offset-6 {
    margin-left: 37.5%; }
  .large-8 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-7 {
    margin-left: 43.75%; }
  .large-9 {
    -webkit-flex: 0 0 56.25%;
        -ms-flex: 0 0 56.25%;
            flex: 0 0 56.25%;
    max-width: 56.25%; }
  .large-offset-8 {
    margin-left: 50%; }
  .large-10 {
    -webkit-flex: 0 0 62.5%;
        -ms-flex: 0 0 62.5%;
            flex: 0 0 62.5%;
    max-width: 62.5%; }
  .large-offset-9 {
    margin-left: 56.25%; }
  .large-11 {
    -webkit-flex: 0 0 68.75%;
        -ms-flex: 0 0 68.75%;
            flex: 0 0 68.75%;
    max-width: 68.75%; }
  .large-offset-10 {
    margin-left: 62.5%; }
  .large-12 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-11 {
    margin-left: 68.75%; }
  .large-13 {
    -webkit-flex: 0 0 81.25%;
        -ms-flex: 0 0 81.25%;
            flex: 0 0 81.25%;
    max-width: 81.25%; }
  .large-offset-12 {
    margin-left: 75%; }
  .large-14 {
    -webkit-flex: 0 0 87.5%;
        -ms-flex: 0 0 87.5%;
            flex: 0 0 87.5%;
    max-width: 87.5%; }
  .large-offset-13 {
    margin-left: 81.25%; }
  .large-15 {
    -webkit-flex: 0 0 93.75%;
        -ms-flex: 0 0 93.75%;
            flex: 0 0 93.75%;
    max-width: 93.75%; }
  .large-offset-14 {
    margin-left: 87.5%; }
  .large-16 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-15 {
    margin-left: 93.75%; }
  .large-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 48em) and (min-width: 48em) {
  .large-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 48em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 48em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media screen and (min-width: 64em) {
  .xlarge-1 {
    -webkit-flex: 0 0 6.25%;
        -ms-flex: 0 0 6.25%;
            flex: 0 0 6.25%;
    max-width: 6.25%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }
  .xlarge-offset-1 {
    margin-left: 6.25%; }
  .xlarge-3 {
    -webkit-flex: 0 0 18.75%;
        -ms-flex: 0 0 18.75%;
            flex: 0 0 18.75%;
    max-width: 18.75%; }
  .xlarge-offset-2 {
    margin-left: 12.5%; }
  .xlarge-4 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-offset-3 {
    margin-left: 18.75%; }
  .xlarge-5 {
    -webkit-flex: 0 0 31.25%;
        -ms-flex: 0 0 31.25%;
            flex: 0 0 31.25%;
    max-width: 31.25%; }
  .xlarge-offset-4 {
    margin-left: 25%; }
  .xlarge-6 {
    -webkit-flex: 0 0 37.5%;
        -ms-flex: 0 0 37.5%;
            flex: 0 0 37.5%;
    max-width: 37.5%; }
  .xlarge-offset-5 {
    margin-left: 31.25%; }
  .xlarge-7 {
    -webkit-flex: 0 0 43.75%;
        -ms-flex: 0 0 43.75%;
            flex: 0 0 43.75%;
    max-width: 43.75%; }
  .xlarge-offset-6 {
    margin-left: 37.5%; }
  .xlarge-8 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-offset-7 {
    margin-left: 43.75%; }
  .xlarge-9 {
    -webkit-flex: 0 0 56.25%;
        -ms-flex: 0 0 56.25%;
            flex: 0 0 56.25%;
    max-width: 56.25%; }
  .xlarge-offset-8 {
    margin-left: 50%; }
  .xlarge-10 {
    -webkit-flex: 0 0 62.5%;
        -ms-flex: 0 0 62.5%;
            flex: 0 0 62.5%;
    max-width: 62.5%; }
  .xlarge-offset-9 {
    margin-left: 56.25%; }
  .xlarge-11 {
    -webkit-flex: 0 0 68.75%;
        -ms-flex: 0 0 68.75%;
            flex: 0 0 68.75%;
    max-width: 68.75%; }
  .xlarge-offset-10 {
    margin-left: 62.5%; }
  .xlarge-12 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-offset-11 {
    margin-left: 68.75%; }
  .xlarge-13 {
    -webkit-flex: 0 0 81.25%;
        -ms-flex: 0 0 81.25%;
            flex: 0 0 81.25%;
    max-width: 81.25%; }
  .xlarge-offset-12 {
    margin-left: 75%; }
  .xlarge-14 {
    -webkit-flex: 0 0 87.5%;
        -ms-flex: 0 0 87.5%;
            flex: 0 0 87.5%;
    max-width: 87.5%; }
  .xlarge-offset-13 {
    margin-left: 81.25%; }
  .xlarge-15 {
    -webkit-flex: 0 0 93.75%;
        -ms-flex: 0 0 93.75%;
            flex: 0 0 93.75%;
    max-width: 93.75%; }
  .xlarge-offset-14 {
    margin-left: 87.5%; }
  .xlarge-16 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xlarge-offset-15 {
    margin-left: 93.75%; }
  .xlarge-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xlarge-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xlarge-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xlarge-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xlarge-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xlarge-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xlarge-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xlarge-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 64em) and (min-width: 64em) {
  .xlarge-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 64em) {
    .row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 64em) {
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-1 {
    -webkit-flex: 0 0 6.25%;
        -ms-flex: 0 0 6.25%;
            flex: 0 0 6.25%;
    max-width: 6.25%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }
  .xxlarge-offset-1 {
    margin-left: 6.25%; }
  .xxlarge-3 {
    -webkit-flex: 0 0 18.75%;
        -ms-flex: 0 0 18.75%;
            flex: 0 0 18.75%;
    max-width: 18.75%; }
  .xxlarge-offset-2 {
    margin-left: 12.5%; }
  .xxlarge-4 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-offset-3 {
    margin-left: 18.75%; }
  .xxlarge-5 {
    -webkit-flex: 0 0 31.25%;
        -ms-flex: 0 0 31.25%;
            flex: 0 0 31.25%;
    max-width: 31.25%; }
  .xxlarge-offset-4 {
    margin-left: 25%; }
  .xxlarge-6 {
    -webkit-flex: 0 0 37.5%;
        -ms-flex: 0 0 37.5%;
            flex: 0 0 37.5%;
    max-width: 37.5%; }
  .xxlarge-offset-5 {
    margin-left: 31.25%; }
  .xxlarge-7 {
    -webkit-flex: 0 0 43.75%;
        -ms-flex: 0 0 43.75%;
            flex: 0 0 43.75%;
    max-width: 43.75%; }
  .xxlarge-offset-6 {
    margin-left: 37.5%; }
  .xxlarge-8 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-offset-7 {
    margin-left: 43.75%; }
  .xxlarge-9 {
    -webkit-flex: 0 0 56.25%;
        -ms-flex: 0 0 56.25%;
            flex: 0 0 56.25%;
    max-width: 56.25%; }
  .xxlarge-offset-8 {
    margin-left: 50%; }
  .xxlarge-10 {
    -webkit-flex: 0 0 62.5%;
        -ms-flex: 0 0 62.5%;
            flex: 0 0 62.5%;
    max-width: 62.5%; }
  .xxlarge-offset-9 {
    margin-left: 56.25%; }
  .xxlarge-11 {
    -webkit-flex: 0 0 68.75%;
        -ms-flex: 0 0 68.75%;
            flex: 0 0 68.75%;
    max-width: 68.75%; }
  .xxlarge-offset-10 {
    margin-left: 62.5%; }
  .xxlarge-12 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-offset-11 {
    margin-left: 68.75%; }
  .xxlarge-13 {
    -webkit-flex: 0 0 81.25%;
        -ms-flex: 0 0 81.25%;
            flex: 0 0 81.25%;
    max-width: 81.25%; }
  .xxlarge-offset-12 {
    margin-left: 75%; }
  .xxlarge-14 {
    -webkit-flex: 0 0 87.5%;
        -ms-flex: 0 0 87.5%;
            flex: 0 0 87.5%;
    max-width: 87.5%; }
  .xxlarge-offset-13 {
    margin-left: 81.25%; }
  .xxlarge-15 {
    -webkit-flex: 0 0 93.75%;
        -ms-flex: 0 0 93.75%;
            flex: 0 0 93.75%;
    max-width: 93.75%; }
  .xxlarge-offset-14 {
    margin-left: 87.5%; }
  .xxlarge-16 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xxlarge-offset-15 {
    margin-left: 93.75%; }
  .xxlarge-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xxlarge-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xxlarge-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxlarge-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xxlarge-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xxlarge-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxlarge-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxlarge-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 81.25em) and (min-width: 81.25em) {
  .xxlarge-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 81.25em) {
    .row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

.shrink {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%; }

.column-block {
  margin-bottom: 1.25rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 25em) {
    .column-block {
      margin-bottom: 1.875rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 25em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 25em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

@media print, screen and (min-width: 25em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media print, screen and (min-width: 48em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 64em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 81.25em) {
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 25em) {
  .grid-x > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 48em) {
  .grid-x > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .grid-x > .xlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .xlarge-1 {
    width: 8.33333%; }
  .grid-x > .xlarge-2 {
    width: 16.66667%; }
  .grid-x > .xlarge-3 {
    width: 25%; }
  .grid-x > .xlarge-4 {
    width: 33.33333%; }
  .grid-x > .xlarge-5 {
    width: 41.66667%; }
  .grid-x > .xlarge-6 {
    width: 50%; }
  .grid-x > .xlarge-7 {
    width: 58.33333%; }
  .grid-x > .xlarge-8 {
    width: 66.66667%; }
  .grid-x > .xlarge-9 {
    width: 75%; }
  .grid-x > .xlarge-10 {
    width: 83.33333%; }
  .grid-x > .xlarge-11 {
    width: 91.66667%; }
  .grid-x > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .grid-x > .xxlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xxlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .xxlarge-1 {
    width: 8.33333%; }
  .grid-x > .xxlarge-2 {
    width: 16.66667%; }
  .grid-x > .xxlarge-3 {
    width: 25%; }
  .grid-x > .xxlarge-4 {
    width: 33.33333%; }
  .grid-x > .xxlarge-5 {
    width: 41.66667%; }
  .grid-x > .xxlarge-6 {
    width: 50%; }
  .grid-x > .xxlarge-7 {
    width: 58.33333%; }
  .grid-x > .xxlarge-8 {
    width: 66.66667%; }
  .grid-x > .xxlarge-9 {
    width: 75%; }
  .grid-x > .xxlarge-10 {
    width: 83.33333%; }
  .grid-x > .xxlarge-11 {
    width: 91.66667%; }
  .grid-x > .xxlarge-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 25em) {
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  @media print, screen and (min-width: 25em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 25em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 48em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.875rem); } }
  @media screen and (min-width: 64em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 1.875rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-x > .xxlarge-auto {
      width: auto; }
    .grid-margin-x > .xxlarge-shrink {
      width: auto; }
    .grid-margin-x > .xxlarge-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .xxlarge-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .xxlarge-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .xxlarge-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-12 {
      width: calc(100% - 1.875rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 25em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 25em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 25em) {
    .grid-padding-x > .cell {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 25em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 48em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 64em) {
  .xlarge-up-1 > .cell {
    width: 100%; }
  .xlarge-up-2 > .cell {
    width: 50%; }
  .xlarge-up-3 > .cell {
    width: 33.33333%; }
  .xlarge-up-4 > .cell {
    width: 25%; }
  .xlarge-up-5 > .cell {
    width: 20%; }
  .xlarge-up-6 > .cell {
    width: 16.66667%; }
  .xlarge-up-7 > .cell {
    width: 14.28571%; }
  .xlarge-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-up-1 > .cell {
    width: 100%; }
  .xxlarge-up-2 > .cell {
    width: 50%; }
  .xxlarge-up-3 > .cell {
    width: 33.33333%; }
  .xxlarge-up-4 > .cell {
    width: 25%; }
  .xxlarge-up-5 > .cell {
    width: 20%; }
  .xxlarge-up-6 > .cell {
    width: 16.66667%; }
  .xxlarge-up-7 > .cell {
    width: 14.28571%; }
  .xxlarge-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.25rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1.25rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 1.25rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1.25rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1.25rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 1.25rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 1.25rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1.25rem); }

@media print, screen and (min-width: 25em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media print, screen and (min-width: 48em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media screen and (min-width: 64em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media screen and (min-width: 81.25em) {
  .grid-margin-x.xxlarge-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.xxlarge-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.xxlarge-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.xxlarge-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.xxlarge-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.xxlarge-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.xxlarge-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.xxlarge-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 25em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 48em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }
  @media screen and (min-width: 64em) {
    .small-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xlarge-12 {
      width: 100%; } }
  @media screen and (min-width: 81.25em) {
    .small-margin-collapse > .xxlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xxlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xxlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xxlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xxlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xxlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xxlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xxlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xxlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xxlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xxlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xxlarge-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 25em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 25em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 25em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 48em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .medium-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media print, screen and (min-width: 25em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 48em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 48em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 48em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 48em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media print, screen and (min-width: 48em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .xlarge-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem); }

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

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem); }

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

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem); }

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

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem); }

@media print, screen and (min-width: 25em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media print, screen and (min-width: 48em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media screen and (min-width: 64em) {
  .xlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media screen and (min-width: 81.25em) {
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xxlarge-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xxlarge-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xxlarge-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xxlarge-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xxlarge-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xxlarge-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xxlarge-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xxlarge-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xxlarge-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xxlarge-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xxlarge-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xxlarge-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media print, screen and (min-width: 25em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, screen and (min-width: 48em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 64em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 81.25em) {
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 25em) {
    .grid-y > .medium-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 48em) {
    .grid-y > .large-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }
  @media screen and (min-width: 64em) {
    .grid-y > .xlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 81.25em) {
    .grid-y > .xxlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 8.33333%; }
    .grid-y > .xxlarge-2 {
      height: 16.66667%; }
    .grid-y > .xxlarge-3 {
      height: 25%; }
    .grid-y > .xxlarge-4 {
      height: 33.33333%; }
    .grid-y > .xxlarge-5 {
      height: 41.66667%; }
    .grid-y > .xxlarge-6 {
      height: 50%; }
    .grid-y > .xxlarge-7 {
      height: 58.33333%; }
    .grid-y > .xxlarge-8 {
      height: 66.66667%; }
    .grid-y > .xxlarge-9 {
      height: 75%; }
    .grid-y > .xxlarge-10 {
      height: 83.33333%; }
    .grid-y > .xxlarge-11 {
      height: 91.66667%; }
    .grid-y > .xxlarge-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 25em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 25em) {
    .grid-padding-y > .cell {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 25em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 25em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 25em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 48em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 64em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }

@media print, screen and (min-width: 25em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 48em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 64em) {
  .xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .xlarge-grid-frame {
    width: 100%; }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xlarge-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .xxlarge-grid-frame {
    width: 100%; }
  .xxlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xxlarge-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xxlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .xxlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 25em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 48em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media screen and (min-width: 64em) {
  .grid-y.xlarge-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media screen and (min-width: 81.25em) {
  .grid-y.xxlarge-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 25em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 48em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

@media screen and (min-width: 64em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 81.25em) {
  .cell .grid-y.xxlarge-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 25em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 25em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 25em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 48em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 64em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.25rem); }
  @media print, screen and (min-width: 25em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media print, screen and (min-width: 48em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 25em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 48em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media screen and (min-width: 64em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media screen and (min-width: 81.25em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 1.875rem); } }

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

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Signika", Helvetica, Arial;
  font-style: normal;
  font-weight: 600;
  color: #5a0e54;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.3125rem; }

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.3125rem; }

h3, .h3 {
  font-size: 1.0625rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.3125rem; }

h4, .h4 {
  font-size: 1.0625rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.3125rem; }

h5, .h5 {
  font-size: 0.9375rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.3125rem; }

h6, .h6 {
  font-size: 0.9375rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.3125rem; }

@media print, screen and (min-width: 25em) {
  h1, .h1 {
    font-size: 1.875rem; }
  h2, .h2 {
    font-size: 1.25rem; }
  h3, .h3 {
    font-size: 1.0625rem; }
  h4, .h4 {
    font-size: 1.0625rem; }
  h5, .h5 {
    font-size: 0.9375rem; }
  h6, .h6 {
    font-size: 0.9375rem; } }

@media print, screen and (min-width: 48em) {
  h1, .h1 {
    font-size: 3.125rem; }
  h2, .h2 {
    font-size: 2.5rem; }
  h3, .h3 {
    font-size: 2rem; }
  h4, .h4 {
    font-size: 1.5rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

@media screen and (min-width: 64em) {
  h1, .h1 {
    font-size: 3.75rem; }
  h2, .h2 {
    font-size: 2.5rem; }
  h3, .h3 {
    font-size: 2rem; }
  h4, .h4 {
    font-size: 1.5rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a; }

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

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

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

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

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

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

@media print, screen and (min-width: 25em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 48em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

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

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

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .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; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 0;
  font-family: inherit;
  padding: 1.2em 2em 1.1em 2em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #d4154b;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #b41240;
    color: #ffffff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 16px; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #ffffff; }
  .button.secondary {
    background-color: #767676;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #ffffff; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #ffffff; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #ffffff; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #d4154b;
      color: #ffffff; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #ffffff; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #ffffff; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #ffffff; }
  .button.hollow {
    border: 1px solid #d4154b;
    color: #d4154b; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #6a0b26;
      color: #6a0b26; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #d4154b;
        color: #d4154b; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #d4154b;
    color: #d4154b; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #6a0b26;
      color: #6a0b26; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #d4154b;
        color: #d4154b; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #ffffff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 2em; }
  .button.dropdown.hollow::after {
    border-top-color: #d4154b; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #cacaca; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #cacaca; }

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
          appearance: none;
  border-radius: 0; }

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

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

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

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: auto;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
                -ms-grid-row-align: stretch;
            align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #faedeb; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.accordion {
  margin-left: 0;
  background: #ffffff;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #ffffff;
  color: #0a0a0a; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
      -ms-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #ffffff; }
  .badge.primary {
    background: #1779ba;
    color: #ffffff; }
  .badge.secondary {
    background: #767676;
    color: #ffffff; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #ffffff; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #1779ba; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 16px;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 16px; }
  .button-group.expanded .button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #ffffff; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #ffffff; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #ffffff; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #ffffff; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #ffffff; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #ffffff; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 25em) {
    .button-group.stacked-for-small .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 48em) {
    .button-group.stacked-for-medium .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 24.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #0a0a0a; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #0a0a0a; }
  .callout.success {
    background-color: #e1faea;
    color: #0a0a0a; }
  .callout.warning {
    background-color: #fff3d9;
    color: #0a0a0a; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #0a0a0a; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
  color: #0a0a0a; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem;
  background: #e6e6e6; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.close-button {
  position: absolute;
  color: #d4154b;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #d4154b; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 25em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 48em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 64em) {
    .menu.xlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xlarge-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xlarge-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 81.25em) {
    .menu.xxlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xxlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xxlarge-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xxlarge-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #1779ba;
    color: #ffffff; }
  .menu .active > a {
    background: #1779ba;
    color: #ffffff; }
  .menu.align-left {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu-centered > .menu li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #ffffff;
    box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #0a0a0a;
    box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    transition: height 0.5s; }

.drilldown a {
  padding: 0.7rem 1rem;
  background: #ffffff; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #1779ba transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

.dropdown.menu a {
  padding: 0.7rem 1rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent;
  color: #1779ba; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba; }

@media print, screen and (min-width: 25em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media print, screen and (min-width: 48em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media screen and (min-width: 64em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media screen and (min-width: 81.25em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #ffffff; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #ffffff; }
  .label.primary {
    background: #1779ba;
    color: #ffffff; }
  .label.secondary {
    background: #767676;
    color: #ffffff; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #ffffff; }

.media-object {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 24.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 24.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(255, 255, 255, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }
  @media print, screen and (min-width: 25em) {
    .position-left {
      width: 250px;
      -webkit-transform: translateX(-250px);
          -ms-transform: translateX(-250px);
              transform: translateX(-250px); } }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    @media print, screen and (min-width: 25em) {
      .off-canvas-content .off-canvas.position-left {
        -webkit-transform: translateX(-250px);
            -ms-transform: translateX(-250px);
                transform: translateX(-250px); } }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    @media print, screen and (min-width: 25em) {
      .off-canvas-content.is-open-left.has-transition-push {
        -webkit-transform: translateX(250px);
            -ms-transform: translateX(250px);
                transform: translateX(250px); } }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  @media print, screen and (min-width: 25em) {
    .position-right {
      width: 250px;
      -webkit-transform: translateX(250px);
          -ms-transform: translateX(250px);
              transform: translateX(250px); } }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    @media print, screen and (min-width: 25em) {
      .off-canvas-content .off-canvas.position-right {
        -webkit-transform: translateX(250px);
            -ms-transform: translateX(250px);
                transform: translateX(250px); } }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    @media print, screen and (min-width: 25em) {
      .off-canvas-content.is-open-right.has-transition-push {
        -webkit-transform: translateX(-250px);
            -ms-transform: translateX(-250px);
                transform: translateX(-250px); } }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px); }
  @media print, screen and (min-width: 25em) {
    .position-top {
      height: 250px;
      -webkit-transform: translateY(-250px);
          -ms-transform: translateY(-250px);
              transform: translateY(-250px); } }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
    @media print, screen and (min-width: 25em) {
      .off-canvas-content .off-canvas.position-top {
        -webkit-transform: translateY(-250px);
            -ms-transform: translateY(-250px);
                transform: translateY(-250px); } }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
    @media print, screen and (min-width: 25em) {
      .off-canvas-content.is-open-top.has-transition-push {
        -webkit-transform: translateY(250px);
            -ms-transform: translateY(250px);
                transform: translateY(250px); } }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px); }
  @media print, screen and (min-width: 25em) {
    .position-bottom {
      height: 250px;
      -webkit-transform: translateY(250px);
          -ms-transform: translateY(250px);
              transform: translateY(250px); } }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
    @media print, screen and (min-width: 25em) {
      .off-canvas-content .off-canvas.position-bottom {
        -webkit-transform: translateY(250px);
            -ms-transform: translateY(250px);
                transform: translateY(250px); } }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
    @media print, screen and (min-width: 25em) {
      .off-canvas-content.is-open-bottom.has-transition-push {
        -webkit-transform: translateY(-250px);
            -ms-transform: translateY(-250px);
                transform: translateY(-250px); } }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 25em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 48em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 81.25em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 25em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 48em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

@media screen and (min-width: 81.25em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xxlarge .close-button {
      display: none; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #ffffff; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #ffffff; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 25em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1779ba;
    color: #ffffff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1779ba; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ffffff;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #1779ba;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14679e; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 25em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 25em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 25em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 25em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 25em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 24.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #ffffff;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #ffffff;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #1779ba; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f2f2f2;
    background-color: #ffffff; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f9f9f9;
    color: #0a0a0a; }
  tfoot {
    background: #f2f2f2;
    color: #0a0a0a; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f2f2f2; }
  table.unstriped tbody {
    background-color: #ffffff; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f2f2f2;
      background-color: #ffffff; }

@media screen and (max-width: 47.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f4f4f4; }

table.hover tfoot tr:hover {
  background-color: #ededed; }

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

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ededed; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #ffffff;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #1779ba; }
    .tabs-title > a:hover {
      background: #ffffff;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #1779ba; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #ffffff;
  color: #0a0a0a;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #ffffff;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #ffffff;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

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

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 25em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 47.9375em) {
    .top-bar.stacked-for-medium {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-large {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 81.1875em) {
    .top-bar.stacked-for-xlarge {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-xlarge .top-bar-left,
      .top-bar.stacked-for-xlarge .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  .top-bar.stacked-for-xxlarge {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .top-bar.stacked-for-xxlarge .top-bar-left,
    .top-bar.stacked-for-xxlarge .top-bar-right {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }

.top-bar-title {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 24.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 25em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 25em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 24.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 25em) and (max-width: 47.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 24.9375em), screen and (min-width: 48em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 48em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 47.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 47.9375em), screen and (min-width: 64em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 64em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 81.1875em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 81.25em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 81.25em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 81.1875em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 81.25em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 81.1875em) {
  .show-for-xxlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

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

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

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

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.clearfix::after {
  clear: both; }

.align-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.align-right.vertical.menu > li > a {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.align-stretch {
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 25em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 48em) {
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 64em) {
  .xlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 25em) {
  .medium-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 48em) {
  .large-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 64em) {
  .xlarge-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 81.25em) {
  .xxlarge-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xxlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xxlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn); } }

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms; }

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important; }

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important; }

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important; }

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important; }

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important; }

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important; }

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important; }

body {
  font-family: "Signika", Helvetica, Arial;
  font-weight: 200; }
  body.infographic-zoomed, body.overflow {
    overflow: hidden; }

.scrollbar::-webkit-scrollbar {
  width: 10px;
  height: 10px; }

.scrollbar::-webkit-scrollbar-track {
  background-color: #400a3b;
  border-radius: 10px; }

.scrollbar::-webkit-scrollbar-thumb {
  background-color: #ffffff;
  border-radius: 10px; }

.scrollbar::-webkit-scrollbar-thumb:active, .scrollbar::-webkit-scrollbar-thumb:hover {
  background-color: #e6e6e6; }

.scrollbar::-webkit-scrollbar-button {
  display: none; }

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  z-index: 9999;
  -webkit-animation: nojs 0.1s forwards 2s;
          animation: nojs 0.1s forwards 2s; }

.block {
  padding: 100px 0; }
  @media screen and (max-width: 47.9375em) {
    .block {
      padding: 30px 0; } }

.block2 {
  padding: 50px 0; }
  @media screen and (max-width: 47.9375em) {
    .block2 {
      padding: 30px 0; } }
  .block2.white {
    background: #ffffff; }
  .block2.zachtroze {
    background: #f9efe5; }

.content-blocks {
  padding: 35px 0; }
  @media screen and (max-width: 47.9375em) {
    .content-blocks {
      position: relative;
      padding: 30px 0; } }

.content-block {
  padding: 35px 0; }
  @media screen and (max-width: 47.9375em) {
    .content-block {
      padding: 30px 0; } }
  .content-block#meld-je-aan-block {
    background: url("../img/saks-tablets-newsletter.png") no-repeat 100% top #5a0e54;
    background-size: contain;
    padding-bottom: 100px;
    padding-top: 120px;
    color: #ffffff; }
    @media screen and (max-width: 63.9375em) {
      .content-block#meld-je-aan-block {
        background-position: calc(100% + 250px) top;
        padding-bottom: 55px;
        padding-top: 60px; } }
    @media screen and (max-width: 47.9375em) {
      .content-block#meld-je-aan-block {
        background: #5a0e54; } }
    .content-block#meld-je-aan-block .form-title,
    .content-block#meld-je-aan-block label,
    .content-block#meld-je-aan-block p {
      color: inherit; }
    .content-block#meld-je-aan-block label,
    .content-block#meld-je-aan-block p {
      text-shadow: 0 0 60px black; }
    .content-block#meld-je-aan-block input[type='submit'] {
      font-size: 0.875rem;
      line-height: 2.4375rem;
      height: 2.4375rem;
      margin: 0 0 1rem;
      padding-bottom: 0;
      padding-top: 0; }
      @media screen and (max-width: 47.9375em) {
        .content-block#meld-je-aan-block input[type='submit'] {
          margin: 1rem 0 0; } }
      .content-block#meld-je-aan-block input[type='submit']:hover {
        background-color: #be1244; }
    .content-block#meld-je-aan-block .policy-text {
      display: block; }
      @media screen and (max-width: 47.9375em) {
        .content-block#meld-je-aan-block .policy-text {
          margin: 1rem 0 0; } }
      .content-block#meld-je-aan-block .policy-text a {
        text-decoration: underline;
        color: white; }

.content {
  padding: 70px 0; }
  @media screen and (max-width: 47.9375em) {
    .content {
      padding: 30px 0; } }

.gray {
  background: #f3f3f3; }

.gray2 {
  background: #e5e5e5; }

.white-text {
  color: #ffffff; }
  .white-text a,
  .white-text h1,
  .white-text h2,
  .white-text h3,
  .white-text h4,
  .white-text h5,
  .white-text h6,
  .white-text li,
  .white-text p,
  .white-text ul {
    color: #ffffff; }

.large-offset-3 {
  margin-left: 18.75% !important; }
  @media screen and (max-width: 47.9375em) {
    .large-offset-3 {
      margin-left: 0 !important; } }

@media screen and (max-width: 81.1875em) {
  .row {
    width: 90%; } }

@media screen and (max-width: 47.9375em) {
  .row {
    width: 100%;
    padding: 0 20px; } }

.relative {
  position: relative; }

.border-top {
  border-top: 1px solid #d1d1d1; }

.no-js .project {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.no-js .content-block {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.no-js .animate {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

@-webkit-keyframes nojs {
  from {
    opacity: 1;
    visibility: visible; }
  to {
    opacity: 0;
    visibility: hidden; } }

@keyframes nojs {
  from {
    opacity: 1;
    visibility: visible; }
  to {
    opacity: 0;
    visibility: hidden; } }

.animate {
  opacity: 0;
  transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1);
  -webkit-transform: translateY(20px);
      -ms-transform: translateY(20px);
          transform: translateY(20px); }
  .animate.show {
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }

.anm-start .index .index-icon {
  width: 0 !important;
  transition: none !important; }
  .anm-start .index .index-icon:after, .anm-start .index .index-icon:before {
    width: 0 !important;
    transition: none !important; }

.anm-start .header-content #logo,
.anm-start .header-content .button,
.anm-start .header-content h1,
.anm-start .header-content p {
  opacity: 0 !important;
  -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
          transform: translateY(10px); }

.anm-start .header-news h4,
.anm-start .header-news p {
  opacity: 0 !important;
  -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
          transform: translateY(10px); }

.anm-start #header-line1 {
  width: 0; }

.anm-start #header-line2 {
  width: 0; }

.anm-start .header-title h1 span,
.anm-start .header-title h5 span,
.anm-start .header-title h6 span {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }

.anm-start header {
  height: 100vh !important; }
  .anm-start header .header-title-wrapper {
    height: 100vh !important; }
  .anm-start header:before {
    right: -224px; }

.anm-delays .index {
  transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1) 1s !important; }
  .anm-delays .index .index-icon {
    transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1) 1.9s !important; }
    .anm-delays .index .index-icon:after, .anm-delays .index .index-icon:before {
      transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1) 1.9s !important; }

.anm-delays .header-content #logo {
  transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1) 1.2s; }

.anm-delays .header-content h1 {
  transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1) 1.3s; }

.anm-delays .header-content p {
  transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1) 1.4s; }

.anm-delays .header-content .button {
  transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1) 1.5s; }

.anm-delays .header-news h4 {
  transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1) 1.6s; }

.anm-delays .header-news p {
  transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1) 1.8s; }

.anm-delays #header-line1 {
  transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1) 1.8s; }

.anm-delays #header-line2 {
  transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1) 1.2s; }

.anm-delays .header-title h1 span {
  transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0.3s; }

.anm-delays .header-title h5 span {
  transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0.3s; }

.anm-delays .header-title h6 span {
  transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0.3s; }

.anm-delays header {
  transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0.3s; }
  .anm-delays header .header-title-wrapper {
    transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0.3s; }
  .anm-delays header:before {
    transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0.3s; }

header {
  position: relative;
  width: 100%;
  height: 70vh;
  background-size: cover;
  background-position: center center; }
  .infographic header {
    height: auto; }
  @media screen and (max-width: 47.9375em) {
    header {
      height: 70vh; } }
  header:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 134px 224px;
    border-color: transparent transparent #f3f3f3 transparent;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2; }
    @media screen and (max-width: 63.9375em) {
      header:before {
        border-width: 0 0 67px 112px; } }
    @media screen and (max-width: 47.9375em) {
      header:before {
        border-width: 0 0 67px 112px; } }
    @media screen and (max-width: 47.9375em) {
      header:before {
        border-width: 0 0 33px 56px; } }
  header:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 70%;
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 70%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    border: none;
    opacity: 0.7; }
  header.with-intro:before {
    border-color: transparent transparent #ffffff transparent; }
  header .header-content {
    position: absolute;
    z-index: 999;
    padding: 50px 80px;
    width: 50%; }
    header .header-content #logo {
      position: relative;
      display: block;
      margin: 0; }
      @media screen and (max-width: 47.9375em) {
        header .header-content #logo {
          max-width: 150px; } }
    header .header-content .header-content-inner {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
    @media screen and (max-width: 81.1875em) {
      header .header-content {
        padding: 40px; } }
    @media screen and (max-width: 63.9375em) {
      header .header-content {
        padding: 30px; } }
    @media screen and (max-width: 47.9375em) {
      header .header-content {
        padding: 20px 30px; } }
  header #header-shape-detail {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 418px;
    height: 349px; }
    @media screen and (max-width: 81.1875em) {
      header #header-shape-detail {
        width: 350px;
        height: 292px; } }
    @media screen and (max-width: 63.9375em) {
      header #header-shape-detail {
        width: 300px;
        height: 250px; } }
    @media screen and (max-width: 47.9375em) {
      header #header-shape-detail {
        width: 230px;
        height: 192px; } }
  header .index {
    position: fixed;
    display: block;
    right: 0;
    top: 0;
    z-index: 999; }
    header .index .index-icon {
      display: block;
      position: absolute;
      z-index: 2;
      top: 40px;
      left: 40px;
      width: 24px;
      height: 3px;
      background: #ffffff;
      transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0s; }
      header .index .index-icon:before {
        content: '';
        width: 24px;
        height: 3px;
        background: #ffffff;
        position: absolute;
        top: -8px;
        transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0s; }
      header .index .index-icon:after {
        content: '';
        width: 24px;
        height: 3px;
        background: #ffffff;
        position: absolute;
        bottom: -8px;
        transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0s; }
      @media screen and (max-width: 47.9375em) {
        header .index .index-icon {
          top: 50px;
          left: 30px; } }
    header .index #index-shape {
      position: relative;
      top: 0;
      right: 0; }
      header .index #index-shape polyline {
        transition: 0.3s all ease-out; }
    @media screen and (max-width: 47.9375em) {
      header .index {
        right: -20px;
        top: -20px; } }
  header #header-line1 {
    position: absolute;
    top: 0;
    right: 0;
    width: 462px;
    height: 268px;
    overflow: hidden; }
    header #header-line1 svg {
      position: absolute;
      right: 0; }
    @media screen and (max-width: 47.9375em) {
      header #header-line1 {
        display: none; } }
  header #header-line2 {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 630px;
    height: 366px;
    overflow: hidden;
    z-index: 1; }
    header #header-line2 svg {
      position: absolute;
      right: 0; }
    @media screen and (max-width: 47.9375em) {
      header #header-line2 {
        display: none; } }
  header .header-news {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 30px;
    overflow: hidden;
    width: 600px;
    text-align: right;
    z-index: 2; }
    header .header-news h4,
    header .header-news p {
      position: relative;
      z-index: 1;
      margin: 0 0 5px;
      width: 300px;
      float: right; }
    header .header-news #news-shape {
      position: absolute;
      top: 0;
      right: 0; }
  header nav {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 998;
    visibility: hidden; }
    header nav:before {
      content: '';
      position: fixed;
      top: 0;
      left: 0;
      background: #d4154b;
      width: 100%;
      height: 100%;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s all ease-out; }
    header nav .nav-list {
      position: absolute;
      right: 120px;
      top: 160px;
      transition: 0.5s all ease-out;
      visibility: hidden;
      opacity: 0; }
      header nav .nav-list ul {
        color: #ffffff; }
        header nav .nav-list ul li {
          list-style: none;
          text-align: right;
          margin: 0;
          line-height: 1.6; }
          header nav .nav-list ul li a {
            color: #ffffff;
            font-size: 1.125rem;
            transition: 0.3s all ease-out; }
            header nav .nav-list ul li a:hover {
              color: #c2b78a; }
        header nav .nav-list ul.main li {
          line-height: 1.4; }
          header nav .nav-list ul.main li a {
            font-size: 2.1875rem;
            font-weight: bold;
            position: relative; }
            header nav .nav-list ul.main li a:before {
              content: '';
              display: block;
              position: absolute;
              bottom: 0;
              left: 0;
              width: 0;
              height: 2px;
              background: #c2b78a;
              transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1); }
            header nav .nav-list ul.main li a:hover:before {
              width: 100%; }
      @media screen and (max-width: 47.9375em) {
        header nav .nav-list {
          top: 50%;
          left: 0;
          width: 100%;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%); }
          header nav .nav-list ul {
            margin: 0; }
            header nav .nav-list ul li {
              text-align: center;
              margin: 0;
              padding: 2px 0; }
            header nav .nav-list ul.main li a {
              font-size: 1.875rem; } }
    header nav #search-form {
      position: absolute;
      top: 50px;
      right: 120px;
      width: 400px;
      transition: 0.5s all ease-out;
      visibility: hidden;
      opacity: 0; }
      @media screen and (max-width: 47.9375em) {
        header nav #search-form {
          top: auto;
          bottom: 10px;
          left: 20px;
          right: 20px;
          width: auto; } }
      header nav #search-form #search {
        background: none;
        border: 0;
        height: 42px;
        padding: 0 60px 0 20px;
        color: #ffffff;
        font-size: 1.125rem;
        box-shadow: none;
        border-bottom: 1px solid #ffffff;
        font-family: "Signika", Helvetica, Arial; }
      header nav #search-form #search-submit {
        position: absolute;
        top: 7px;
        right: 20px;
        width: 19px;
        height: 19px;
        text-indent: -9999px;
        background: url("../img/icon-search.svg") center center no-repeat;
        border: 0; }
  header .site-verhaal-search-results {
    position: absolute;
    z-index: 999;
    background: #ffffff;
    padding: 2rem; }
  header #index-shape-open {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 501;
    visibility: hidden; }
    @media screen and (max-width: 47.9375em) {
      header #index-shape-open {
        display: none; } }
  header .header-title-wrapper {
    height: 70vh; }
    header .header-title-wrapper .header-title {
      position: absolute;
      bottom: 50px;
      width: 100%;
      z-index: 9; }
      header .header-title-wrapper .header-title .project-date {
        text-transform: uppercase;
        font-size: 0.875rem; }
      header .header-title-wrapper .header-title h1,
      header .header-title-wrapper .header-title h5,
      header .header-title-wrapper .header-title h6 {
        color: #ffffff;
        overflow: hidden; }
        header .header-title-wrapper .header-title h1 span,
        header .header-title-wrapper .header-title h5 span,
        header .header-title-wrapper .header-title h6 span {
          position: relative;
          display: block; }
      header .header-title-wrapper .header-title h5 {
        line-height: 1.5; }
      @media screen and (max-width: 47.9375em) {
        header .header-title-wrapper .header-title {
          width: auto;
          right: 15px;
          left: 15px;
          bottom: 30px; } }
    @media screen and (max-width: 47.9375em) {
      header .header-title-wrapper {
        height: 70vh; } }

.frontpage header {
  height: 100vh; }
  .frontpage header:before {
    display: none; }
  .frontpage header:after {
    display: none; }
  .frontpage header .header-content {
    position: relative;
    z-index: 999;
    padding: 50px 80px;
    width: 600px; }
    @media screen and (max-width: 81.1875em) {
      .frontpage header .header-content {
        width: 600px;
        padding: 50px 70px; } }
    @media screen and (max-height: 650px) {
      .frontpage header .header-content h1 {
        font-size: 2.5rem; } }
    @media screen and (max-width: 63.9375em) {
      .frontpage header .header-content {
        width: 500px; } }
    @media screen and (max-width: 47.9375em) {
      .frontpage header .header-content {
        width: 250px;
        padding: 30px 40px; } }
    @media screen and (max-width: 24.9375em) {
      .frontpage header .header-content {
        width: 250px; } }
    .frontpage header .header-content #logo {
      display: block;
      margin: 0 0 30px; }
      @media screen and (max-width: 63.9375em) {
        .frontpage header .header-content #logo {
          max-width: 150px; } }
    .frontpage header .header-content .button {
      margin: 7% 0 0; }
    @media screen and (max-width: 47.9375em) {
      .frontpage header .header-content p {
        display: none; } }
    @media screen and (max-width: 81.1875em) {
      .frontpage header .header-content h1 {
        font-size: 2.5rem; } }
    @media screen and (max-width: 63.9375em) {
      .frontpage header .header-content .button {
        margin: 7% 0 0; }
      .frontpage header .header-content h1 {
        font-size: 1.6rem; } }
    @media screen and (max-width: 47.9375em) {
      .frontpage header .header-content h1 {
        font-size: 1.3rem;
        transition: 0.3s all ease-out; }
      .frontpage header .header-content .button {
        display: none; } }
  .frontpage header #header-shape {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 650px;
    height: 928px; }
    @media screen and (max-width: 81.1875em) {
      .frontpage header #header-shape {
        width: 600px;
        height: 856px; } }
    @media screen and (max-height: 650px) {
      .frontpage header #header-shape {
        width: 600px;
        height: 856px;
        top: -50px; } }
    @media screen and (max-width: 63.9375em) {
      .frontpage header #header-shape {
        width: 500px;
        height: 714px;
        top: 0; } }
    @media screen and (max-width: 47.9375em) {
      .frontpage header #header-shape {
        width: 250px;
        height: 357px;
        top: -20px; } }
    @media screen and (max-width: 24.9375em) {
      .frontpage header #header-shape {
        width: 250px;
        height: 357px; } }
  .frontpage header .gradient {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 300px;
    background: rgba(0, 0, 0, 0);
    background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.5)));
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
    z-index: 0; }
  .frontpage header .nav-buttons .nav-down {
    position: absolute;
    z-index: 899;
    bottom: 55px;
    margin-left: -20px;
    left: 50%;
    width: 40px;
    height: 20px;
    background: url("../img/nav-arrow-down.svg") center center no-repeat;
    background-size: cover;
    transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0.5s; }
    .frontpage header .nav-buttons .nav-down.hide-nav {
      bottom: -76px; }
    .frontpage header .nav-buttons .nav-down:focus {
      outline: none; }
    @media screen and (max-width: 47.9375em) {
      .frontpage header .nav-buttons .nav-down {
        bottom: 20px; } }
  .frontpage header .nav-buttons .nav-down-text {
    position: absolute;
    z-index: 899;
    bottom: 85px;
    left: 50%;
    margin-left: -150px;
    width: 300px;
    text-align: center;
    font-family: "Signika", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: bold;
    overflow: hidden;
    color: #ffffff;
    text-decoration: none;
    font-size: 1.5rem;
    transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1);
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s; }
    .frontpage header .nav-buttons .nav-down-text span {
      display: block;
      transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0.6s;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
    .frontpage header .nav-buttons .nav-down-text.hide-nav span {
      -webkit-transform: translateY(100%);
          -ms-transform: translateY(100%);
              transform: translateY(100%); }
    @media screen and (max-width: 47.9375em) {
      .frontpage header .nav-buttons .nav-down-text {
        bottom: 70px;
        display: none; } }

.menu-open nav {
  visibility: visible; }
  .menu-open nav .nav-list {
    visibility: visible;
    opacity: 1;
    transition-delay: 0.5s; }
  .menu-open nav #search-form {
    visibility: visible;
    opacity: 1;
    transition-delay: 0.5s; }
  @media screen and (max-width: 47.9375em) {
    .menu-open nav:before {
      opacity: 1;
      visibility: visible; } }

.menu-open .index .index-icon {
  background: none;
  transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0s; }
  .menu-open .index .index-icon:before {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 0;
    transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0s; }
  .menu-open .index .index-icon:after {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    bottom: 0;
    transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1) 0s; }

@media screen and (max-width: 47.9375em) {
  .menu-open header h1 {
    z-index: 997;
    opacity: 0; } }

@media screen and (max-width: 47.9375em) {
  .menu-open header #logo {
    opacity: 0; } }

.intro {
  background: #ffffff;
  padding: 60px 0; }
  .intro h6 {
    margin: 5px 0; }
  .intro p {
    font-size: 1.25rem;
    font-weight: bold; }
    @media screen and (max-width: 47.9375em) {
      .intro p {
        font-size: 1rem; } }
  @media screen and (max-width: 47.9375em) {
    .intro {
      padding: 30px 0; }
      .intro p {
        margin: 20px 0 0; } }

@media screen and (max-width: 47.9375em) {
  .projects {
    height: auto !important; }
    .projects .project {
      position: relative !important;
      top: 0 !important;
      left: 0 !important;
      width: 100% !important;
      transition: none !important;
      -webkit-transform: none !important;
          -ms-transform: none !important;
              transform: none !important; } }

.project {
  overflow: hidden;
  display: block;
  float: left;
  width: 33.3%;
  opacity: 0;
  transition: 0.3s all cubic-bezier(0.7, 0, 0.3, 1);
  -webkit-transform: translateY(20px);
      -ms-transform: translateY(20px);
          transform: translateY(20px);
  color: #0a0a0a;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 47.9375em) {
    .project {
      width: 100%; } }
  .project:focus {
    outline: none; }
  .project:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 66px;
    height: 43px;
    background: url("../img/corner-right.svg");
    transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1); }
    @media screen and (max-width: 47.9375em) {
      .project:after {
        right: 0; } }
  .project .project-padding {
    position: relative;
    height: 550px;
    margin: 10px;
    background-size: cover;
    background-position: center center;
    border: 1px solid #d8d8d8;
    box-shadow: none;
    transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1); }
    .project .project-padding .project-background {
      position: absolute;
      background-size: cover;
      background-position: center center;
      width: 100%;
      height: 100%;
      overflow: hidden; }
      @media screen and (max-width: 47.9375em) {
        .project .project-padding .project-background {
          height: 250px !important;
          position: relative; } }
      .project .project-padding .project-background:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 206px 766px;
        border-color: transparent transparent #ffffff transparent; }
    .project .project-padding .project-inner {
      position: absolute;
      background: #ffffff;
      bottom: 0;
      left: 0;
      z-index: 0;
      width: 100%; }
      .project .project-padding .project-inner .project-inner-content {
        padding: 40px; }
        .project .project-padding .project-inner .project-inner-content p {
          margin: 0; }
      @media screen and (max-width: 47.9375em) {
        .project .project-padding .project-inner {
          height: auto !important;
          position: relative; }
          .project .project-padding .project-inner .project-inner-content {
            padding: 30px; } }
    @media screen and (max-width: 47.9375em) {
      .project .project-padding {
        height: auto;
        margin: 10px 0; } }
  .project.width2 {
    width: 66.6%; }
    @media screen and (max-width: 47.9375em) {
      .project.width2 .project-padding {
        height: 400px; } }
    .project.width2 .project-padding .project-background {
      position: absolute;
      height: 100%; }
      .project.width2 .project-padding .project-background:before {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 50%;
        /* FF3.6-15 */
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        border: none; }
      @media screen and (max-width: 47.9375em) {
        .project.width2 .project-padding .project-background {
          height: 100% !important; } }
    .project.width2 .project-padding .project-inner {
      position: absolute;
      bottom: 0;
      left: 0;
      padding: 0;
      z-index: 2;
      background: none; }
      .project.width2 .project-padding .project-inner .project-inner-content {
        padding: 50px; }
      .project.width2 .project-padding .project-inner h3 {
        color: #ffffff; }
      .project.width2 .project-padding .project-inner p {
        color: #ffffff;
        margin: 0; }
      @media screen and (max-width: 47.9375em) {
        .project.width2 .project-padding .project-inner .project-inner-content {
          padding: 30px; } }
  .project.no-image .project-padding {
    background: #6f2d6a;
    background: linear-gradient(to bottom, #6f2d6a 0%, #5d1357 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ }
    @media screen and (max-width: 47.9375em) {
      .project.no-image .project-padding {
        height: 400px; } }
    .project.no-image .project-padding .project-background {
      position: absolute;
      height: 100%; }
      .project.no-image .project-padding .project-background:before {
        width: 256px;
        height: 214px;
        background: url("../img/project-line.svg");
        top: 0;
        right: 0;
        bottom: auto;
        left: auto;
        border: none; }
    .project.no-image .project-padding .project-inner {
      position: absolute;
      background: none; }
      .project.no-image .project-padding .project-inner .project-inner-content {
        padding: 40px; }
      .project.no-image .project-padding .project-inner h3 {
        color: #ffffff; }
      .project.no-image .project-padding .project-inner p {
        color: #ffffff;
        margin: 0; }
  .project.show {
    opacity: 1;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    transition-delay: 0s; }
    .project.show:hover .project-padding {
      -webkit-transform: translateY(-10px);
          -ms-transform: translateY(-10px);
              transform: translateY(-10px);
      box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.1); }
    .project.show:hover:after {
      top: -10px; }

.project-size {
  width: 33.3%; }

.gray2 .project:after {
  background: url("../img/corner-right2.svg"); }

.logos {
  padding: 100px 0; }
  .logos img {
    padding: 10px 40px; }
    @media screen and (max-width: 47.9375em) {
      .logos img {
        padding: 10px 20px; } }

.fullwidth-blocks .column-block {
  margin: 0;
  display: block;
  float: left;
  width: 50%;
  height: 420px;
  background-size: cover !important;
  background-position: center center !important;
  position: relative; }
  @media screen and (max-width: 47.9375em) {
    .fullwidth-blocks .column-block {
      height: 200px; } }
  .fullwidth-blocks .column-block:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    transition: 0.5s all ease-out; }
  .fullwidth-blocks .column-block .column-block-content {
    position: absolute;
    top: 50%;
    width: 100%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1);
    padding: 0 40px; }
    .fullwidth-blocks .column-block .column-block-content h2 {
      margin: 0;
      transition: 0.5s all ease-out; }
    .fullwidth-blocks .column-block .column-block-content p {
      margin: 20px 0;
      opacity: 0;
      -webkit-transform: translateY(10px);
          -ms-transform: translateY(10px);
              transform: translateY(10px);
      transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1); }
    .fullwidth-blocks .column-block .column-block-content .button {
      opacity: 0;
      -webkit-transform: translateY(10px);
          -ms-transform: translateY(10px);
              transform: translateY(10px);
      transition: 0.5s all cubic-bezier(0.7, 0, 0.3, 1); }
    .fullwidth-blocks .column-block .column-block-content.closed {
      height: 60px !important; }
  .fullwidth-blocks .column-block:hover .column-block-content .button {
    opacity: 1;
    transition: 0.5s opacity cubic-bezier(0.7, 0, 0.3, 1) 0.2s, 0.5s background cubic-bezier(0.7, 0, 0.3, 1) 0s, 0.5s -webkit-transform cubic-bezier(0.7, 0, 0.3, 1) 0.2s;
    transition: 0.5s opacity cubic-bezier(0.7, 0, 0.3, 1) 0.2s, 0.5s transform cubic-bezier(0.7, 0, 0.3, 1) 0.2s, 0.5s background cubic-bezier(0.7, 0, 0.3, 1) 0s;
    transition: 0.5s opacity cubic-bezier(0.7, 0, 0.3, 1) 0.2s, 0.5s transform cubic-bezier(0.7, 0, 0.3, 1) 0.2s, 0.5s background cubic-bezier(0.7, 0, 0.3, 1) 0s, 0.5s -webkit-transform cubic-bezier(0.7, 0, 0.3, 1) 0.2s;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
  .fullwidth-blocks .column-block:hover .column-block-content p {
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
  .fullwidth-blocks .column-block:hover:before {
    opacity: 1; }
  @media screen and (max-width: 47.9375em) {
    .fullwidth-blocks .column-block:hover .column-block-content .button,
    .fullwidth-blocks .column-block:hover .column-block-content p {
      opacity: 0; } }
  .fullwidth-blocks .column-block#debeweging h2, .fullwidth-blocks .column-block#tijdlijn h2 {
    color: #5a0e54; }
  .fullwidth-blocks .column-block#debeweging:hover h2, .fullwidth-blocks .column-block#tijdlijn:hover h2 {
    color: #ffffff; }
  .fullwidth-blocks .column-block#werkenbijsaks h2 {
    text-shadow: 0 0 60px black; }
  .fullwidth-blocks .column-block#voorouders h2 {
    text-shadow: 0 0 40px black; }
  .fullwidth-blocks .column-block.column-block-fullwidth {
    width: 100%; }

.content-image {
  position: relative;
  margin: 60px 0; }
  .content-image img.outofthebox {
    margin-left: -20%;
    max-width: 120%;
    width: 120%; }
  .content-image:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 77px 45px 0;
    border-color: transparent #f3f3f3 transparent transparent; }
    @media screen and (max-width: 47.9375em) {
      .content-image:before {
        border-width: 0 38px 22px 0; } }
  .content-image .content-title {
    position: absolute;
    width: 32%;
    right: -32%;
    bottom: 0;
    padding: 20px;
    border-bottom: 1px solid #d1d1d1;
    color: #717171; }
  @media screen and (max-width: 47.9375em) {
    .content-image {
      margin: 40px 0; }
      .content-image img.outofthebox {
        margin-left: 0;
        max-width: 100%;
        width: 100%; }
      .content-image .content-title {
        left: 0;
        width: 100%;
        right: auto;
        z-index: 2;
        position: relative; } }

blockquote {
  font-family: "Signika", Helvetica, Arial;
  font-style: italic;
  padding: 20px 30px;
  margin: 20px 0 35px;
  font-size: 24px;
  line-height: 32px;
  font-weight: bold; }
  @media screen and (max-width: 47.9375em) {
    blockquote {
      padding: 10px 20px;
      margin: 5px 0 25px;
      font-size: 18px;
      line-height: 26px; } }

.social-share img {
  margin: 6px 6px 0 0; }

.next-project {
  background: #d4154b;
  padding: 30px;
  position: absolute;
  right: 0;
  width: 340px;
  top: -50px; }
  .next-project h6 {
    color: #ffffff;
    text-transform: uppercase;
    padding: 0 30px 0 0;
    margin: 0 0 10px;
    font-size: 0.875rem;
    display: inline-block;
    background: url("../img/arrow-right.svg") right center no-repeat; }
  .next-project h5 {
    color: #ffffff; }
  @media screen and (max-width: 47.9375em) {
    .next-project {
      position: relative;
      width: 100%;
      padding: 20px;
      margin: 30px 0 0;
      top: 0; } }

.submenu {
  position: absolute;
  left: 1%;
  width: 15%; }
  @media screen and (max-width: 47.9375em) {
    .submenu {
      display: none;
      width: 100%; }
      .submenu li {
        display: inline-block; } }
  .submenu li {
    list-style: none;
    padding: 5px 0;
    position: relative;
    line-height: 1.2; }
    .submenu li a {
      color: #0a0a0a;
      font-weight: normal;
      display: inline-block; }
      .submenu li a:hover {
        color: #d4154b; }
    .submenu li.active a {
      position: relative;
      color: #d4154b;
      padding-right: 0; }
      .submenu li.active a:after {
        content: '';
        position: absolute;
        right: -20px;
        top: 6px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 4.5px 0 4.5px 9px;
        border-color: transparent transparent transparent #d4154b; }
  .submenu.fixed {
    position: fixed;
    top: 30px;
    z-index: 11; }

.button.arrow {
  padding-right: 50px;
  background: #d4154b url("../img/arrow-right.svg") right 20px center no-repeat; }

.button.line {
  margin: 0;
  float: right;
  padding-right: 50px;
  background: #d4154b url("../img/arrow-right.svg") right 20px center no-repeat; }
  .button.line:before {
    content: '';
    position: absolute;
    left: 0.9375rem;
    bottom: -1px;
    right: 0.9375rem;
    height: 1px;
    background: #c2c2c2; }

.magazine-slider {
  margin: 40px 0 0; }
  .magazine-slider .slide {
    width: 33%;
    opacity: 1;
    display: inline-block;
    vertical-align: top;
    transition: 0.3s all ease-out;
    padding: 0 20px 40px 0; }
    .magazine-slider .slide h5 {
      margin: 20px 0; }
    .magazine-slider .slide .highlights,
    .magazine-slider .slide ul {
      margin: 0 0 20px; }
      .magazine-slider .slide .highlights li,
      .magazine-slider .slide ul li {
        border-left: 1px solid #696969;
        color: #696969;
        list-style: none;
        padding: 5px 20px;
        font-weight: 200; }
    .magazine-slider .slide.bx-clone {
      display: none; }
    .magazine-slider .slide.active {
      opacity: 1; }
    .magazine-slider .slide .link {
      display: block; }
    @media screen and (max-width: 63.9375em) {
      .magazine-slider .slide {
        width: 49%; } }
    @media screen and (max-width: 47.9375em) {
      .magazine-slider .slide {
        width: 49%; } }
    @media screen and (max-width: 24.9375em) {
      .magazine-slider .slide {
        width: 49%; } }
  .magazine-slider .clear {
    display: none;
    clear: both; }

.magazine-signup {
  background: #d4154b;
  text-align: center;
  padding: 80px 0; }
  .magazine-signup h2 {
    display: block;
    color: #ffffff;
    width: 100%; }
  .magazine-signup p {
    display: block;
    color: #ffffff;
    text-align: center;
    width: 100%; }
  .magazine-signup .button {
    text-align: center;
    margin: 0 auto; }

.bx-wrapper {
  box-shadow: none;
  border: none;
  background: none; }
  .bx-wrapper .bx-viewport {
    overflow: visible !important;
    height: auto !important; }
    @media screen and (max-width: 47.9375em) {
      .bx-wrapper .bx-viewport {
        overflow: hidden; } }
  .bx-wrapper .bx-next {
    width: 26px !important;
    height: 17px !important;
    right: -70px !important;
    top: 200px !important;
    background: url("../img/arrow-right-red.svg") center center no-repeat; }
    .bx-wrapper .bx-next:focus, .bx-wrapper .bx-next:hover {
      background-position: 0 0; }
    @media screen and (max-width: 81.1875em) {
      .bx-wrapper .bx-next {
        top: 55px !important;
        right: 10px !important; } }
    @media screen and (max-width: 47.9375em) {
      .bx-wrapper .bx-next {
        top: 55px !important;
        right: auto !important;
        left: 100px !important; } }
  .bx-wrapper .bx-prev {
    width: 26px !important;
    height: 17px !important;
    left: -80px !important;
    top: 200px !important;
    background: url("../img/arrow-left-red.svg") center center no-repeat; }
    .bx-wrapper .bx-prev:focus, .bx-wrapper .bx-prev:hover {
      background-position: 0 0; }
    @media screen and (max-width: 81.1875em) {
      .bx-wrapper .bx-prev {
        top: 55px !important;
        left: 20px !important; } }
    @media screen and (max-width: 47.9375em) {
      .bx-wrapper .bx-prev {
        top: 55px !important;
        left: 0px !important; } }
  @media screen and (max-width: 81.1875em) {
    .bx-wrapper {
      padding-top: 40px; } }

.slider-block {
  background: #ffffff;
  margin: 30px 0;
  position: relative;
  overflow: hidden; }
  .slider-block .button {
    margin: 70px 0 0; }
  .slider-block .large-10:before,
  .slider-block .large-13:before {
    content: '';
    position: absolute;
    z-index: 10;
    top: -35px;
    right: 100%;
    margin-right: 25px;
    width: 300%;
    bottom: -35px;
    background: #f3f3f3; }

.content-block-image {
  margin: 40px 0 0; }
  .content-block-image .button {
    margin: -48px 0 0;
    position: relative;
    z-index: 2; }
    .content-block-image .button:before {
      display: none; }

#meer-projecten {
  position: relative;
  z-index: 20; }

.scholen img {
  width: 130px;
  height: 130px;
  margin: 20px 0; }

.scholen table {
  border: 0; }
  .scholen table tbody {
    border: 0; }
  .scholen table tr {
    background: none !important; }
    .scholen table tr td {
      background: none;
      padding: 2px 20px; }
      .scholen table tr td:first-child {
        font-weight: bold;
        border-right: 1px solid #e5e5e5;
        padding-left: 0; }

table {
  border: 0; }
  table tbody {
    border: 0; }
  table tr {
    background: none !important; }
    table tr td {
      background: none;
      padding: 10px 20px; }
      table tr td:first-child {
        font-weight: bold;
        border-right: 1px solid #e5e5e5; }

#map {
  height: 600px;
  width: 100%; }

.filter {
  position: relative;
  display: block;
  padding: 40px 0;
  background: #ffffff; }
  .filter h4 {
    display: inline-block;
    margin: 0 20px 0 0; }
    @media screen and (max-width: 47.9375em) {
      .filter h4 {
        margin: 0 0 20px; } }
  .filter .date-filter {
    display: inline-block; }
    .filter .date-filter input {
      display: inline-block;
      width: 130px;
      padding: 0 20px;
      height: 45px;
      border-radius: 50px;
      text-align: center;
      margin: 0; }
    .filter .date-filter span {
      margin: 0 5px; }
  .filter .filter-search {
    position: relative; }
    .filter .filter-search #filter-search-input {
      background: none;
      border: 0;
      height: 42px;
      padding: 0 60px 0 20px;
      color: #0a0a0a;
      font-size: 1.125rem;
      box-shadow: none;
      border-bottom: 1px solid #0a0a0a;
      font-family: "Signika", Helvetica, Arial; }
    .filter .filter-search #filter-search-submit {
      position: absolute;
      top: 7px;
      right: 20px;
      width: 19px;
      height: 19px;
      text-indent: -9999px;
      background: url("../img/icon-search-black.svg");
      background-repeat: no-repeat;
      border: 0; }
    @media screen and (max-width: 47.9375em) {
      .filter .filter-search {
        margin: 20px 0; } }

.vacature {
  background: #ffffff;
  padding: 30px;
  margin: 20px -30px 0;
  border: 1px solid #d8d8d8; }
  .vacature .button {
    background: #ffffff url("../img/arrow-right-red.svg") right center no-repeat;
    background-size: 16px;
    padding: 0 30px 0 20px;
    color: #d4154b;
    position: absolute;
    right: 0;
    bottom: 0; }
  .vacature hr {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 20px;
    margin: 0; }
  .vacature table {
    padding: 0; }
    .vacature table tr {
      background: none !important;
      border: 0 !important; }
      .vacature table tr td {
        padding: 2px 20px;
        vertical-align: top; }
        .vacature table tr td:first-child {
          font-weight: bold; }
    .vacature table tbody {
      background: none;
      border: 0 !important; }
  .vacature .row {
    width: 100%;
    margin: 0; }

.stage {
  background: #ffffff;
  padding: 30px;
  margin: 20px -30px 0;
  border: 1px solid #d8d8d8; }
  .stage .button {
    background: #ffffff url("../img/arrow-right-red.svg") right center no-repeat;
    background-size: 16px;
    padding: 0 30px 0 20px;
    color: #d4154b;
    position: absolute;
    right: 0;
    bottom: 0; }
  .stage hr {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0; }
  .stage .row {
    width: 100%;
    margin: 0; }
  .stage .relative {
    margin: 40px 0 0; }

footer {
  position: relative;
  z-index: 20;
  background: #231b22; }
  footer .social-icon {
    margin: 0 5px 0 0; }
    footer .social-icon:focus, footer .social-icon:hover {
      text-decoration: none;
      opacity: 0.8; }
  footer .sitemap {
    margin: 0 0 40px;
    list-style: none; }
    footer .sitemap li {
      margin: 0; }
  footer a:focus, footer a:hover {
    text-decoration: underline; }
  footer h4 {
    margin: 0 0 5px; }
  footer .footer-bottom {
    margin: 50px 0 0;
    opacity: 0.5; }
    footer .footer-bottom .row {
      padding: 20px 0;
      border-top: 1px solid #ffffff; }
    footer .footer-bottom .copyright,
    footer .footer-bottom .medewerkers {
      margin: 0 30px 0 0; }
      @media screen and (max-width: 47.9375em) {
        footer .footer-bottom .copyright,
        footer .footer-bottom .medewerkers {
          margin: 0; } }
    footer .footer-bottom .text-right a:first-child {
      margin: 0 30px 0 0; }
    @media screen and (max-width: 47.9375em) {
      footer .footer-bottom {
        padding: 0 20px; }
        footer .footer-bottom span {
          display: block;
          margin: 5px 0; }
        footer .footer-bottom .text-right {
          text-align: center; }
          footer .footer-bottom .text-right a {
            display: block;
            margin: 5px 0 !important !important; } }
  @media screen and (max-width: 47.9375em) {
    footer {
      text-align: center !important; } }

iframe {
  width: 100%;
  vertical-align: bottom; }

#saks-slider {
  position: relative;
  height: 520px;
  padding: 0 0 40px 0;
  transition: 0.5s all cubic-bezier(0.75, 0.04, 0.41, 0.95);
  will-change: transform, opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  @media screen and (max-width: 47.9375em) {
    #saks-slider {
      height: 340px;
      padding: 0px 0 0 0; } }
  #saks-slider .slide {
    position: absolute;
    width: 400px;
    height: 400px;
    border-radius: 5px;
    margin-left: -200px;
    box-shadow: 0 41px 51px 0 rgba(0, 0, 0, 0.12);
    transition: 1s all cubic-bezier(0.75, 0.04, 0.41, 0.95);
    will-change: transform, left, filter;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000;
    backface-visibility: hidden;
    perspective: 1000;
    background-size: cover !important; }
    @media screen and (max-width: 47.9375em) {
      #saks-slider .slide {
        width: 90%;
        margin-left: -45%;
        height: 270px; } }
    #saks-slider .slide:before {
      content: '';
      position: absolute;
      border-radius: 5px;
      width: 100%;
      height: 100%;
      background: white;
      opacity: 0;
      z-index: 3;
      transition: 1s all ease-in-out; }
    #saks-slider .slide:after {
      content: '';
      position: absolute;
      z-index: 1;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 50%;
      background: black;
      border-radius: 5px;
      background: linear-gradient(rgba(0, 0, 0, 0) 0%, black 100%); }
    #saks-slider .slide h2 {
      position: absolute;
      bottom: 0;
      padding: 30px;
      width: 100%;
      color: #ffffff;
      z-index: 2;
      text-align: center;
      line-height: 1.3;
      transition: 1s all ease-in-out; }
      @media screen and (max-width: 47.9375em) {
        #saks-slider .slide h2 {
          font-size: 1.5625rem;
          padding: 20px; } }
    #saks-slider .slide .play-button {
      position: absolute;
      width: 76px;
      height: 76px;
      top: 50%;
      left: 50%;
      transition: 1s all ease-in-out;
      -webkit-transform: translateX(-50%) translateY(-50%);
          -ms-transform: translateX(-50%) translateY(-50%);
              transform: translateX(-50%) translateY(-50%);
      border: 4px solid white;
      border-radius: 100px;
      background: rgba(0, 0, 0, 0.8);
      background: linear-gradient(to top left, rgba(0, 0, 0, 0.8) 0%, rgba(102, 40, 105, 0.8) 100%); }
      #saks-slider .slide .play-button:before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translateX(-50%) translateY(-50%);
            -ms-transform: translateX(-50%) translateY(-50%);
                transform: translateX(-50%) translateY(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 0 10px 18px;
        border-color: transparent transparent transparent #ffffff; }
      @media screen and (max-width: 47.9375em) {
        #saks-slider .slide .play-button {
          width: 48px;
          height: 48px;
          border: 2px solid white; }
          #saks-slider .slide .play-button:before {
            border-width: 8px 0 8px 12px; } }
  #saks-slider .slide-prev {
    top: 38%;
    left: 50%;
    margin-left: -226px;
    margin-top: -26px;
    display: block;
    z-index: 4;
    width: 52px;
    height: 52px;
    position: absolute;
    background: url(../img/slider-prev.svg);
    background-size: cover; }
    @media screen and (max-width: 47.9375em) {
      #saks-slider .slide-prev {
        left: 5%;
        top: 50%;
        margin-left: -26px;
        margin-top: -56px; } }
  #saks-slider .slide-next {
    top: 38%;
    left: 50%;
    margin-left: 174px;
    margin-top: -26px;
    display: block;
    z-index: 4;
    width: 52px;
    height: 52px;
    position: absolute;
    background: url(../img/slider-next.svg);
    background-size: cover; }
    @media screen and (max-width: 47.9375em) {
      #saks-slider .slide-next {
        left: 95%;
        top: 50%;
        margin-left: -26px;
        margin-top: -56px; } }
  #saks-slider.slide1-active #slide1 {
    z-index: 3;
    left: 50%;
    -webkit-transform: translateZ(0) scale(1);
            transform: translateZ(0) scale(1);
    -webkit-filter: blur(0px);
    filter: blur(0px); }
    #saks-slider.slide1-active #slide1:before {
      opacity: 0; }
    #saks-slider.slide1-active #slide1 .play-button,
    #saks-slider.slide1-active #slide1 h2 {
      opacity: 1; }
  #saks-slider.slide1-active #slide2 {
    z-index: 2;
    left: 75%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide1-active #slide2:before {
      opacity: .5; }
    #saks-slider.slide1-active #slide2 .play-button,
    #saks-slider.slide1-active #slide2 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide1-active #slide2 {
        left: 80%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide1-active #slide2 {
        left: 85%; } }
  #saks-slider.slide1-active #slide3 {
    z-index: 1;
    left: 90%;
    margin-top: 0%;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide1-active #slide3:before {
      opacity: .8; }
    #saks-slider.slide1-active #slide3 .play-button,
    #saks-slider.slide1-active #slide3 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide1-active #slide3 {
        left: 95%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide1-active #slide3 {
        left: 100%; } }
  #saks-slider.slide1-active #slide4 {
    z-index: 1;
    left: 50%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px);
    opacity: 0; }
    #saks-slider.slide1-active #slide4:before {
      opacity: .8; }
    #saks-slider.slide1-active #slide4 .play-button,
    #saks-slider.slide1-active #slide4 h2 {
      opacity: 0; }
  #saks-slider.slide1-active #slide5 {
    z-index: 1;
    left: 10%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide1-active #slide5:before {
      opacity: .8; }
    #saks-slider.slide1-active #slide5 .play-button,
    #saks-slider.slide1-active #slide5 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide1-active #slide5 {
        left: 5%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide1-active #slide5 {
        left: 0%; } }
  #saks-slider.slide1-active #slide6 {
    z-index: 2;
    left: 25%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide1-active #slide6:before {
      opacity: .5; }
    #saks-slider.slide1-active #slide6 .play-button,
    #saks-slider.slide1-active #slide6 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide1-active #slide6 {
        left: 20%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide1-active #slide6 {
        left: 15%; } }
  #saks-slider.slide2-active #slide1 {
    z-index: 2;
    left: 25%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide2-active #slide1:before {
      opacity: .5; }
    #saks-slider.slide2-active #slide1 .play-button,
    #saks-slider.slide2-active #slide1 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide2-active #slide1 {
        left: 20%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide2-active #slide1 {
        left: 15%; } }
  #saks-slider.slide2-active #slide2 {
    z-index: 3;
    left: 50%;
    -webkit-transform: translateZ(0) scale(1);
            transform: translateZ(0) scale(1);
    -webkit-filter: blur(0px);
    filter: blur(0px); }
    #saks-slider.slide2-active #slide2:before {
      opacity: 0; }
    #saks-slider.slide2-active #slide2 .play-button,
    #saks-slider.slide2-active #slide2 h2 {
      opacity: 1; }
  #saks-slider.slide2-active #slide3 {
    z-index: 2;
    left: 75%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide2-active #slide3:before {
      opacity: .5; }
    #saks-slider.slide2-active #slide3 .play-button,
    #saks-slider.slide2-active #slide3 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide2-active #slide3 {
        left: 80%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide2-active #slide3 {
        left: 85%; } }
  #saks-slider.slide2-active #slide4 {
    z-index: 1;
    left: 90%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide2-active #slide4:before {
      opacity: .8; }
    #saks-slider.slide2-active #slide4 .play-button,
    #saks-slider.slide2-active #slide4 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide2-active #slide4 {
        left: 95%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide2-active #slide4 {
        left: 100%; } }
  #saks-slider.slide2-active #slide5 {
    z-index: 1;
    left: 50%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px);
    opacity: 0; }
    #saks-slider.slide2-active #slide5:before {
      opacity: .8; }
    #saks-slider.slide2-active #slide5 .play-button,
    #saks-slider.slide2-active #slide5 h2 {
      opacity: 0; }
  #saks-slider.slide2-active #slide6 {
    z-index: 1;
    left: 10%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide2-active #slide6:before {
      opacity: .8; }
    #saks-slider.slide2-active #slide6 .play-button,
    #saks-slider.slide2-active #slide6 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide2-active #slide6 {
        left: 5%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide2-active #slide6 {
        left: 0%; } }
  #saks-slider.slide3-active #slide1 {
    z-index: 1;
    left: 10%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide3-active #slide1:before {
      opacity: .8; }
    #saks-slider.slide3-active #slide1 .play-button,
    #saks-slider.slide3-active #slide1 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide3-active #slide1 {
        left: 5%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide3-active #slide1 {
        left: 0%; } }
  #saks-slider.slide3-active #slide2 {
    z-index: 2;
    left: 25%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide3-active #slide2:before {
      opacity: .5; }
    #saks-slider.slide3-active #slide2 .play-button,
    #saks-slider.slide3-active #slide2 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide3-active #slide2 {
        left: 20%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide3-active #slide2 {
        left: 15%; } }
  #saks-slider.slide3-active #slide3 {
    z-index: 3;
    left: 50%;
    -webkit-transform: translateZ(0) scale(1);
            transform: translateZ(0) scale(1);
    -webkit-filter: blur(0px);
    filter: blur(0px); }
    #saks-slider.slide3-active #slide3:before {
      opacity: 0; }
    #saks-slider.slide3-active #slide3 .play-button,
    #saks-slider.slide3-active #slide3 h2 {
      opacity: 1; }
  #saks-slider.slide3-active #slide4 {
    z-index: 2;
    left: 75%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide3-active #slide4:before {
      opacity: .5; }
    #saks-slider.slide3-active #slide4 .play-button,
    #saks-slider.slide3-active #slide4 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide3-active #slide4 {
        left: 80%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide3-active #slide4 {
        left: 85%; } }
  #saks-slider.slide3-active #slide5 {
    z-index: 1;
    left: 90%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide3-active #slide5:before {
      opacity: .8; }
    #saks-slider.slide3-active #slide5 .play-button,
    #saks-slider.slide3-active #slide5 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide3-active #slide5 {
        left: 95%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide3-active #slide5 {
        left: 100%; } }
  #saks-slider.slide3-active #slide6 {
    z-index: 1;
    left: 50%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px);
    opacity: 0; }
    #saks-slider.slide3-active #slide6:before {
      opacity: .8; }
    #saks-slider.slide3-active #slide6 .play-button,
    #saks-slider.slide3-active #slide6 h2 {
      opacity: 0; }
  #saks-slider.slide4-active #slide1 {
    z-index: 1;
    left: 50%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px);
    opacity: 0; }
    #saks-slider.slide4-active #slide1:before {
      opacity: .8; }
    #saks-slider.slide4-active #slide1 .play-button,
    #saks-slider.slide4-active #slide1 h2 {
      opacity: 0; }
  #saks-slider.slide4-active #slide2 {
    z-index: 1;
    left: 10%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide4-active #slide2:before {
      opacity: .8; }
    #saks-slider.slide4-active #slide2 .play-button,
    #saks-slider.slide4-active #slide2 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide4-active #slide2 {
        left: 5%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide4-active #slide2 {
        left: 0%; } }
  #saks-slider.slide4-active #slide3 {
    z-index: 2;
    left: 25%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide4-active #slide3:before {
      opacity: .5; }
    #saks-slider.slide4-active #slide3 .play-button,
    #saks-slider.slide4-active #slide3 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide4-active #slide3 {
        left: 20%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide4-active #slide3 {
        left: 15%; } }
  #saks-slider.slide4-active #slide4 {
    z-index: 3;
    left: 50%;
    -webkit-transform: translateZ(0) scale(1);
            transform: translateZ(0) scale(1);
    -webkit-filter: blur(0px);
    filter: blur(0px); }
    #saks-slider.slide4-active #slide4:before {
      opacity: 0; }
    #saks-slider.slide4-active #slide4 .play-button,
    #saks-slider.slide4-active #slide4 h2 {
      opacity: 1; }
  #saks-slider.slide4-active #slide5 {
    z-index: 2;
    left: 75%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide4-active #slide5:before {
      opacity: .5; }
    #saks-slider.slide4-active #slide5 .play-button,
    #saks-slider.slide4-active #slide5 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide4-active #slide5 {
        left: 80%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide4-active #slide5 {
        left: 85%; } }
  #saks-slider.slide4-active #slide6 {
    z-index: 1;
    left: 90%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide4-active #slide6:before {
      opacity: .8; }
    #saks-slider.slide4-active #slide6 .play-button,
    #saks-slider.slide4-active #slide6 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide4-active #slide6 {
        left: 95%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide4-active #slide6 {
        left: 100%; } }
  #saks-slider.slide5-active #slide1 {
    z-index: 1;
    left: 90%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide5-active #slide1:before {
      opacity: .8; }
    #saks-slider.slide5-active #slide1 .play-button,
    #saks-slider.slide5-active #slide1 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide5-active #slide1 {
        left: 95%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide5-active #slide1 {
        left: 100%; } }
  #saks-slider.slide5-active #slide2 {
    z-index: 1;
    left: 50%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px);
    opacity: 0; }
    #saks-slider.slide5-active #slide2:before {
      opacity: .8; }
    #saks-slider.slide5-active #slide2 .play-button,
    #saks-slider.slide5-active #slide2 h2 {
      opacity: 0; }
  #saks-slider.slide5-active #slide3 {
    z-index: 1;
    left: 10%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide5-active #slide3:before {
      opacity: .8; }
    #saks-slider.slide5-active #slide3 .play-button,
    #saks-slider.slide5-active #slide3 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide5-active #slide3 {
        left: 5%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide5-active #slide3 {
        left: 0%; } }
  #saks-slider.slide5-active #slide4 {
    z-index: 2;
    left: 25%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide5-active #slide4:before {
      opacity: .5; }
    #saks-slider.slide5-active #slide4 .play-button,
    #saks-slider.slide5-active #slide4 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide5-active #slide4 {
        left: 20%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide5-active #slide4 {
        left: 15%; } }
  #saks-slider.slide5-active #slide5 {
    z-index: 3;
    left: 50%;
    -webkit-transform: translateZ(0) scale(1);
            transform: translateZ(0) scale(1);
    -webkit-filter: blur(0px);
    filter: blur(0px); }
    #saks-slider.slide5-active #slide5:before {
      opacity: 0; }
    #saks-slider.slide5-active #slide5 .play-button,
    #saks-slider.slide5-active #slide5 h2 {
      opacity: 1; }
  #saks-slider.slide5-active #slide6 {
    z-index: 2;
    left: 75%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide5-active #slide6:before {
      opacity: .5; }
    #saks-slider.slide5-active #slide6 .play-button,
    #saks-slider.slide5-active #slide6 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide5-active #slide6 {
        left: 80%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide5-active #slide6 {
        left: 85%; } }
  #saks-slider.slide6-active #slide1 {
    z-index: 2;
    left: 75%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide6-active #slide1:before {
      opacity: .5; }
    #saks-slider.slide6-active #slide1 .play-button,
    #saks-slider.slide6-active #slide1 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide6-active #slide1 {
        left: 80%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide6-active #slide1 {
        left: 85%; } }
  #saks-slider.slide6-active #slide2 {
    z-index: 1;
    left: 90%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide6-active #slide2:before {
      opacity: .8; }
    #saks-slider.slide6-active #slide2 .play-button,
    #saks-slider.slide6-active #slide2 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide6-active #slide2 {
        left: 95%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide6-active #slide2 {
        left: 100%; } }
  #saks-slider.slide6-active #slide3 {
    z-index: 1;
    left: 50%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px);
    opacity: 0; }
    #saks-slider.slide6-active #slide3:before {
      opacity: .8; }
    #saks-slider.slide6-active #slide3 .play-button,
    #saks-slider.slide6-active #slide3 h2 {
      opacity: 0; }
  #saks-slider.slide6-active #slide4 {
    z-index: 1;
    left: 10%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.6);
            transform: translateZ(0) scale(0.6);
    -webkit-filter: blur(4px);
    filter: blur(4px); }
    #saks-slider.slide6-active #slide4:before {
      opacity: .8; }
    #saks-slider.slide6-active #slide4 .play-button,
    #saks-slider.slide6-active #slide4 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide6-active #slide4 {
        left: 5%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide6-active #slide4 {
        left: 0%; } }
  #saks-slider.slide6-active #slide5 {
    z-index: 2;
    left: 25%;
    margin-top: 0;
    -webkit-transform: translateZ(0) scale(0.8);
            transform: translateZ(0) scale(0.8);
    -webkit-filter: blur(1.5px);
    filter: blur(1.5px); }
    #saks-slider.slide6-active #slide5:before {
      opacity: .5; }
    #saks-slider.slide6-active #slide5 .play-button,
    #saks-slider.slide6-active #slide5 h2 {
      opacity: 0; }
    @media screen and (max-width: 81.1875em) {
      #saks-slider.slide6-active #slide5 {
        left: 20%; } }
    @media screen and (max-width: 63.9375em) {
      #saks-slider.slide6-active #slide5 {
        left: 15%; } }
  #saks-slider.slide6-active #slide6 {
    z-index: 3;
    left: 50%;
    -webkit-transform: translateZ(0) scale(1);
            transform: translateZ(0) scale(1);
    -webkit-filter: blur(0px);
    filter: blur(0px); }
    #saks-slider.slide6-active #slide6:before {
      opacity: 0; }
    #saks-slider.slide6-active #slide6 .play-button,
    #saks-slider.slide6-active #slide6 h2 {
      opacity: 1; }

.videos {
  margin: 40px 0 -70px 0; }

.grecaptcha-badge {
  visibility: hidden; }

.ie-kaart {
  cursor: pointer; }

#animatie {
  overflow: visible; }
  #animatie span {
    position: relative;
    display: inline; }
    #animatie span svg {
      position: absolute;
      left: 0;
      top: -36%;
      -webkit-transform: scale(1.6) !important;
          -ms-transform: scale(1.6) !important;
              transform: scale(1.6) !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiY29tcG9uZW50cy9fdmlld3BvcnQuc2NzcyIsImNvbXBvbmVudHMvZGF0ZXBpY2tlci5zY3NzIiwiY29tcG9uZW50cy9yZWRhY3Rvci5zY3NzIiwiY29tcG9uZW50cy9faW5mb2dyYXBoaWMuc2NzcyIsImNvbXBvbmVudHMvX2Nzcy10b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiYXBwLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDK1NqQjtFQUNFLHVCQUFzQjtFQUN0QixrQkFBaUIsRUFlbEI7RUFqQkQ7SUFLSSwwQkFwT1c7SUFxT1gsaUJBQWdCLEVBVWpCO0lBaEJIO01BU00sc0JBQXFCO01BQ3JCLGVBQWMsRUFLZjtNQWZMO1FBYVEsZUE1T08sRUE2T1I7O0FDN1RQOzs7OztHQUtHO0FDOEpHO0VDdkhKO0lBQ0UsWUFBVztJQUNYLFdBQVU7SUFDVixlQUFjLEVBQ2YsRUFBQTs7QUNoREg7O0dBRUc7QUNGSDtFQUNFLGVBQWMsRUFBRzs7QUFDakI7RUFDRSxlQUFjLEVBQUc7O0FBQ25CO0VBQ0UsZUFBYyxFQUFHOztBQUNuQjtFQUNFLFlBQVc7RUFDWCxvQkFBbUIsRUFBRzs7QUFDdEI7RUFDRSxvQkFBbUIsRUFBRzs7QUFDMUI7RUFDRSwwQ0FBeUM7RUFDekMsZUFBYyxFQUFHOztBQUNqQjtFQUNFLDBDQUF5QyxFQUFHOztBQUNoRDtFQUNFLGlCQUFnQjtFQUNoQixhQUFZLEVBQUc7O0FBRW5COzt1REFFdUQ7QUFDdkQ7RUFDRSxzQkFBcUI7RUFDckIscUJBQW9CO0VBQ3BCLGNBQWE7RUFDYix3QkFBdUI7RUFDbkIsb0JBQW1CO0VBQ2YsZ0JBQWUsRUFBRzs7QUFFNUI7RUFDRSxtQkFBa0I7RUFDbEIsdUJBQXNCO0VB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Z0JBQWU7SUFDZixlQUFjLEVBQ2Y7O0FBSUg7RUF0REEsc0JBeERjO01Bd0RkLGtCQXhEYztVQXdEZCxjQXhEYztFR3JDWix3QkFGcUM7RUFHckMsdUJBSHFDO0VIb0VyQyxhQUFZLEVBbUZiO0VaUkc7SVlNSjtNR25KRSx5QkFGcUM7TUFHckMsd0JBSHFDLEVIdUp0QyxFQUFBOztBQUlEO0VBQ0UsWUFBVztFQUNYLGVBQWMsRUFDZjs7QUFHRDtFQUNFLGdCQUFlO0VBQ2YsZUFBYztFQUNkLGlCQUFnQjtFQUNoQixnQkFBZSxFQUNoQjs7QUFLRztFQUNFLHdCSW5LK0M7TUptSy9DLG9CSW5LK0M7VUptSy9DLGdCSW5LK0M7RUpvSy9DLGlCSXBLK0MsRUpxS2hEOztBQUtEO0VLN0pKLGdCRGhCZ0MsRUorSzNCOztBQVZEO0VBQ0Usd0JJbksrQztNSm1LL0Msb0JJbksrQztVSm1LL0MsZ0JJbksrQztFSm9LL0MsaUJJcEsrQyxFSnFLaEQ7O0FBS0Q7RUs3SkosbUJEYnFELEVKNEtoRDs7QUFWRDtFQUNFLHlCSW5LK0M7TUptSy9DLHFCSW5LK0M7VUptSy9DLGlCSW5LK0M7RUpvSy9DLGtCSXBLK0MsRUpxS2hEOztBQUtEO0VLN0pKLG1CRGJxRCxFSjRLaEQ7O0FBVkQ7RUFDRSxzQkluSytDO01KbUsvQyxrQkluSytDO1VKbUsvQyxjSW5LK0M7RUpvSy9DLGVJcEsrQyxFSnFLaEQ7O0FBS0Q7RUs3Skosb0JEYnFELEVKNEtoRDs7QUFWRDtFQUNFLHlCSW5LK0M7TUptSy9DLHFCSW5LK0M7VUptSy9DLGlCSW5LK0M7RUpvSy9DLGtCSXBLK0MsRUpxS2hEOztBQUtEO0VLN0pKLGlCRGJxRCxFSjRLaEQ7O0FBVkQ7RUFDRSx3QkluSytDO01KbUsvQyxvQkluSytDO1VKbUsvQyxnQkluSytDO0VKb0svQyxpQklwSytDLEVKcUtoRDs7QUFLRDtFSzdKSixvQkRicUQsRUo0S2hEOztBQVZEO0VBQ0UseUJJbksrQztNSm1LL0MscUJJbksrQztVSm1LL0MsaUJJbksrQztFSm9LL0Msa0JJcEsrQyxFSnFLaEQ7O0FBS0Q7RUs3SkosbUJEYnFELEVKNEtoRDs7QUFWRDtFQUNFLHNCSW5LK0M7TUptSy9DLGtCSW5LK0M7VUptSy9DLGNJbksrQztFSm9LL0MsZUlwSytDLEVKcUtoRDs7QUFLRDtFSzdKSixvQkRicUQsRUo0S2hEOztBQVZEO0VBQ0UseUJJbksrQztNSm1LL0MscUJJbksrQztVSm1LL0MsaUJJbksrQztFSm9LL0Msa0JJcEsrQyxFSnFLaEQ7O0FBS0Q7RUs3SkosaUJEYnFELEVKNEtoRDs7QUFWRDtFQUNFLHdCSW5LK0M7TUptSy9DLG9CSW5LK0M7VUptSy9DLGdCSW5LK0M7RUpvSy9DLGlCSXBLK0MsRUpxS2hEOztBQUtEO0VLN0pKLG9CRGJxRCxFSjRLaEQ7O0FBVkQ7RUFDRSx5QkluSytDO01KbUsvQyxxQkluSytDO1VKbUsvQyxpQkluSytDO0VKb0svQyxrQklwSytDLEVKcUtoRDs7QUFLRDtFSzdKSixtQkRicUQsRUo0S2hEOztBQVZEO0VBQ0Usc0JJbksrQztNSm1LL0Msa0JJbksrQztVSm1LL0MsY0luSytDO0VKb0svQyxlSXBLK0MsRUpxS2hEOztBQUtEO0VLN0pKLG9CRGJxRCxFSjRLaEQ7O0FBVkQ7RUFDRSx5QkluSytDO01KbUsvQyxxQkluSytDO1VKbUsvQyxpQkluSytDO0VKb0svQyxrQklwSytDLEVKcUtoRDs7QUFLRDtFSzdKSixpQkRicUQsRUo0S2hEOztBQVZEO0VBQ0Usd0JJbksrQztNSm1LL0Msb0JJbksrQztVSm1LL0MsZ0JJbksrQztFSm9LL0MsaUJJcEsrQyxFSnFLaEQ7O0FBS0Q7RUs3Skosb0JEYnFELEVKNEtoRDs7QUFWRDtFQUNFLHlCSW5LK0M7TUptSy9DLHFCSW5LK0M7VUptSy9DLGlCSW5LK0M7RUpvSy9DLGtCSXBLK0MsRUpxS2hEOztBQUtEO0VLN0pKLG1CRGJxRCxFSjRLaEQ7O0FBVkQ7RUFDRSx1QkluSytDO01KbUsvQyxtQkluSytDO1VKbUsvQyxlSW5LK0M7RUpvSy9DLGdCSXBLK0MsRUpxS2hEOztBQUtEO0VLN0pKLG9CRGJxRCxFSjRLaEQ7O0FBS0Q7RUExR0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBNEdWO0VBMUdMO0lBR0UsdUJBRnNCO1FBRXRCLG1CQUZzQjtZQUV0QixlQUZzQjtJQUd0QixnQkFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFQTFHTDtJQUdFLHNCQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFQTFHTDtJQUdFLDRCQUZzQjtRQUV0Qix3QkFGc0I7WUFFdEIsb0JBRnNCO0lBR3RCLHFCQUhzQixFQUl2Qjs7QUFtR0c7RUExR0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBNEdWO0VBMUdMO0lBR0Usc0JBRnNCO1FBRXRCLGtCQUZzQjtZQUV0QixjQUZzQjtJQUd0QixlQUhzQixFQUl2Qjs7QUFtR0c7RUExR0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBNEdWO0VBMUdMO0lBR0Usc0JBRnNCO1FBRXRCLGtCQUZzQjtZQUV0QixjQUZzQjtJQUd0QixlQUhzQixFQUl2Qjs7QUFtR0c7RUExR0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBNEdWO0VBMUdMO0lBR0UsNEJBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQW1HRztFQTFHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0R1Y7RUExR0w7SUFHRSw0QkFGc0I7UUFFdEIsd0JBRnNCO1lBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFQTFHTDtJQUdFLHdCQUZzQjtRQUV0QixvQkFGc0I7WUFFdEIsZ0JBRnNCO0lBR3RCLGlCQUhzQixFQUl2Qjs7QUErSEM7RUdwTkEsaUJEdUVTO0VDdEVULGdCRHNFUyxFRjhJbUM7O0FBRzVDO0VHeE5BLHdCQUZxQztFQUdyQyx1QkFIcUMsRUgyTmdCOztBWjVFbkQ7RVk0QkE7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLGdCRGhCZ0MsRUorSzNCO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG1CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3Skosb0JEYnFELEVKNEtoRDtFQVZEO0lBQ0UseUJJbksrQztRSm1LL0MscUJJbksrQztZSm1LL0MsaUJJbksrQztJSm9LL0Msa0JJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3Skosb0JEYnFELEVKNEtoRDtFQVZEO0lBQ0UseUJJbksrQztRSm1LL0MscUJJbksrQztZSm1LL0MsaUJJbksrQztJSm9LL0Msa0JJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3Skosb0JEYnFELEVKNEtoRDtFQVZEO0lBQ0UseUJJbksrQztRSm1LL0MscUJJbksrQztZSm1LL0MsaUJJbksrQztJSm9LL0Msa0JJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0UsdUJJbksrQztRSm1LL0MsbUJJbksrQztZSm1LL0MsZUluSytDO0lKb0svQyxnQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRLaEQ7RUFLRDtJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSx1QkFGc0I7VUFFdEIsbUJBRnNCO2NBRXRCLGVBRnNCO01BR3RCLGdCQUhzQixFQUl2QjtFQW1HRztJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSxzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQW1HRztJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSxzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFtR0c7SUExR0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBNEdWO0lBMUdMO01BR0UsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQW1HRztJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSx3QkFGc0I7VUFFdEIsb0JBRnNCO2NBRXRCLGdCQUZzQjtNQUd0QixpQkFIc0IsRUFJdkIsRUFBQTs7QVp3REc7RVltREU7SUFDRSxzQkE1Sk07UUE0Sk4sa0JBNUpNO1lBNEpOLGNBNUpNLEVBNkpQLEVBQUE7O0FBS0Q7RUFFSSx1QkFBMkI7TUFBM0IsbUJBQTJCO1VBQTNCLGVBQTJCLEVBSzVCO0VaakVMO0lZMERFO01BS00sc0JBdktFO1VBdUtGLGtCQXZLRTtjQXVLRixjQXZLRSxFQXlLTCxFQUFBOztBWmpFTDtFWXVFRjtJR3BOQSxpQkR1RVM7SUN0RVQsZ0JEc0VTLEVGOEltQztFQUc1QztJR3hOQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVIMk5nQixFQUFBOztBWjVFbkQ7RVk0QkE7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLGdCRGhCZ0MsRUorSzNCO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG1CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3Skosb0JEYnFELEVKNEtoRDtFQVZEO0lBQ0UseUJJbksrQztRSm1LL0MscUJJbksrQztZSm1LL0MsaUJJbksrQztJSm9LL0Msa0JJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3Skosb0JEYnFELEVKNEtoRDtFQVZEO0lBQ0UseUJJbksrQztRSm1LL0MscUJJbksrQztZSm1LL0MsaUJJbksrQztJSm9LL0Msa0JJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3Skosb0JEYnFELEVKNEtoRDtFQVZEO0lBQ0UseUJJbksrQztRSm1LL0MscUJJbksrQztZSm1LL0MsaUJJbksrQztJSm9LL0Msa0JJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0UsdUJJbksrQztRSm1LL0MsbUJJbksrQztZSm1LL0MsZUluSytDO0lKb0svQyxnQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRLaEQ7RUFLRDtJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSx1QkFGc0I7VUFFdEIsbUJBRnNCO2NBRXRCLGVBRnNCO01BR3RCLGdCQUhzQixFQUl2QjtFQW1HRztJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSxzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQW1HRztJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSxzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFtR0c7SUExR0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBNEdWO0lBMUdMO01BR0UsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQW1HRztJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSx3QkFGc0I7VUFFdEIsb0JBRnNCO2NBRXRCLGdCQUZzQjtNQUd0QixpQkFIc0IsRUFJdkIsRUFBQTs7QVp3REc7RVltREU7SUFDRSxzQkE1Sk07UUE0Sk4sa0JBNUpNO1lBNEpOLGNBNUpNLEVBNkpQLEVBQUE7O0FBS0Q7RUFFSSx1QkFBMkI7TUFBM0IsbUJBQTJCO1VBQTNCLGVBQTJCLEVBSzVCO0VaakVMO0lZMERFO01BS00sc0JBdktFO1VBdUtGLGtCQXZLRTtjQXVLRixjQXZLRSxFQXlLTCxFQUFBOztBWmpFTDtFWXVFRjtJR3BOQSxpQkR1RVM7SUN0RVQsZ0JEc0VTLEVGOEltQztFQUc1QztJR3hOQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVIMk5nQixFQUFBOztBWnZFbkQ7RVl1QkE7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLGdCRGhCZ0MsRUorSzNCO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG1CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3Skosb0JEYnFELEVKNEtoRDtFQVZEO0lBQ0UseUJJbksrQztRSm1LL0MscUJJbksrQztZSm1LL0MsaUJJbksrQztJSm9LL0Msa0JJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3Skosb0JEYnFELEVKNEtoRDtFQVZEO0lBQ0UseUJJbksrQztRSm1LL0MscUJJbksrQztZSm1LL0MsaUJJbksrQztJSm9LL0Msa0JJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRL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SzNCO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG1CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3Skosb0JEYnFELEVKNEtoRDtFQVZEO0lBQ0UseUJJbksrQztRSm1LL0MscUJJbksrQztZSm1LL0MsaUJJbksrQztJSm9LL0Msa0JJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5LK0M7SUpvSy9DLGtCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosbUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3Skosb0JEYnFELEVKNEtoRDtFQVZEO0lBQ0UseUJJbksrQztRSm1LL0MscUJJbksrQztZSm1LL0MsaUJJbksrQztJSm9LL0Msa0JJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSx3QkluSytDO1FKbUsvQyxvQkluSytDO1lKbUsvQyxnQkluSytDO0lKb0svQyxpQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLG9CRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHlCSW5LK0M7UUptSy9DLHFCSW5LK0M7WUptSy9DLGlCSW5L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Z0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQWRIO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRyxFQUFBO0VsQjhDQztJa0I1REo7TUd6QkUsWUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsWUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsaUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HLEVBQUE7RWxCbURDO0lrQmpFSjtNR3pCRSxZQUFtQixFSDJCcEI7SUFFRDtNR3pCRSxZQUFtQixFSDJCcEI7SUFNQztNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLDRCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLDRCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLDRCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0csRUFBQTtFbEJtREM7SWtCakVKO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRyxFQUFBOztBQThDSDtFQ25JTSx3QkFBNEI7RUFBNUIsdUJBQTRCLEVEd0kvQjtFbEJMQztJa0JBSjtNQ25JTSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEd0kvQixFQUFBOztBQUlEO0VDNUlJLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUQ4SS9CO0VsQlhDO0lrQlNGO01DNUlJLHlCQUE0QjtNQUE1Qix3QkFBNEIsRUQ4SS9CLEVBQUE7O0FBWEg7RUNuSU0sd0JBQTRCO0VBQTVCLHVCQUE0QixFRG1KL0I7RWxCaEJDO0lrQkFKO01DbklNLHlCQUE0QjtNQUE1Qix3QkFBNEIsRURtSi9CLEVBQUE7O0FJdEpIO0VEeURFLFlBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxXQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsaUJBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxXQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsV0FEb0QsRUN0RHJEOztBQUZEO0VEeURFLGlCQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsaUJBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxhQURvRCxFQ3REckQ7O0F0Qm9JRztFc0J0SUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0F0Qm9JRztFc0J0SUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0F0QnlJRztFc0IzSUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0F0QnlJRztFc0IzSUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0FBRkQ7RUR5REUsNEJBRGdILEVDdERqSDs7QUFGRDtFRHlERSwyQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGlDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsMkJBRGdILEVDdERqSDs7QUFGRDtFRHlERSwyQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGlDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsaUNBRGdILEVDdERqSDs7QUFGRDtFRHlERSw2QkFEZ0gsRUN0RGpIOztBdEJvSUc7RXNCdElKO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLGlDQURnSCxFQ3REakg7RUFGRDtJRHlERSw2QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakgsRUFBQTs7QXRCb0lHO0VzQnRJSjtJRHlERSw2QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSCxFQUFBOztBdEJ5SUc7RXNCM0lKO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpILEVBQUE7O0F0QnlJRztFc0IzSUo7SUR5REUsNkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakgsRUFBQTs7QUpnTUc7RUt2TUUsZ0JBQTBCO0VBQTFCLGVBQTBCLEVMeU0zQjtFS3RNRDtJQUVJLGdCQUEwQjtJQUExQixlQUEwQixFQUU3QjtFQW9CSztJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQztFdkI4R1A7SXVCaEhNO01GbUNSLGdCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7RXZCOEdQO0l1QmhITTtNRm1DUixnQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFlBRG9ELEVFaEMzQyxFQUFBO0V2Qm1IUDtJdUJySE07TUZtQ1IsZ0JBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFdkJtSFA7SXVCckhNO01GbUNSLGdCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FMZ0xQO0VLdEtFLGdCQUEwQjtFQUExQixlQUEwQixFTHdLM0I7RUtyS0Q7SUFFSSxpQkFBNEI7SUFBNUIsZ0JBQTRCLEVBRS9COztBdkI2RkQ7RWtCNERBO0lLdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTHlNM0I7SUt0TUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QXZCb0lEO0V1QnpITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBdkJ1SFA7RXVCaEhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0F2QjhHUDtFdUJoSE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QXZCbUhQO0V1QnJITTtJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBdkJtSFA7RXVCckhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0F2QjhHUDtFa0JrRUE7SUt0S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMd0szQjtJS3JLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QXZCNkZEO0VrQjREQTtJS3ZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx5TTNCO0lLdE1EO01BRUksZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0F2Qm9JRDtFdUJ6SE07SUY0Q1IsZ0JBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QXZCdUhQO0V1QnpITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBdkJ1SFA7RXVCaEhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0F2Qm1IUDtFdUJySE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QXZCbUhQO0V1QnJITTtJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBdkI4R1A7RWtCa0VBO0lLdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTHdLM0I7SUtyS0Q7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0F2QmtHRDtFa0J1REE7SUt2TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMeU0zQjtJS3RNRDtNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBdkJ5SUQ7RXVCOUhNO0lGNENSLGdCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0F2QjRIUDtFdUI5SE07SUY0Q1IsZ0JBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QXZCNEhQO0V1QjlITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBdkI0SFA7RXVCckhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0F2Qm1IUDtFdUJySE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QXZCbUhQO0VrQjZEQTtJS3RLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx3SzNCO0lLcktEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBdkJrR0Q7RWtCdURBO0lLdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTHlNM0I7SUt0TUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QXZCeUlEO0V1QjlITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBdkI0SFA7RXVCOUhNO0lGNENSLGdCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0F2QjRIUDtFdUI5SE07SUY0Q1IsZ0JBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QXZCNEhQO0V1QjlITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBdkI0SFA7RXVCckhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0F2Qm1IUDtFa0I2REE7SUt0S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMd0szQjtJS3JLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QVhpSUQ7RVk5S0YsZ0JBQTZCLEVONE4xQjs7QUFFRDtFTTlORixpQ0FBNkIsRU5nTzFCOztBTmxERDtFWTlLRixzQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLHVDQUE2QixFTmdPMUI7O0FObEREO0VZOUtGLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QU5sREQ7RVk5S0YsaUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORixrQ0FBNkIsRU5nTzFCOztBTmxERDtFWTlLRix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLHdDQUE2QixFTmdPMUI7O0FObEREO0VZOUtGLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QU5sREQ7RVk5S0YsaUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORixrQ0FBNkIsRU5nTzFCOztBTmxERDtFWTlLRix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLHdDQUE2QixFTmdPMUI7O0FObEREO0VZOUtGLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QU5sREQ7RVk5S0YsaUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORixrQ0FBNkIsRU5nTzFCOztBTmxERDtFWTlLRix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLHdDQUE2QixFTmdPMUI7O0FObEREO0VZOUtGLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QWxCdEZEO0VZb0NBO0lZOUtGLGdCQUE2QixFTjROMUI7RUFFRDtJTTlORixrQ0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHNCQUE2QixFTjROMUI7RUFFRDtJTTlORix3Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCLEVBQUE7O0FsQnRGRDtFWW9DQTtJWTlLRixnQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsa0NBQTZCLEVOZ08xQjtFTmxERDtJWTlLRixzQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsd0NBQTZCLEVOZ08xQjtFTmxERDtJWTlLRix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFTmxERDtJWTlLRixpQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsbUNBQTZCLEVOZ08xQjtFTmxERDtJWTlLRix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFTmxERDtJWTlLRix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFTmxERDtJWTlLRixpQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsbUNBQTZCLEVOZ08xQjtFTmxERDtJWTlLRix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFTmxERDtJWTlLRix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFTmxERDtJWTlLRixpQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsbUNBQTZCLEVOZ08xQjtFTmxERDtJWTlLRix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFTmxERDtJWTlLRix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQixFQUFBOztBbEJqRkQ7RVkrQkE7SVk5S0YsZ0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLGtDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0Ysc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUIsRUFBQTs7QWxCakZEO0VZK0JBO0lZOUtGLGdCQUE2QixFTjROMUI7RUFFRDtJTTlORixrQ0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHNCQUE2QixFTjROMUI7RUFFRDtJTTlORix3Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VObEREO0lZOUtGLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCLEVBQUE7O0FBekpTO0VFaEVkLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsaUNBSDZCO01BRzdCLDZCQUg2QjtVQUc3Qix5QkFINkIsRUYrUjVCO0VBcEREO0lHdE1BLFlBQW1CLEVINE1oQjtFQU5IO0lHM0xFLGFBQW1CLEVIcU1sQjtFQVZIO0lHdkxFLGFBQW1CLEVIcU1sQjtFQWRIO0lBMkJNLHlCQUFnQjtRQUFoQiw4QkFBZ0I7WUFBaEIsaUJBQWdCLEVBQ2pCO0VsQmxJRDtJa0JzR0o7TUEyQk0seUJBQWdCO1VBQWhCLDhCQUFnQjtjQUFoQixpQkFBZ0IsRUFDakIsRUFBQTtF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RkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLGtDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSw0QkFEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLGtDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSw2QkFEZ0gsRUhnQy9HO0VsQjhDQztJa0I1REo7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HO0lBZEg7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7RWxCOENDO0lrQjVESjtNR3pCRSxhQUFtQixFSDJCcEI7SUFFRDtNR3pCRSxhQUFtQixFSDJCcEI7SUFNQztNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0csRUFBQTtFbEJtREM7SWtCakVKO01HekJFLGFBQW1CLEVIMkJwQjtJQUVEO01HekJFLGFBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRyxFQUFBO0VsQm1EQztJa0JqRUo7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEs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a0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDRCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDRCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDRCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDZCQURnSCxFSGdDL0c7RWxCOENDO0lrQjVESjtNR3pCRSxhQUFtQixFSDJCcEI7SUFFRDtNR3pCRSxhQUFtQixFSDJCcEI7SUFNQztNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0c7SUFkSDtNR3pCRSxhQUFtQixFSDJCcEI7SUFFRDtNR3pCRSxhQUFtQixFSDJCcEI7SUFNQztNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0csRUFBQTtFbEI4Q0M7SWtCNURKO01HekJFLGFBQW1CLEVIMkJwQjtJQUVEO01HekJFLGFBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRyxFQUFBO0VsQm1EQztJa0JqRUo7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7RWxCbURDO0lrQmpFSjtNR3pCRSxhQUFtQixFSDJCcEI7SUFFRDtNR3pCRSxhQUFtQixFSDJCcEI7SUFNQztNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0csRUFBQTs7QUF5U0Q7RU8zWEksOEJBQW1DLEVQNlh0QztFbEI3UEM7SWtCMlBGO01PM1hJLCtCQUFtQyxFUDZYdEMsRUFBQTtFbEI3UEM7SWtCMlBGO01PM1hJLCtCQUFtQyxFUDZYdEMsRUFBQTtFbEJ4UEM7SWtCc1BGO01PM1hJLCtCQUFtQyxFUDZYdEMsRUFBQTtFbEJ4UEM7SWtCc1BGO01PM1hJLCtCQUFtQyxFUDZYdEMsRUFBQTs7QWxCN1BDO0VrQitQQTtJTy9YRSwrQkFBbUMsRVBpWXBDLEVBQUE7O0FsQmpRRDtFa0IrUEE7SU8vWEUsK0JBQW1DLEVQaVlwQyxFQUFBOztBbEI1UEQ7RWtCMFBBO0lPL1hFLCtCQUFtQyxFUGlZcEMsRUFBQTs7QWxCNVBEO0VrQjBQQTtJTy9YRSwrQkFBbUMsRVBpWXBDLEVBQUE7O0FRcktMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxvQjVCdEgwQjtFNEJ3SDFCLG1CQUFrQjtFQUNsQixpQjVCMUhzQjtFNEIySHRCLG1DNUJ6SHlDLEU0QjBIMUM7O0FBR0Q7O0VBRUUsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFHRDs7RUFFRSxrQjVCbk1xQjtFNEJvTXJCLHFCQUFvQixFQUNyQjs7QW5CZ0RDO0VtQjVDQSxlNUJoSmlCO0U0QmlKakIscUJBQW9CLEVBQ3JCOztBQUdEOzs7Ozs7RUFNRSx5QzVCM0tDO0U0QjRLRCxtQjVCMUtzQjtFNEIyS3RCLGlCNUI1S29CO0U0QjZLcEIsZTVCNU9ZO0U0QjZPWixtQzVCaEtzQyxFNEJzS3ZDO0VBaEJEOzs7Ozs7SUFhSSxlQUFjO0lBQ2QsZTVCclBlLEU0QnNQaEI7O0FBUUc7RUFJSSxrQlp2UDZDO0VZbVE3QyxpQjVCcE1XO0U0QjRNWCxjQUFhO0VBT2IseUJabFI2QyxFWW9SaEQ7O0FBakNEO0VBSUksbUJadlA2QztFWW1RN0MsaUI1QnBNVztFNEI0TVgsY0FBYTtFQU9iLHlCWmxSNkMsRVlvUmhEOztBQWpDRDtFQUlJLHFCWnZQNkM7RVltUTdDLGlCNUJwTVc7RTRCNE1YLGNBQWE7RUFPYix5QlpsUjZDLEVZb1JoRDs7QUFqQ0Q7RUFJSSxxQlp2UDZDO0VZbVE3QyxpQjVCcE1XO0U0QjRNWCxjQUFhO0VBT2IseUJabFI2QyxFWW9SaEQ7O0FBakNEO0VBSUkscUJadlA2QztFWW1RN0MsaUI1QnBNVztFNEI0TVgsY0FBYTtFQU9iLHlCWmxSNkMsRVlvUmhEOztBQWpDRDtFQUlJLHFCWnZQNkM7RVltUTdDLGlCNUJwTVc7RTRCNE1YLGNBQWE7RUFPYix5QlpsUjZDLEVZb1JoRDs7QTFCek1IO0UwQndLRTtJQUlJLG9CWnZQNkMsRVlvUmhEO0VBakNEO0lBSUksbUJadlA2QyxFWW9SaEQ7RUFqQ0Q7SUFJSSxxQlp2UDZDLEVZb1JoRDtFQWpDRDtJQUlJLHFCWnZQNkMsRVlvUmhEO0VBakNEO0lBSUkscUJadlA2QyxFWW9SaEQ7RUFqQ0Q7SUFJSSxxQlp2UDZDLEVZb1JoRCxFQUFBOztBMUJ6TUg7RTBCd0tFO0lBSUksb0JadlA2QyxFWW9SaEQ7RUFqQ0Q7SUFJSSxrQlp2UDZDLEVZb1JoRDtFQWpDRDtJQUlJLGdCWnZQNkMsRVlvUmhEO0VBakNEO0lBSUksa0JadlA2QyxFWW9SaEQ7RUFqQ0Q7SUFJSSxtQlp2UDZDLEVZb1JoRDtFQWpDRDtJQUlJLGdCWnZQNkMsRVlvUmhELEVBQUE7O0ExQnBNSDtFMEJtS0U7SUFJSSxtQlp2UDZDLEVZb1JoRDtFQWpDRDtJQUlJLGtCWnZQNkMsRVlvUmhEO0VBakNEO0lBSUksZ0JadlA2QyxFWW9SaEQ7RUFqQ0Q7SUFJSSxrQlp2UDZDLEVZb1JoRDtFQWpDRDtJQUlJLG1CWnZQNkMsRVlvUmhEO0VBakNEO0lBSUksZ0JadlA2QyxFWW9SaEQsRUFBQTs7QW5CbkdMO0VtQjBHQSxxQkFBb0I7RUFDcEIsZTVCOVNrQztFNEIrU2xDLHNCNUJ6TXlCO0U0QjJNekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlNUJoTjJELEU0Qm9ONUQ7RUFiSDtJQWdCSSxVQUFTLEVBQ1Y7O0FuQnZLRDtFbUI0S0EsWUFBVztFQUVYLGlCWmxUcUQ7RVltVHJELFVBQVM7RUFDVCxxQjVCNU55QjtFNEI4TnpCLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlDNUJuVWlCO0U0Qm9VakIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxvQjVCdFAwQjtFNEJ1UDFCLDZCNUJyT3lCO0U0QnNPekIsaUI1QnpQc0IsRTRCMFB2Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLHFCNUIvT3NCO0U0QmdQdEIsc0I1QmxQa0IsRTRCbVBuQjs7QUFHRDtFQUNFLHFCNUJyUHNCLEU0QnNQdkI7O0FBR0Q7RUFFSSxxQjVCMVAyQjtFNEIyUDNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLG9CNUJoUXlCLEU0QnNRMUI7RUFQRDtJQUlJLHNCNUJqUThCO0k0QmtROUIsa0I1QnJWbUIsRTRCc1ZwQjs7QUFJSDtFQUNFLGlCNUIvUjBCO0U0QmdTMUIsdUNaMVdxRDtFWTJXckQsK0I1QnRYaUIsRTRCNFhsQjtFQVREO0lBTUksaUI1QnJTb0I7STRCc1NwQixlNUJ6WGEsRTRCMFhkOztBQUlIO0VBQ0UsZUFBYztFQUNkLHFCWnRYcUQ7RVl1WHJELGU1QmpZZSxFNEJzWWhCO0VBUkQ7SUFNSSxjNUJuUjZCLEVBQUE7O0E0QndSakM7RUFDRSxrQzVCellXO0U0QjBZWCxhQUFZO0VBQ1osc0JBQXFCLEVBQ3RCOztBbkI3UUM7RW1CaVJBLFVBQVMsRUFDVjs7QUFHRDtFQUNFLHNDWjVZcUQ7RVk4WXJELDBCNUJ6WmlCO0U0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QUFxQjtVQUFyQixzQkFBcUIsRUFDdEI7O0FBS0c7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0F2RXFERDtFdUV2REE7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0F2RXFERDtFdUV2REE7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0F2RTBERDtFdUU1REE7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0F2RTBERDtFdUU1REE7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0FBN0ZMO0VDT0Esc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWEsRURMWjs7QUFFRDtFQUNFLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjLEVBQ2Y7O0FBRUQ7RUFDRSx1QkFBYztNQUFkLG1CQUFjO1VBQWQs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b0JBLFdGL0JxQyxFRGFwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLDhCRjVCbUQ7TUU0Qm5ELDBCRjVCbUQ7VUU0Qm5ELHNCRjVCbUQ7RU1HakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGdDRjNCcUQ7TUUyQnJELDRCRjNCcUQ7VUUyQnJELHdCRjNCcUQ7RU1FbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER25DaUM7VUhtQ2pDLDhDR25DaUM7RUhtQ2pDLGlDRjFCc0Q7TUUwQnRELDZCRjFCc0Q7VUUwQnRELHlCRjFCc0Q7RU1DcEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER2xDK0I7VUhrQy9CLDhDR2xDK0I7RUhrQy9CLCtCRnpCb0Q7TUV5QnBELDJCRnpCb0Q7VUV5QnBELHVCRnpCb0Q7RU1BbEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHcENxQztVSG9DckMsK0NHcENxQztFSG9DckMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLDhCRnRCbUQ7TUVzQm5ELDBCRnRCbUQ7VUVzQm5ELHNCRnRCbUQ7RU1IakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztVSHFDbkMsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGdDRnJCcUQ7TUVxQnJELDRCRnJCcUQ7VUVxQnJELHdCRnJCcUQ7RU1KbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHcENxQztVSG9DckMsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDRnBCc0Q7TUVvQnRELDZCRnBCc0Q7VUVvQnRELHlCRnBCc0Q7RU1McEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbkNpQztVSG1DakMsOENHbkNpQztFQ3FCL0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLCtCRm5Cb0Q7TUVtQnBELDJCRm5Cb0Q7VUVtQnBELHVCRm5Cb0Q7RU1ObEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbEMrQjtVSGtDL0IsOENHbEMrQjtFQ29CN0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1I4QztVSFE5Qyw0Q0dSOEM7RUhROUMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUNzQm5DLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOEJBRnlCO01BRXpCLDBCQUZ5QjtVQUV6QixzQkFGeUI7RUszQnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVSRjVCOztBQVVEO0VHb0JBLDRCQUZ5QjtNQUV6Qix3QkFGeUI7VUFFekIs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QWtCbEI7SUF4OEJMO01BeTdCUSxZQUFXLEVBQ1o7SUExN0JQOztNQTg3QlEsV0FBVSxFQUNYO0lwRnhpR0Q7TW9GeW1FTjtRQWs4QlEsU0FBUSxFQU1YLEVBQUE7SXBGampHQztNb0Z5bUVOO1FBczhCUSxTQUFRLEVBRVgsRUFBQTtFQXg4Qkw7SUEyOEJNLFdBQVU7SUFDVixVQUFTO0lBQ1QsY0FBYTtJQUNiLDRDQUFrQztZQUFsQyxvQ0FBa0M7SUFDbEMsNEJBQTJCO0lBQzNCLG9CQUFtQixFQWtCcEI7SUFsK0JMO01BbTlCUSxZQUFXLEVBQ1o7SUFwOUJQOztNQXc5QlEsV0FBVSxFQUNYO0lwRmxrR0Q7TW9GeW1FTjtRQTQ5QlEsVUFBUyxFQU1aLEVBQUE7SXBGM2tHQztNb0Z5bUVOO1FBZytCUSxVQUFTLEVBRVosRUFBQTtFQWwrQkw7SUFxK0JNLFdBQVU7SUFDVixVQUFTO0lBQ1QsMENBQWlDO1lBQWpDLGtDQUFpQztJQUNqQywwQkFBeUI7SUFDekIsa0JBQWlCLEVBVWxCO0lBbi9CTDtNQTQrQlEsV0FBVSxFQUNYO0lBNytCUDs7TUFpL0JRLFdBQVUsRUFDWDs7QUFLUDtFQUNFLHVCQUFzQixFQUN2Qjs7QUFFRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLGdCQUFlLEVBQ2hCOztBQUVEO0VBQ0Usa0JBQWlCLEVBV2xCO0VBWkQ7SUFHSSxtQkFBa0I7SUFDbEIsZ0JBQWUsRUFPaEI7SUFYSDtNQU1NLG1CQUFrQjtNQUNsQixRQUFPO01BQ1AsVUFBUztNQUNULHlDQUErQjtVQUEvQixxQ0FBK0I7Y0FBL0IsaUNBQStCLEVBQ2hDIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4uYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmJ1dHRvbi5naG9zdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgLmJ1dHRvbi5naG9zdC5yZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZDQxNTRiO1xuICAgICAgY29sb3I6ICNkNDE1NGI7IH1cbiAgICAgIC5idXR0b24uZ2hvc3QucmVkOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyoqXG4gKiAgQ2FsY3VsYXRlIFBpeGVscyB0byBWV1xuICovXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG5cbi5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmhvdmVyLCAuZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmhvdmVyIHtcbiAgY29sb3I6ICNjNWM1YzU7IH1cblxuLi1kaXNhYmxlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG5cbi4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjYTJkZGY2OyB9XG5cbi4tc2VsZWN0ZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1zZWxlY3RlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICBiYWNrZ3JvdW5kOiAjOGFkNWY0OyB9XG5cbi4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjEpO1xuICBjb2xvcjogI2NjY2NjYzsgfVxuXG4uLWluLXJhbmdlLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMik7IH1cblxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC06ZW1wdHksIC5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS06ZW1wdHkge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERhdGVwaWNrZXIgY2VsbHNcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5kYXRlcGlja2VyLS1jZWxscyB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmRhdGVwaWNrZXItLWNlbGwge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMzJweDtcbiAgei1pbmRleDogMTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4tZm9jdXMtIHtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4tY3VycmVudC0ge1xuICBjb2xvcjogIzRFQjVFNjsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4tY3VycmVudC0uLWZvY3VzLSB7XG4gIGNvbG9yOiAjNGE0YTRhOyB9XG5cbi5kYXRlcGlja2VyLS1jZWxsLi1jdXJyZW50LS4taW4tcmFuZ2UtIHtcbiAgY29sb3I6ICM0RUI1RTY7IH1cblxuLmRhdGVwaWNrZXItLWNlbGwuLWluLXJhbmdlLSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjEpO1xuICBjb2xvcjogIzRhNGE0YTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4taW4tcmFuZ2UtLi1mb2N1cy0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxOTYsIDIzOSwgMC4yKTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4tZGlzYWJsZWQtIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBjb2xvcjogI2FlYWVhZTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4tZGlzYWJsZWQtLi1mb2N1cy0ge1xuICBjb2xvcjogI2FlYWVhZTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4tZGlzYWJsZWQtLi1pbi1yYW5nZS0ge1xuICBjb2xvcjogI2ExYTFhMTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4tZGlzYWJsZWQtLi1jdXJyZW50LS4tZm9jdXMtIHtcbiAgY29sb3I6ICNhZWFlYWU7IH1cblxuLmRhdGVwaWNrZXItLWNlbGwuLXJhbmdlLWZyb20tIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg5MiwgMTk2LCAyMzksIDAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4tcmFuZ2UtdG8tIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg5MiwgMTk2LCAyMzksIDAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4tcmFuZ2UtZnJvbS0uLXJhbmdlLXRvLSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4tc2VsZWN0ZWQtIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogIzVjYzRlZjsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC4tc2VsZWN0ZWQtLi1jdXJyZW50LSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjNWNjNGVmOyB9XG5cbi5kYXRlcGlja2VyLS1jZWxsLi1zZWxlY3RlZC0uLWZvY3VzLSB7XG4gIGJhY2tncm91bmQ6ICM0NWJjZWQ7IH1cblxuLmRhdGVwaWNrZXItLWNlbGw6ZW1wdHkge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmRhdGVwaWNrZXItLWRheXMtbmFtZXMge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDhweCAwIDNweDsgfVxuXG4uZGF0ZXBpY2tlci0tZGF5LW5hbWUge1xuICBjb2xvcjogI0ZGOUExOTtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gIC1tcy1mbGV4OiAxO1xuICBmbGV4OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogLjhlbTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5kYXRlcGlja2VyLS1jZWxscy1tb250aHMge1xuICBoZWlnaHQ6IDE3MHB4OyB9XG5cbi5kYXRlcGlja2VyLS1jZWxsLW1vbnRoIHtcbiAgd2lkdGg6IDMzLjMzJTtcbiAgaGVpZ2h0OiAyNSU7IH1cblxuLmRhdGVwaWNrZXItLXllYXJzIHtcbiAgaGVpZ2h0OiAxNzBweDsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbHMteWVhcnMge1xuICBoZWlnaHQ6IDE3MHB4OyB9XG5cbi5kYXRlcGlja2VyLS1jZWxsLXllYXIge1xuICB3aWR0aDogMjUlO1xuICBoZWlnaHQ6IDMzLjMzJTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG5cbi5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmhvdmVyLCAuZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmhvdmVyIHtcbiAgY29sb3I6ICNjNWM1YzU7IH1cblxuLi1kaXNhYmxlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG5cbi4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjYTJkZGY2OyB9XG5cbi4tc2VsZWN0ZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1zZWxlY3RlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICBiYWNrZ3JvdW5kOiAjOGFkNWY0OyB9XG5cbi4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjEpO1xuICBjb2xvcjogI2NjY2NjYzsgfVxuXG4uLWluLXJhbmdlLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMik7IH1cblxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC06ZW1wdHksIC5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS06ZW1wdHkge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERhdGVwaWNrZXJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5kYXRlcGlja2Vycy1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuZGF0ZXBpY2tlcnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmRhdGVwaWNrZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGZvbnQtZmFtaWx5OiBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM0YTRhNGE7XG4gIHdpZHRoOiAyNTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwMDAwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCBsZWZ0IDBzIDAuM3MsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2UsIGxlZnQgMHMgMC4zcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2UsIGxlZnQgMHMgMC4zcywgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICB6LWluZGV4OiAxMDA7IH1cblxuLmRhdGVwaWNrZXIuLWZyb20tdG9wLSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IH1cblxuLmRhdGVwaWNrZXIuLWZyb20tcmlnaHQtIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cblxuLmRhdGVwaWNrZXIuLWZyb20tYm90dG9tLSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XG5cbi5kYXRlcGlja2VyLi1mcm9tLWxlZnQtIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTsgfVxuXG4uZGF0ZXBpY2tlci5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIGxlZnQgMHMgMHMsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2UsIGxlZnQgMHMgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBsZWZ0IDBzIDBzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7IH1cblxuLmRhdGVwaWNrZXItaW5saW5lIC5kYXRlcGlja2VyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDdkN2Q3O1xuICBib3gtc2hhZG93OiBub25lO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4uZGF0ZXBpY2tlci1pbmxpbmUgLmRhdGVwaWNrZXItLXBvaW50ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kYXRlcGlja2VyLS1jb250ZW50IHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHBhZGRpbmc6IDRweDsgfVxuXG4uLW9ubHktdGltZXBpY2tlci0gLmRhdGVwaWNrZXItLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kYXRlcGlja2VyLS1wb2ludGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RiZGJkYjtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RiZGJkYjtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgei1pbmRleDogLTE7IH1cblxuLi10b3AtbGVmdC0gLmRhdGVwaWNrZXItLXBvaW50ZXIsIC4tdG9wLWNlbnRlci0gLmRhdGVwaWNrZXItLXBvaW50ZXIsIC4tdG9wLXJpZ2h0LSAuZGF0ZXBpY2tlci0tcG9pbnRlciB7XG4gIHRvcDogY2FsYygxMDAlIC0gNHB4KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG5cbi4tcmlnaHQtdG9wLSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi1yaWdodC1jZW50ZXItIC5kYXRlcGlja2VyLS1wb2ludGVyLCAuLXJpZ2h0LWJvdHRvbS0gLmRhdGVwaWNrZXItLXBvaW50ZXIge1xuICByaWdodDogY2FsYygxMDAlIC0gNHB4KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpOyB9XG5cbi4tYm90dG9tLWxlZnQtIC5kYXRlcGlja2VyLS1wb2ludGVyLCAuLWJvdHRvbS1jZW50ZXItIC5kYXRlcGlja2VyLS1wb2ludGVyLCAuLWJvdHRvbS1yaWdodC0gLmRhdGVwaWNrZXItLXBvaW50ZXIge1xuICBib3R0b206IGNhbGMoMTAwJSAtIDRweCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTsgfVxuXG4uLWxlZnQtdG9wLSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi1sZWZ0LWNlbnRlci0gLmRhdGVwaWNrZXItLXBvaW50ZXIsIC4tbGVmdC1ib3R0b20tIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcbiAgbGVmdDogY2FsYygxMDAlIC0gNHB4KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uLXRvcC1sZWZ0LSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi1ib3R0b20tbGVmdC0gLmRhdGVwaWNrZXItLXBvaW50ZXIge1xuICBsZWZ0OiAxMHB4OyB9XG5cbi4tdG9wLXJpZ2h0LSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi1ib3R0b20tcmlnaHQtIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcbiAgcmlnaHQ6IDEwcHg7IH1cblxuLi10b3AtY2VudGVyLSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi1ib3R0b20tY2VudGVyLSAuZGF0ZXBpY2tlci0tcG9pbnRlciB7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTBweCAvIDIpOyB9XG5cbi4tbGVmdC10b3AtIC5kYXRlcGlja2VyLS1wb2ludGVyLCAuLXJpZ2h0LXRvcC0gLmRhdGVwaWNrZXItLXBvaW50ZXIge1xuICB0b3A6IDEwcHg7IH1cblxuLi1sZWZ0LWJvdHRvbS0gLmRhdGVwaWNrZXItLXBvaW50ZXIsIC4tcmlnaHQtYm90dG9tLSAuZGF0ZXBpY2tlci0tcG9pbnRlciB7XG4gIGJvdHRvbTogMTBweDsgfVxuXG4uLWxlZnQtY2VudGVyLSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi1yaWdodC1jZW50ZXItIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDEwcHggLyAyKTsgfVxuXG4uZGF0ZXBpY2tlci0tYm9keSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRhdGVwaWNrZXItLWJvZHkuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICBjb2xvcjogI2RlZGVkZTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLTpob3ZlciwgLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLTpob3ZlciB7XG4gIGNvbG9yOiAjYzVjNWM1OyB9XG5cbi4tZGlzYWJsZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1kaXNhYmxlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICBjb2xvcjogI2RlZGVkZTsgfVxuXG4uLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogI2EyZGRmNjsgfVxuXG4uLXNlbGVjdGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4tc2VsZWN0ZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgYmFja2dyb3VuZDogIzhhZDVmNDsgfVxuXG4uLWluLXJhbmdlLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLWluLXJhbmdlLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxOTYsIDIzOSwgMC4xKTtcbiAgY29sb3I6ICNjY2NjY2M7IH1cblxuLi1pbi1yYW5nZS0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLWluLXJhbmdlLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjIpOyB9XG5cbi5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmVtcHR5LCAuZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmVtcHR5IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBOYXZpZ2F0aW9uXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZGF0ZXBpY2tlci0tbmF2IHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZmVmZWY7XG4gIG1pbi1oZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmc6IDRweDsgfVxuXG4uLW9ubHktdGltZXBpY2tlci0gLmRhdGVwaWNrZXItLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRhdGVwaWNrZXItLW5hdi10aXRsZSxcbi5kYXRlcGlja2VyLS1uYXYtYWN0aW9uIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmRhdGVwaWNrZXItLW5hdi1hY3Rpb24ge1xuICB3aWR0aDogMzJweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5kYXRlcGlja2VyLS1uYXYtYWN0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuXG4uZGF0ZXBpY2tlci0tbmF2LWFjdGlvbi4tZGlzYWJsZWQtIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5kYXRlcGlja2VyLS1uYXYtYWN0aW9uIHN2ZyB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7IH1cblxuLmRhdGVwaWNrZXItLW5hdi1hY3Rpb24gcGF0aCB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZTogIzljOWM5YztcbiAgc3Ryb2tlLXdpZHRoOiAycHg7IH1cblxuLmRhdGVwaWNrZXItLW5hdi10aXRsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMCA4cHg7IH1cblxuLmRhdGVwaWNrZXItLW5hdi10aXRsZSBpIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzljOWM5YztcbiAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4uZGF0ZXBpY2tlci0tbmF2LXRpdGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuXG4uZGF0ZXBpY2tlci0tbmF2LXRpdGxlLi1kaXNhYmxlZC0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmRhdGVwaWNrZXItLWJ1dHRvbnMge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA0cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWZlZmVmOyB9XG5cbi5kYXRlcGlja2VyLS1idXR0b24ge1xuICBjb2xvcjogIzRFQjVFNjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgLW1zLWZsZXg6IDE7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAzMnB4OyB9XG5cbi5kYXRlcGlja2VyLS1idXR0b246aG92ZXIge1xuICBjb2xvcjogIzRhNGE0YTtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG5cbi5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmhvdmVyLCAuZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmhvdmVyIHtcbiAgY29sb3I6ICNjNWM1YzU7IH1cblxuLi1kaXNhYmxlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG5cbi4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjYTJkZGY2OyB9XG5cbi4tc2VsZWN0ZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1zZWxlY3RlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICBiYWNrZ3JvdW5kOiAjOGFkNWY0OyB9XG5cbi4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjEpO1xuICBjb2xvcjogI2NjY2NjYzsgfVxuXG4uLWluLXJhbmdlLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMik7IH1cblxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC06ZW1wdHksIC5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS06ZW1wdHkge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRpbWVwaWNrZXJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5kYXRlcGlja2VyLS10aW1lIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZmVmZWY7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUuLWFtLXBtLSAuZGF0ZXBpY2tlci0tdGltZS1zbGlkZXJzIHtcbiAgLXdlYmtpdC1mbGV4OiAwIDEgMTM4cHg7XG4gIC1tcy1mbGV4OiAwIDEgMTM4cHg7XG4gIGZsZXg6IDAgMSAxMzhweDtcbiAgbWF4LXdpZHRoOiAxMzhweDsgfVxuXG4uLW9ubHktdGltZXBpY2tlci0gLmRhdGVwaWNrZXItLXRpbWUge1xuICBib3JkZXItdG9wOiBub25lOyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLXNsaWRlcnMge1xuICAtd2Via2l0LWZsZXg6IDAgMSAxNTNweDtcbiAgLW1zLWZsZXg6IDAgMSAxNTNweDtcbiAgZmxleDogMCAxIDE1M3B4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG1heC13aWR0aDogMTUzcHg7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDEycHg7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtY3VycmVudCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1mbGV4OiAxO1xuICAtbXMtZmxleDogMTtcbiAgZmxleDogMTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDAgMTBweDsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1jdXJyZW50LWNvbG9uIHtcbiAgbWFyZ2luOiAwIDJweCAzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLWN1cnJlbnQtaG91cnMsXG4uZGF0ZXBpY2tlci0tdGltZS1jdXJyZW50LW1pbnV0ZXMge1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LWZhbWlseTogXCJDZW50dXJ5IEdvdGhpY1wiLCBDZW50dXJ5R290aGljLCBBcHBsZUdvdGhpYywgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLWN1cnJlbnQtaG91cnM6YWZ0ZXIsXG4uZGF0ZXBpY2tlci0tdGltZS1jdXJyZW50LW1pbnV0ZXM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0ycHg7XG4gIHRvcDogLTNweDtcbiAgcmlnaHQ6IC0ycHg7XG4gIGJvdHRvbTogLTJweDtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtY3VycmVudC1ob3Vycy4tZm9jdXMtOmFmdGVyLFxuLmRhdGVwaWNrZXItLXRpbWUtY3VycmVudC1taW51dGVzLi1mb2N1cy06YWZ0ZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLWN1cnJlbnQtYW1wbSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZDtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIGNvbG9yOiAjOWM5YzljO1xuICBtYXJnaW4tbGVmdDogNnB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIG1hcmdpbi1ib3R0b206IDFweDsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1yb3cge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkZWRlZGUsICNkZWRlZGUpIGxlZnQgNTAlLzEwMCUgMXB4IG5vLXJlcGVhdDsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1yb3c6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ10ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgLW1zLWZsZXg6IDE7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPSdyYW5nZSddOjotbXMtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106aG92ZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjhiOGI4OyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPSdyYW5nZSddOmhvdmVyOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjhiOGI4OyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPSdyYW5nZSddOmhvdmVyOjotbXMtdGh1bWIge1xuICBib3JkZXItY29sb3I6ICNiOGI4Yjg7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPSdyYW5nZSddOmZvY3VzOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICM1Y2M0ZWY7XG4gIGJvcmRlci1jb2xvcjogIzVjYzRlZjsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTpmb2N1czo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICM1Y2M0ZWY7XG4gIGJvcmRlci1jb2xvcjogIzVjYzRlZjsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTpmb2N1czo6LW1zLXRodW1iIHtcbiAgYmFja2dyb3VuZDogIzVjYzRlZjtcbiAgYm9yZGVyLWNvbG9yOiAjNWNjNGVmOyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPSdyYW5nZSddOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTJweDtcbiAgd2lkdGg6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZGVkZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4yczsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTJweDtcbiAgd2lkdGg6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZGVkZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4yczsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLXRodW1iIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMnB4O1xuICB3aWR0aDogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGVkZWRlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzOyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPSdyYW5nZSddOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIG1hcmdpbi10b3A6IC02cHg7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPSdyYW5nZSddOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPSdyYW5nZSddOjotbXMtdHJhY2sge1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogMXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tcy1maWxsLXVwcGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtcm93IHNwYW4ge1xuICBwYWRkaW5nOiAwIDEycHg7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtaWNvbiB7XG4gIGNvbG9yOiAjOWM5YzljO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDVweCAtMXB4IDA7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtOyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLWljb246YWZ0ZXIsIC5kYXRlcGlja2VyLS10aW1lLWljb246YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLWljb246YWZ0ZXIge1xuICBoZWlnaHQ6IC40ZW07XG4gIHdpZHRoOiAxcHg7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMXB4KTtcbiAgdG9wOiBjYWxjKDUwJSArIDFweCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1pY29uOmJlZm9yZSB7XG4gIHdpZHRoOiAuNGVtO1xuICBoZWlnaHQ6IDFweDtcbiAgdG9wOiBjYWxjKDUwJSArIDFweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMXB4KTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG5cbi5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmhvdmVyLCAuZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmhvdmVyIHtcbiAgY29sb3I6ICNjNWM1YzU7IH1cblxuLi1kaXNhYmxlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG5cbi4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4tc2VsZWN0ZWQtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjYTJkZGY2OyB9XG5cbi4tc2VsZWN0ZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1zZWxlY3RlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICBiYWNrZ3JvdW5kOiAjOGFkNWY0OyB9XG5cbi4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjEpO1xuICBjb2xvcjogI2NjY2NjYzsgfVxuXG4uLWluLXJhbmdlLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMik7IH1cblxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC06ZW1wdHksIC5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS06ZW1wdHkge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLyoqXG4gKiBSZWRhY3RvciBtYW5hZ2VyIHN0eWxlc1xuICogVG8gaW5jbHVkZSB0aGlzIGdvIHRvIHN5c3RlbSBzZXR0aW5ncyBhbmQgY2hhbmdlIHBhdGggQCByZWRhY3Rvci5jc3MgW3BhdGgvdG8vY3NzXVxuICovXG4ucmVkYWN0b3ItZWRpdG9yIHAucmVkYWN0b3ItZm9ybWF0dGluZy1wLWNvbnRlbnQtYmxvY2staW1hZ2UgLmNvbnRlbnQtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNjBweCAwOyB9XG4gIC5yZWRhY3Rvci1lZGl0b3IgcC5yZWRhY3Rvci1mb3JtYXR0aW5nLXAtY29udGVudC1ibG9jay1pbWFnZSAuY29udGVudC1pbWFnZSBpbWcub3V0b2Z0aGVib3gge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjAlO1xuICAgIG1heC13aWR0aDogMTIwJTtcbiAgICB3aWR0aDogMTIwJTsgfVxuICAucmVkYWN0b3ItZWRpdG9yIHAucmVkYWN0b3ItZm9ybWF0dGluZy1wLWNvbnRlbnQtYmxvY2staW1hZ2UgLmNvbnRlbnQtaW1hZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCA3N3B4IDQ1cHggMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNlOWU5ZTkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5yZWRhY3Rvci1lZGl0b3IgcC5yZWRhY3Rvci1mb3JtYXR0aW5nLXAtY29udGVudC1ibG9jay1pbWFnZSAuY29udGVudC1pbWFnZTpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMzhweCAyMnB4IDA7IH0gfVxuICAucmVkYWN0b3ItZWRpdG9yIHAucmVkYWN0b3ItZm9ybWF0dGluZy1wLWNvbnRlbnQtYmxvY2staW1hZ2UgLmNvbnRlbnQtaW1hZ2UgLmNvbnRlbnQtdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMzIlO1xuICAgIHJpZ2h0OiAtMzIlO1xuICAgIGJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgIGNvbG9yOiAjNzE3MTcxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5yZWRhY3Rvci1lZGl0b3IgcC5yZWRhY3Rvci1mb3JtYXR0aW5nLXAtY29udGVudC1ibG9jay1pbWFnZSAuY29udGVudC1pbWFnZSB7XG4gICAgICBtYXJnaW46IDQwcHggMDsgfVxuICAgICAgLnJlZGFjdG9yLWVkaXRvciBwLnJlZGFjdG9yLWZvcm1hdHRpbmctcC1jb250ZW50LWJsb2NrLWltYWdlIC5jb250ZW50LWltYWdlIGltZy5vdXRvZnRoZWJveCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnJlZGFjdG9yLWVkaXRvciBwLnJlZGFjdG9yLWZvcm1hdHRpbmctcC1jb250ZW50LWJsb2NrLWltYWdlIC5jb250ZW50LWltYWdlIC5jb250ZW50LXRpdGxlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4udi1vbi16b29tIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5pbmZvZ3JhcGhpYy16b29tZWQgLnYtb24tem9vbSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbmJvZHksXG5odG1sIHtcbiAgbWluLWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uaW5mb2dyYXBoaWMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0cmFuc2l0aW9uOiBhbGwgMC45cyBlYXNlIDAuNXM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuODgpO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgaDEsXG4gIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgaDIsXG4gIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgaDMsXG4gIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgaDQge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmluZm9ncmFwaGljLW1lbnUge1xuICAgIGJveC1zaGFkb3c6IC0xMHB4IDAgMjBweCAwIHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC45cyBlYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1YTBlNTQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDk7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuaW5mb2dyYXBoaWMtbWVudSB7XG4gICAgICAgIHdpZHRoOiA0MDBweDsgfSB9XG4gICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuaW5mb2dyYXBoaWMtbWVudSAjaW50cm8ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAxMHB4IDAgNDBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmluZm9ncmFwaGljLW1lbnUgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmluZm9ncmFwaGljLW1lbnUgbGkuc2lkZWJhci10YWIge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNDVzIGVhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWEwZTU0O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5pbmZvZ3JhcGhpYy1tZW51IGxpLnNpZGViYXItdGFiW2RhdGEtdHJpZ2dlcj1cIkFcIl0gLnRhYi1pbWFnZSwgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuaW5mb2dyYXBoaWMtbWVudSBsaS5zaWRlYmFyLXRhYltkYXRhLXRyaWdnZXI9XCJCXCJdIC50YWItaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuaW5mb2dyYXBoaWMtbWVudSBsaS5zaWRlYmFyLXRhYi5ob3ZlciAubnIsIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmluZm9ncmFwaGljLW1lbnUgbGkuc2lkZWJhci10YWI6aG92ZXIgLm5yIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxNTRiICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfSB9XG4gICAgICAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5pbmZvZ3JhcGhpYy1tZW51IGxpLnNpZGViYXItdGFiIC5pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5pbmZvZ3JhcGhpYy1tZW51IGxpLnNpZGViYXItdGFiIC5pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICAgICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuaW5mb2dyYXBoaWMtbWVudSBsaS5zaWRlYmFyLXRhYiAudGFiLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmluZm9ncmFwaGljLW1lbnUgbGkuc2lkZWJhci10YWIgLnRhYi10aXRsZSAubnIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgY29sb3I6ICM1YTBlNTQ7IH1cbiAgICAgICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuaW5mb2dyYXBoaWMtbWVudSBsaS5zaWRlYmFyLXRhYiAudGFiLXRpdGxlIC50aXRsZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgICAgICAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5pbmZvZ3JhcGhpYy1tZW51IGxpLnNpZGViYXItdGFiIC50YWItdGl0bGUgLmFycm93IHtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYXJyb3ctbGVmdC1wdXJwbGUuc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlOyB9XG4gICAgICAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5pbmZvZ3JhcGhpYy1tZW51IGxpLnNpZGViYXItdGFiIC50YWItY29udGVudCB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuNnMgZWFzZSBhbGwgMC4xNXM7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogNTUwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5pbmZvZ3JhcGhpYy1tZW51IGxpLnNpZGViYXItdGFiIC50YWItY29udGVudCAudGFiLWltYWdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5pbmZvZ3JhcGhpYy1tZW51IGxpLnNpZGViYXItdGFiIC50YWItY29udGVudCAudGFiLWltYWdlIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmluZm9ncmFwaGljLW1lbnUgbGkuc2lkZWJhci10YWIuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkMGM0ODtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmluZm9ncmFwaGljLW1lbnUgbGkuc2lkZWJhci10YWIuYWN0aXZlIC5pbm5lciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cbiAgICAgICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuaW5mb2dyYXBoaWMtbWVudSBsaS5zaWRlYmFyLXRhYi5hY3RpdmUgLnRhYi10aXRsZSAubnIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNDE1NGI7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuaW5mb2dyYXBoaWMtbWVudSBsaS5zaWRlYmFyLXRhYi5hY3RpdmUgLmFycm93IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYXJyb3ctbGVmdC13aGl0ZS5zdmdcIik7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxNTRiOyB9XG4gICAgICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmluZm9ncmFwaGljLW1lbnUgbGkuc2lkZWJhci10YWIuYWN0aXZlIC50YWItY29udGVudCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICAvKiAxNjo5ICovXG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5jb250ZW50IC5pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMS4ycyBsaW5lYXIgMC4zcztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuY29udGVudCAuaW5uZXIge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9IH1cbiAgICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmNvbnRlbnQgLmlubmVyIC56b29tLWNvbnRhaW5lciB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjdzIGxpbmVhciwgdHJhbnNmb3JtLW9yaWdpbiAxbXMgbGluZWFyLCBtYXJnaW4gMW1zIGxpbmVhciwgbWF4LXdpZHRoIDFtcyBsaW5lYXIsIG1heC1oZWlnaHQgMW1zIGxpbmVhcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgICAgIC5pbmZvZ3JhcGhpYy16b29tZWQgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuY29udGVudCAuaW5uZXIgLnpvb20tY29udGFpbmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDMuNSk7IH1cbiAgICAgICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuY29udGVudCAuaW5uZXIgLnpvb20tY29udGFpbmVyLnJlc2V0IHtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAgICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuY29udGVudCAuaW5uZXIgLnpvb20tY29udGFpbmVyIC5wZXJzcGVjdGl2ZS1lbGVtZW50IHtcbiAgICAgICAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNjVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWF4LWhlaWdodDogODAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5jb250ZW50IC5pbm5lciAuem9vbS1jb250YWluZXIgI21hcC1jb250YWluZXIge1xuICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaW5mb2dyYXBoaWMvaW5mb2dyYXBoaWMtdmlzdWFsLTVrLXY1LWNvbXByZXNzZWQucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuY29udGVudCAuaW5uZXIgLnpvb20tY29udGFpbmVyICNudW1iZXItY29udGFpbmVyIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgaGVpZ2h0OiBpbmhlcml0OyB9XG4gICAgICAgICAgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuY29udGVudCAuaW5uZXIgLnpvb20tY29udGFpbmVyICNudW1iZXItY29udGFpbmVyIHN2ZyBnW2RhdGEtbmFtZV0ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNDVzIGVhc2U7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZmlsbDogIzVhMGU1NDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAgIC5pbmZvZ3JhcGhpYy16b29tZWQgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuY29udGVudCAuaW5uZXIgLnpvb20tY29udGFpbmVyICNudW1iZXItY29udGFpbmVyIHN2ZyBnW2RhdGEtbmFtZV0ge1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmNvbnRlbnQgLmlubmVyIC56b29tLWNvbnRhaW5lciAjbnVtYmVyLWNvbnRhaW5lciBzdmcgZ1tkYXRhLW5hbWVdIGNpcmNsZSxcbiAgICAgICAgICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmNvbnRlbnQgLmlubmVyIC56b29tLWNvbnRhaW5lciAjbnVtYmVyLWNvbnRhaW5lciBzdmcgZ1tkYXRhLW5hbWVdIHBhdGgge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgICAgICAgICAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5jb250ZW50IC5pbm5lciAuem9vbS1jb250YWluZXIgI251bWJlci1jb250YWluZXIgc3ZnIGdbZGF0YS1uYW1lXS5ob3ZlciBjaXJjbGUsIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmNvbnRlbnQgLmlubmVyIC56b29tLWNvbnRhaW5lciAjbnVtYmVyLWNvbnRhaW5lciBzdmcgZ1tkYXRhLW5hbWVdOmhvdmVyIGNpcmNsZSB7XG4gICAgICAgICAgICAgIGZpbGw6ICNkNDE1NGI7IH1cbiAgICAgICAgICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmNvbnRlbnQgLmlubmVyIC56b29tLWNvbnRhaW5lciAjbnVtYmVyLWNvbnRhaW5lciBzdmcgZ1tkYXRhLW5hbWVdLmFjdGl2ZSBjaXJjbGUge1xuICAgICAgICAgICAgICBmaWxsOiAjZDQxNTRiOyB9XG4gICAgICAgICAgICAuaW5mb2dyYXBoaWMtem9vbWVkIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmNvbnRlbnQgLmlubmVyIC56b29tLWNvbnRhaW5lciAjbnVtYmVyLWNvbnRhaW5lciBzdmcgZ1tkYXRhLW5hbWVdLmFjdGl2ZSB7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmNvbnRlbnQgLmlubmVyIC56b29tLWNvbnRhaW5lciAjbnVtYmVyLWNvbnRhaW5lciBzdmcgZ1tkYXRhLW5hbWVdIHBhdGgge1xuICAgICAgICAgICAgICBmaWxsOiAjZmZmZmZmO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmNvbnRlbnQgLm51bWJlciB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlIDAuNnM7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmluZm9ncmFwaGljLXpvb21lZCAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5jb250ZW50IC5udW1iZXIge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmNvbnRlbnQgLm51bWJlci5hY3RpdmUge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiA5OTk5OyB9XG4gICAgICAgIC5pbmZvZ3JhcGhpYy1jb250YWluZXIgLmNvbnRlbnQgLm51bWJlci5hY3RpdmUgLm5yIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjYjIxY2E2O1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAgIC5pbmZvZ3JhcGhpYy16b29tZWQgLmluZm9ncmFwaGljLWNvbnRhaW5lciAuY29udGVudCAubnVtYmVyLmFjdGl2ZSAubnIge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAuaW5mb2dyYXBoaWMtY29udGFpbmVyIC5jb250ZW50IC5udW1iZXIuYWN0aXZlIC50ZXh0LWluZm8ge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuXG4ubnVtYmVyLWluZm8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pbmZvZ3JhcGhpYy9pbmZvLWJnLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbSB0cmFuc3BhcmVudC9jb3ZlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZS1pbi1vdXQgMC42cztcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgd2lkdGg6IDMwMHB4O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmluZm9ncmFwaGljLXpvb21lZCAubnVtYmVyLWluZm8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MHB4LCAtOTBweCkgc2NhbGUoMC42Nyk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5udW1iZXItaW5mbyAua2FkZXIge1xuICAgIHBhZGRpbmc6IDIzcHggMjVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLmhlbHBlciB7XG4gIHRyYW5zaXRpb246IHRvcCAwLjZzIGVhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgIC5oZWxwZXIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlbHBlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDAwcHgpOyB9IH1cbiAgLmluZm9ncmFwaGljLXpvb21lZCAuaGVscGVyLnRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5oZWxwZXIgc3BhbiB7XG4gICAgdHJhbnNpdGlvbjogMC42cyBlYXNlIGFsbDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxNTRiO1xuICAgIGJvcmRlci1yYWRpdXM6IDQ1cHg7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmhlbHBlciBzcGFuLmhvdmVyOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNjEwM2I7IH1cbiAgLmluZm9ncmFwaGljLXpvb21lZCAuaGVscGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNTUpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNDVzOyB9XG5cbi5idXR0b24taGVscGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTU0YjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDQ1cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogNDVweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjBweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmluZm9ncmFwaGljLXpvb21lZCAuYnV0dG9uLWhlbHBlciB7XG4gICAgLyp0cmFuc2l0aW9uLWRlbGF5OiAxcztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKSBzY2FsZSgxKTsqLyB9XG4gIC5idXR0b24taGVscGVyLmhhcy1pY29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7IH1cbiAgLmJ1dHRvbi1oZWxwZXIub3ZlcnppY2h0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi1zZWFyY2guc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDsgfVxuICAuYnV0dG9uLWhlbHBlci5jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24tY2xvc2Uuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDsgfVxuXG4uYXJyb3dzIHtcbiAgdHJhbnNpdGlvbjogMC42cyBlYXNlIGFsbDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5hcnJvd3MgLnRleHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNDE1NGI7XG4gICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5hcnJvd3MgLmFycm93IHtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyICNkNDE1NGI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1MCU7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5hcnJvd3MgLmFycm93LnByZXYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Fycm93LWxlZnQtd2hpdGUuc3ZnXCIpOyB9XG4gICAgLmFycm93cyAuYXJyb3cubmV4dCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYXJyb3ctcmlnaHQtd2hpdGUuc3ZnXCIpOyB9XG5cbi5ob3ZlciB7XG4gIHRyYW5zaXRpb246IDAuNnMgZWFzZSBhbGw7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNDE1NGI7IH1cblxuLm5yIHtcbiAgdHJhbnNpdGlvbjogMC42cyBlYXNlIGFsbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiA0MHB4O1xuICBtaW4td2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVhMGU1NDsgfVxuICAubnI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MDExNjk7IH1cblxuLnRvb2x0aXAge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBtYXgtd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cbiAgLnRvb2x0aXA6YWZ0ZXIge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnICc7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBhMGEwYTtcbiAgICBib3JkZXItd2lkdGg6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG4gIC50b29sdGlwIC5pbm5lciB7XG4gICAgcGFkZGluZzogMjBweDsgfVxuXG4jdHVybi1kZXZpY2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgei1pbmRleDogMTE7XG4gIHBhZGRpbmc6IDAgMzBweDsgfVxuICAjdHVybi1kZXZpY2UgLnR1cm4tYmcge1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBsZWZ0OiBpbmhlcml0O1xuICAgIHRvcDogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuOCk7IH1cbiAgI3R1cm4tZGV2aWNlIC5pbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNjBweCAzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgei1pbmRleDogMTI7IH1cbiAgICAjdHVybi1kZXZpY2UgLmlubmVyIGltZyB7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgICAgd2lkdGg6IDEwMHB4OyB9XG4gICAgI3R1cm4tZGV2aWNlIC5pbm5lciBoNCB7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICN0dXJuLWRldmljZSB7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbltkYXRhLXRvb2x0aXBjdXN0b21dIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBbZGF0YS10b29sdGlwY3VzdG9tXTpiZWZvcmUsIFtkYXRhLXRvb2x0aXBjdXN0b21dOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMnB4KTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMzVzIGVhc2UgLjI1czsgfVxuICBbZGF0YS10b29sdGlwY3VzdG9tXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10b29sdGlwY3VzdG9tKTtcbiAgICBiYWNrZ3JvdW5kOiAjNWEwZTU0O1xuICAgIGNvbG9yOiAjZWVlO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjY1KTsgfVxuICBbZGF0YS10b29sdGlwY3VzdG9tXTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzVhMGU1NDsgfVxuICBbZGF0YS10b29sdGlwY3VzdG9tXTpob3ZlcjpiZWZvcmUsIFtkYXRhLXRvb2x0aXBjdXN0b21dOmhvdmVyOmFmdGVyLCBbZGF0YS10b29sdGlwY3VzdG9tXTpmb2N1czpiZWZvcmUsIFtkYXRhLXRvb2x0aXBjdXN0b21dOmZvY3VzOmFmdGVyLCBbZGF0YS10b29sdGlwY3VzdG9tXTphY3RpdmU6YmVmb3JlLCBbZGF0YS10b29sdGlwY3VzdG9tXTphY3RpdmU6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIFtkYXRhLXRvb2x0aXBjdXN0b21dOmhvdmVyOmJlZm9yZSwgW2RhdGEtdG9vbHRpcGN1c3RvbV06aG92ZXI6YWZ0ZXIsIFtkYXRhLXRvb2x0aXBjdXN0b21dOmZvY3VzOmJlZm9yZSwgW2RhdGEtdG9vbHRpcGN1c3RvbV06Zm9jdXM6YWZ0ZXIsIFtkYXRhLXRvb2x0aXBjdXN0b21dOmFjdGl2ZTpiZWZvcmUsIFtkYXRhLXRvb2x0aXBjdXN0b21dOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH0gfVxuICBbZGF0YS10b29sdGlwY3VzdG9tXS50b29sdGlwLW11bHRpbGluZTpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IDM0MHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgW2RhdGEtdG9vbHRpcGN1c3RvbV1bY2xhc3MqPVwidG9vbHRpcC1ib3R0b21cIl06YmVmb3JlLCBbZGF0YS10b29sdGlwY3VzdG9tXVtjbGFzcyo9XCJ0b29sdGlwLWJvdHRvbVwiXTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTJweCk7IH1cbiAgW2RhdGEtdG9vbHRpcGN1c3RvbV1bY2xhc3MqPVwidG9vbHRpcC1ib3R0b21cIl06YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMDAlOyB9XG4gIFtkYXRhLXRvb2x0aXBjdXN0b21dW2NsYXNzKj1cInRvb2x0aXAtYm90dG9tXCJdOmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzVhMGU1NDsgfVxuICBbZGF0YS10b29sdGlwY3VzdG9tXS50b29sdGlwLWJvdHRvbS1sZWZ0OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTI0cHgsIDEycHgpOyB9XG4gIFtkYXRhLXRvb2x0aXBjdXN0b21dLnRvb2x0aXAtYm90dG9tLXJpZ2h0OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI0cHgsIDEycHgpOyB9XG4gIFtkYXRhLXRvb2x0aXBjdXN0b21dLnRvb2x0aXAtdG9wLWxlZnQ6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjRweCwgLTEycHgpOyB9XG4gIFtkYXRhLXRvb2x0aXBjdXN0b21dLnRvb2x0aXAtdG9wLXJpZ2h0OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI0cHgsIC0xMnB4KTsgfVxuXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTI1ZW0mbGFyZ2U9NDhlbSZ4bGFyZ2U9NjRlbSZ4eGxhcmdlPTgxLjI1ZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwiU2lnbmlrYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJvdy5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93LFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWluLXdpZHRoOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA2LjI1JTtcbiAgbWF4LXdpZHRoOiA2LjI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTIuNSU7XG4gIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDYuMjUlOyB9XG5cbi5zbWFsbC0zIHtcbiAgZmxleDogMCAwIDE4Ljc1JTtcbiAgbWF4LXdpZHRoOiAxOC43NSU7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDEyLjUlOyB9XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDE4Ljc1JTsgfVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCAzMS4yNSU7XG4gIG1heC13aWR0aDogMzEuMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTYge1xuICBmbGV4OiAwIDAgMzcuNSU7XG4gIG1heC13aWR0aDogMzcuNSU7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDMxLjI1JTsgfVxuXG4uc21hbGwtNyB7XG4gIGZsZXg6IDAgMCA0My43NSU7XG4gIG1heC13aWR0aDogNDMuNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiAzNy41JTsgfVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA0My43NSU7IH1cblxuLnNtYWxsLTkge1xuICBmbGV4OiAwIDAgNTYuMjUlO1xuICBtYXgtd2lkdGg6IDU2LjI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA2Mi41JTtcbiAgbWF4LXdpZHRoOiA2Mi41JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNTYuMjUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIGZsZXg6IDAgMCA2OC43NSU7XG4gIG1heC13aWR0aDogNjguNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cblxuLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIDc1JTtcbiAgbWF4LXdpZHRoOiA3NSU7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA2OC43NSU7IH1cblxuLnNtYWxsLTEzIHtcbiAgZmxleDogMCAwIDgxLjI1JTtcbiAgbWF4LXdpZHRoOiA4MS4yNSU7IH1cblxuLnNtYWxsLW9mZnNldC0xMiB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTE0IHtcbiAgZmxleDogMCAwIDg3LjUlO1xuICBtYXgtd2lkdGg6IDg3LjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTMge1xuICBtYXJnaW4tbGVmdDogODEuMjUlOyB9XG5cbi5zbWFsbC0xNSB7XG4gIGZsZXg6IDAgMCA5My43NSU7XG4gIG1heC13aWR0aDogOTMuNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTQge1xuICBtYXJnaW4tbGVmdDogODcuNSU7IH1cblxuLnNtYWxsLTE2IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTE1IHtcbiAgbWFyZ2luLWxlZnQ6IDkzLjc1JTsgfVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDYuMjUlO1xuICAgIG1heC13aWR0aDogNi4yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYuMjUlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgZmxleDogMCAwIDE4Ljc1JTtcbiAgICBtYXgtd2lkdGg6IDE4Ljc1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxOC43NSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICBmbGV4OiAwIDAgMzEuMjUlO1xuICAgIG1heC13aWR0aDogMzEuMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgMzcuNSU7XG4gICAgbWF4LXdpZHRoOiAzNy41JTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogMzEuMjUlOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgZmxleDogMCAwIDQzLjc1JTtcbiAgICBtYXgtd2lkdGg6IDQzLjc1JTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogMzcuNSU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA0My43NSU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNTYuMjUlO1xuICAgIG1heC13aWR0aDogNTYuMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDYyLjUlO1xuICAgIG1heC13aWR0aDogNjIuNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDU2LjI1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgNjguNzUlO1xuICAgIG1heC13aWR0aDogNjguNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDY4Ljc1JTsgfVxuICAubWVkaXVtLTEzIHtcbiAgICBmbGV4OiAwIDAgODEuMjUlO1xuICAgIG1heC13aWR0aDogODEuMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTQge1xuICAgIGZsZXg6IDAgMCA4Ny41JTtcbiAgICBtYXgtd2lkdGg6IDg3LjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogODEuMjUlOyB9XG4gIC5tZWRpdW0tMTUge1xuICAgIGZsZXg6IDAgMCA5My43NSU7XG4gICAgbWF4LXdpZHRoOiA5My43NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiA4Ny41JTsgfVxuICAubWVkaXVtLTE2IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiA5My43NSU7IH1cbiAgLm1lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkgYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA2LjI1JTtcbiAgICBtYXgtd2lkdGg6IDYuMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA2LjI1JTsgfVxuICAubGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDE4Ljc1JTtcbiAgICBtYXgtd2lkdGg6IDE4Ljc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAubGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxOC43NSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCAzMS4yNSU7XG4gICAgbWF4LXdpZHRoOiAzMS4yNSU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgMzcuNSU7XG4gICAgbWF4LXdpZHRoOiAzNy41JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzMS4yNSU7IH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA0My43NSU7XG4gICAgbWF4LXdpZHRoOiA0My43NSU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogMzcuNSU7IH1cbiAgLmxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNDMuNzUlOyB9XG4gIC5sYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNTYuMjUlO1xuICAgIG1heC13aWR0aDogNTYuMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA2Mi41JTtcbiAgICBtYXgtd2lkdGg6IDYyLjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDU2LjI1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA2OC43NSU7XG4gICAgbWF4LXdpZHRoOiA2OC43NSU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNjguNzUlOyB9XG4gIC5sYXJnZS0xMyB7XG4gICAgZmxleDogMCAwIDgxLjI1JTtcbiAgICBtYXgtd2lkdGg6IDgxLjI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xNCB7XG4gICAgZmxleDogMCAwIDg3LjUlO1xuICAgIG1heC13aWR0aDogODcuNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDgxLjI1JTsgfVxuICAubGFyZ2UtMTUge1xuICAgIGZsZXg6IDAgMCA5My43NSU7XG4gICAgbWF4LXdpZHRoOiA5My43NSU7IH1cbiAgLmxhcmdlLW9mZnNldC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG4gIC5sYXJnZS0xNiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiA5My43NSU7IH1cbiAgLmxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA2LjI1JTtcbiAgICBtYXgtd2lkdGg6IDYuMjUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueGxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA2LjI1JTsgfVxuICAueGxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAxOC43NSU7XG4gICAgbWF4LXdpZHRoOiAxOC43NSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEyLjUlOyB9XG4gIC54bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMTguNzUlOyB9XG4gIC54bGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDMxLjI1JTtcbiAgICBtYXgtd2lkdGg6IDMxLjI1JTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDM3LjUlO1xuICAgIG1heC13aWR0aDogMzcuNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMxLjI1JTsgfVxuICAueGxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA0My43NSU7XG4gICAgbWF4LXdpZHRoOiA0My43NSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC54bGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNDMuNzUlOyB9XG4gIC54bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDU2LjI1JTtcbiAgICBtYXgtd2lkdGg6IDU2LjI1JTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA2Mi41JTtcbiAgICBtYXgtd2lkdGg6IDYyLjUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA1Ni4yNSU7IH1cbiAgLnhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDY4Ljc1JTtcbiAgICBtYXgtd2lkdGg6IDY4Ljc1JTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC54bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA2OC43NSU7IH1cbiAgLnhsYXJnZS0xMyB7XG4gICAgZmxleDogMCAwIDgxLjI1JTtcbiAgICBtYXgtd2lkdGg6IDgxLjI1JTsgfVxuICAueGxhcmdlLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueGxhcmdlLTE0IHtcbiAgICBmbGV4OiAwIDAgODcuNSU7XG4gICAgbWF4LXdpZHRoOiA4Ny41JTsgfVxuICAueGxhcmdlLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDgxLjI1JTsgfVxuICAueGxhcmdlLTE1IHtcbiAgICBmbGV4OiAwIDAgOTMuNzUlO1xuICAgIG1heC13aWR0aDogOTMuNzUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogODcuNSU7IH1cbiAgLnhsYXJnZS0xNiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogOTMuNzUlOyB9XG4gIC54bGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnhsYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnhsYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTggPiAuY29sdW1uLCAueGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnh4bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDYuMjUlO1xuICAgIG1heC13aWR0aDogNi4yNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueHhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYuMjUlOyB9XG4gIC54eGxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAxOC43NSU7XG4gICAgbWF4LXdpZHRoOiAxOC43NSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAueHhsYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMTguNzUlOyB9XG4gIC54eGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCAzMS4yNSU7XG4gICAgbWF4LXdpZHRoOiAzMS4yNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnh4bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDM3LjUlO1xuICAgIG1heC13aWR0aDogMzcuNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzMS4yNSU7IH1cbiAgLnh4bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDQzLjc1JTtcbiAgICBtYXgtd2lkdGg6IDQzLjc1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC54eGxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA0My43NSU7IH1cbiAgLnh4bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDU2LjI1JTtcbiAgICBtYXgtd2lkdGg6IDU2LjI1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueHhsYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDYyLjUlO1xuICAgIG1heC13aWR0aDogNjIuNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA1Ni4yNSU7IH1cbiAgLnh4bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA2OC43NSU7XG4gICAgbWF4LXdpZHRoOiA2OC43NSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cbiAgLnh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNjguNzUlOyB9XG4gIC54eGxhcmdlLTEzIHtcbiAgICBmbGV4OiAwIDAgODEuMjUlO1xuICAgIG1heC13aWR0aDogODEuMjUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueHhsYXJnZS0xNCB7XG4gICAgZmxleDogMCAwIDg3LjUlO1xuICAgIG1heC13aWR0aDogODcuNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogODEuMjUlOyB9XG4gIC54eGxhcmdlLTE1IHtcbiAgICBmbGV4OiAwIDAgOTMuNzUlO1xuICAgIG1heC13aWR0aDogOTMuNzUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG4gIC54eGxhcmdlLTE2IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogOTMuNzUlOyB9XG4gIC54eGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueHhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnh4bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkgYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnh4bGFyZ2UtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAueHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueHhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAgIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54eGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueHhsYXJnZS0xLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMiwgLmdyaWQteCA+IC54eGxhcmdlLTMsIC5ncmlkLXggPiAueHhsYXJnZS00LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNSwgLmdyaWQteCA+IC54eGxhcmdlLTYsIC5ncmlkLXggPiAueHhsYXJnZS03LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOCwgLmdyaWQteCA+IC54eGxhcmdlLTksIC5ncmlkLXggPiAueHhsYXJnZS0xMCwgLmdyaWQteCA+IC54eGxhcmdlLTExLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAueHhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAueHhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMSwgLmdyaWQteSA+IC54eGxhcmdlLTIsIC5ncmlkLXkgPiAueHhsYXJnZS0zLCAuZ3JpZC15ID4gLnh4bGFyZ2UtNCwgLmdyaWQteSA+IC54eGxhcmdlLTUsIC5ncmlkLXkgPiAueHhsYXJnZS02LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNywgLmdyaWQteSA+IC54eGxhcmdlLTgsIC5ncmlkLXkgPiAueHhsYXJnZS05LCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXkgPiAueHhsYXJnZS0xMSwgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJTaWduaWthXCIsIEhlbHZldGljYSwgQXJpYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM1YTBlNTQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzLjEyNXJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzE3NzliYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMxNDY4YTA7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMS4yZW0gMmVtIDEuMWVtIDJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxNTRiO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjQxMjQwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyNjE5NTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxNTRiO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDQxNTRiO1xuICAgIGNvbG9yOiAjZDQxNTRiOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmEwYjI2O1xuICAgICAgY29sb3I6ICM2YTBiMjY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDQxNTRiO1xuICAgICAgICBjb2xvcjogI2Q0MTU0YjsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uY2xlYXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNDE1NGI7XG4gICAgY29sb3I6ICNkNDE1NGI7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmEwYjI2O1xuICAgICAgY29sb3I6ICM2YTBiMjY7IH1cbiAgICAgIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNDE1NGI7XG4gICAgICAgIGNvbG9yOiAjZDQxNTRiOyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDJlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNkNDE1NGI7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZWRlYjsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxNzc5YmE7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogI2NhY2FjYTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjQuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkN2VjZmE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjZDQxNTRiO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICNkNDE1NGI7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51IGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZW51LmV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LnNpbXBsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgLm1lbnUuc2ltcGxlIGEge1xuICAgICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5tZWRpdW0tc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LnhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54eGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS54eGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZmZmZmZiwgMCAxNHB4IDAgI2ZmZmZmZjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMTc3OWJhOyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI0LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI0LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5wb3NpdGlvbi1sZWZ0IHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfSB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH0gfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH0gfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAucG9zaXRpb24tdG9wIHtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfSB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfSB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH0gfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH0gfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH0gfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJzsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYmInOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhOyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ2NzllOyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNC45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzE2NzNiMTsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBjb2xvcjogIzE0NjhhMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogc29saWQgNHB4ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMjMsIDEyMSwgMTg2LCAwLjUpOyB9XG4gIGEudGh1bWJuYWlsIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI0LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNC45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI0LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnh4bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiU2lnbmlrYVwiLCBIZWx2ZXRpY2EsIEFyaWFsO1xuICBmb250LXdlaWdodDogMjAwOyB9XG4gIGJvZHkuaW5mb2dyYXBoaWMtem9vbWVkLCBib2R5Lm92ZXJmbG93IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDsgfVxuXG4uc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDBhM2I7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLnNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG5cbi5zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmFjdGl2ZSwgLnNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG5cbi5zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmxvYWRpbmcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgei1pbmRleDogOTk5OTtcbiAgYW5pbWF0aW9uOiBub2pzIDAuMXMgZm9yd2FyZHMgMnM7IH1cblxuLmJsb2NrIHtcbiAgcGFkZGluZzogMTAwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYmxvY2sge1xuICAgICAgcGFkZGluZzogMzBweCAwOyB9IH1cblxuLmJsb2NrMiB7XG4gIHBhZGRpbmc6IDUwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYmxvY2syIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDsgfSB9XG4gIC5ibG9jazIud2hpdGUge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgLmJsb2NrMi56YWNodHJvemUge1xuICAgIGJhY2tncm91bmQ6ICNmOWVmZTU7IH1cblxuLmNvbnRlbnQtYmxvY2tzIHtcbiAgcGFkZGluZzogMzVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jb250ZW50LWJsb2NrcyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7IH0gfVxuXG4uY29udGVudC1ibG9jayB7XG4gIHBhZGRpbmc6IDM1cHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY29udGVudC1ibG9jayB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7IH0gfVxuICAuY29udGVudC1ibG9jayNtZWxkLWplLWFhbi1ibG9jayB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3Nha3MtdGFibGV0cy1uZXdzbGV0dGVyLnBuZ1wiKSBuby1yZXBlYXQgMTAwJSB0b3AgIzVhMGU1NDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmNvbnRlbnQtYmxvY2sjbWVsZC1qZS1hYW4tYmxvY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgKyAyNTBweCkgdG9wO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNvbnRlbnQtYmxvY2sjbWVsZC1qZS1hYW4tYmxvY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNWEwZTU0OyB9IH1cbiAgICAuY29udGVudC1ibG9jayNtZWxkLWplLWFhbi1ibG9jayAuZm9ybS10aXRsZSxcbiAgICAuY29udGVudC1ibG9jayNtZWxkLWplLWFhbi1ibG9jayBsYWJlbCxcbiAgICAuY29udGVudC1ibG9jayNtZWxkLWplLWFhbi1ibG9jayBwIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmNvbnRlbnQtYmxvY2sjbWVsZC1qZS1hYW4tYmxvY2sgbGFiZWwsXG4gICAgLmNvbnRlbnQtYmxvY2sjbWVsZC1qZS1hYW4tYmxvY2sgcCB7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDYwcHggYmxhY2s7IH1cbiAgICAuY29udGVudC1ibG9jayNtZWxkLWplLWFhbi1ibG9jayBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNDM3NXJlbTtcbiAgICAgIGhlaWdodDogMi40Mzc1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuY29udGVudC1ibG9jayNtZWxkLWplLWFhbi1ibG9jayBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMDsgfSB9XG4gICAgICAuY29udGVudC1ibG9jayNtZWxkLWplLWFhbi1ibG9jayBpbnB1dFt0eXBlPSdzdWJtaXQnXTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZTEyNDQ7IH1cbiAgICAuY29udGVudC1ibG9jayNtZWxkLWplLWFhbi1ibG9jayAucG9saWN5LXRleHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuY29udGVudC1ibG9jayNtZWxkLWplLWFhbi1ibG9jayAucG9saWN5LXRleHQge1xuICAgICAgICAgIG1hcmdpbjogMXJlbSAwIDA7IH0gfVxuICAgICAgLmNvbnRlbnQtYmxvY2sjbWVsZC1qZS1hYW4tYmxvY2sgLnBvbGljeS10ZXh0IGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbi5jb250ZW50IHtcbiAgcGFkZGluZzogNzBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDsgfSB9XG5cbi5ncmF5IHtcbiAgYmFja2dyb3VuZDogI2YzZjNmMzsgfVxuXG4uZ3JheTIge1xuICBiYWNrZ3JvdW5kOiAjZTVlNWU1OyB9XG5cbi53aGl0ZS10ZXh0IHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLndoaXRlLXRleHQgYSxcbiAgLndoaXRlLXRleHQgaDEsXG4gIC53aGl0ZS10ZXh0IGgyLFxuICAud2hpdGUtdGV4dCBoMyxcbiAgLndoaXRlLXRleHQgaDQsXG4gIC53aGl0ZS10ZXh0IGg1LFxuICAud2hpdGUtdGV4dCBoNixcbiAgLndoaXRlLXRleHQgbGksXG4gIC53aGl0ZS10ZXh0IHAsXG4gIC53aGl0ZS10ZXh0IHVsIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ubGFyZ2Utb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMTguNzUlICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgLnJvdyB7XG4gICAgd2lkdGg6IDkwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucm93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuXG4ucmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmJvcmRlci10b3Age1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QxZDFkMTsgfVxuXG4ubm8tanMgLnByb2plY3Qge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4ubm8tanMgLmNvbnRlbnQtYmxvY2sge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4ubm8tanMgLmFuaW1hdGUge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG5Aa2V5ZnJhbWVzIG5vanMge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9IH1cblxuLmFuaW1hdGUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgLmFuaW1hdGUuc2hvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLmFubS1zdGFydCAuaW5kZXggLmluZGV4LWljb24ge1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmFubS1zdGFydCAuaW5kZXggLmluZGV4LWljb246YWZ0ZXIsIC5hbm0tc3RhcnQgLmluZGV4IC5pbmRleC1pY29uOmJlZm9yZSB7XG4gICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmFubS1zdGFydCAuaGVhZGVyLWNvbnRlbnQgI2xvZ28sXG4uYW5tLXN0YXJ0IC5oZWFkZXItY29udGVudCAuYnV0dG9uLFxuLmFubS1zdGFydCAuaGVhZGVyLWNvbnRlbnQgaDEsXG4uYW5tLXN0YXJ0IC5oZWFkZXItY29udGVudCBwIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cblxuLmFubS1zdGFydCAuaGVhZGVyLW5ld3MgaDQsXG4uYW5tLXN0YXJ0IC5oZWFkZXItbmV3cyBwIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cblxuLmFubS1zdGFydCAjaGVhZGVyLWxpbmUxIHtcbiAgd2lkdGg6IDA7IH1cblxuLmFubS1zdGFydCAjaGVhZGVyLWxpbmUyIHtcbiAgd2lkdGg6IDA7IH1cblxuLmFubS1zdGFydCAuaGVhZGVyLXRpdGxlIGgxIHNwYW4sXG4uYW5tLXN0YXJ0IC5oZWFkZXItdGl0bGUgaDUgc3Bhbixcbi5hbm0tc3RhcnQgLmhlYWRlci10aXRsZSBoNiBzcGFuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5hbm0tc3RhcnQgaGVhZGVyIHtcbiAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4gIC5hbm0tc3RhcnQgaGVhZGVyIC5oZWFkZXItdGl0bGUtd3JhcHBlciB7XG4gICAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4gIC5hbm0tc3RhcnQgaGVhZGVyOmJlZm9yZSB7XG4gICAgcmlnaHQ6IC0yMjRweDsgfVxuXG4uYW5tLWRlbGF5cyAuaW5kZXgge1xuICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDFzICFpbXBvcnRhbnQ7IH1cbiAgLmFubS1kZWxheXMgLmluZGV4IC5pbmRleC1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDEuOXMgIWltcG9ydGFudDsgfVxuICAgIC5hbm0tZGVsYXlzIC5pbmRleCAuaW5kZXgtaWNvbjphZnRlciwgLmFubS1kZWxheXMgLmluZGV4IC5pbmRleC1pY29uOmJlZm9yZSB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDEuOXMgIWltcG9ydGFudDsgfVxuXG4uYW5tLWRlbGF5cyAuaGVhZGVyLWNvbnRlbnQgI2xvZ28ge1xuICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDEuMnM7IH1cblxuLmFubS1kZWxheXMgLmhlYWRlci1jb250ZW50IGgxIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAxLjNzOyB9XG5cbi5hbm0tZGVsYXlzIC5oZWFkZXItY29udGVudCBwIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAxLjRzOyB9XG5cbi5hbm0tZGVsYXlzIC5oZWFkZXItY29udGVudCAuYnV0dG9uIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAxLjVzOyB9XG5cbi5hbm0tZGVsYXlzIC5oZWFkZXItbmV3cyBoNCB7XG4gIHRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMS42czsgfVxuXG4uYW5tLWRlbGF5cyAuaGVhZGVyLW5ld3MgcCB7XG4gIHRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMS44czsgfVxuXG4uYW5tLWRlbGF5cyAjaGVhZGVyLWxpbmUxIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAxLjhzOyB9XG5cbi5hbm0tZGVsYXlzICNoZWFkZXItbGluZTIge1xuICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDEuMnM7IH1cblxuLmFubS1kZWxheXMgLmhlYWRlci10aXRsZSBoMSBzcGFuIHtcbiAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAwLjNzOyB9XG5cbi5hbm0tZGVsYXlzIC5oZWFkZXItdGl0bGUgaDUgc3BhbiB7XG4gIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMC4zczsgfVxuXG4uYW5tLWRlbGF5cyAuaGVhZGVyLXRpdGxlIGg2IHNwYW4ge1xuICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDAuM3M7IH1cblxuLmFubS1kZWxheXMgaGVhZGVyIHtcbiAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAwLjNzOyB9XG4gIC5hbm0tZGVsYXlzIGhlYWRlciAuaGVhZGVyLXRpdGxlLXdyYXBwZXIge1xuICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMC4zczsgfVxuICAuYW5tLWRlbGF5cyBoZWFkZXI6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDAuM3M7IH1cblxuaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3MHZoO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG4gIC5pbmZvZ3JhcGhpYyBoZWFkZXIge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBoZWFkZXIge1xuICAgICAgaGVpZ2h0OiA3MHZoOyB9IH1cbiAgaGVhZGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMTM0cHggMjI0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZjNmM2YzIHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgaGVhZGVyOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDY3cHggMTEycHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgaGVhZGVyOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDY3cHggMTEycHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgaGVhZGVyOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDMzcHggNTZweDsgfSB9XG4gIGhlYWRlcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNzAlO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDcwJSk7XG4gICAgLyogRkYzLjYtMTUgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC42KSA3MCUpO1xuICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDcwJSk7XG4gICAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICBoZWFkZXIud2l0aC1pbnRybzpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudDsgfVxuICBoZWFkZXIgLmhlYWRlci1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHBhZGRpbmc6IDUwcHggODBweDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgaGVhZGVyIC5oZWFkZXItY29udGVudCAjbG9nbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciAuaGVhZGVyLWNvbnRlbnQgI2xvZ28ge1xuICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7IH0gfVxuICAgIGhlYWRlciAuaGVhZGVyLWNvbnRlbnQgLmhlYWRlci1jb250ZW50LWlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMzBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMjBweCAzMHB4OyB9IH1cbiAgaGVhZGVyICNoZWFkZXItc2hhcGUtZGV0YWlsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogNDE4cHg7XG4gICAgaGVpZ2h0OiAzNDlweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgICAgaGVhZGVyICNoZWFkZXItc2hhcGUtZGV0YWlsIHtcbiAgICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgICBoZWlnaHQ6IDI5MnB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIGhlYWRlciAjaGVhZGVyLXNoYXBlLWRldGFpbCB7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiAyNTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBoZWFkZXIgI2hlYWRlci1zaGFwZS1kZXRhaWwge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIGhlaWdodDogMTkycHg7IH0gfVxuICBoZWFkZXIgLmluZGV4IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDk5OTsgfVxuICAgIGhlYWRlciAuaW5kZXggLmluZGV4LWljb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgbGVmdDogNDBweDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAwczsgfVxuICAgICAgaGVhZGVyIC5pbmRleCAuaW5kZXgtaWNvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLThweDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAwczsgfVxuICAgICAgaGVhZGVyIC5pbmRleCAuaW5kZXgtaWNvbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtOHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDBzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgaGVhZGVyIC5pbmRleCAuaW5kZXgtaWNvbiB7XG4gICAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICAgIGxlZnQ6IDMwcHg7IH0gfVxuICAgIGhlYWRlciAuaW5kZXggI2luZGV4LXNoYXBlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICBoZWFkZXIgLmluZGV4ICNpbmRleC1zaGFwZSBwb2x5bGluZSB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2Utb3V0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmluZGV4IHtcbiAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICB0b3A6IC0yMHB4OyB9IH1cbiAgaGVhZGVyICNoZWFkZXItbGluZTEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDQ2MnB4O1xuICAgIGhlaWdodDogMjY4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIGhlYWRlciAjaGVhZGVyLWxpbmUxIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgaGVhZGVyICNoZWFkZXItbGluZTEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgaGVhZGVyICNoZWFkZXItbGluZTIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDYzMHB4O1xuICAgIGhlaWdodDogMzY2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgaGVhZGVyICNoZWFkZXItbGluZTIgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBoZWFkZXIgI2hlYWRlci1saW5lMiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1uZXdzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogNjAwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgei1pbmRleDogMjsgfVxuICAgIGhlYWRlciAuaGVhZGVyLW5ld3MgaDQsXG4gICAgaGVhZGVyIC5oZWFkZXItbmV3cyBwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBoZWFkZXIgLmhlYWRlci1uZXdzICNuZXdzLXNoYXBlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIGhlYWRlciBuYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogOTk4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIGhlYWRlciBuYXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNkNDE1NGI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLW91dDsgfVxuICAgIGhlYWRlciBuYXYgLm5hdi1saXN0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMjBweDtcbiAgICAgIHRvcDogMTYwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBlYXNlLW91dDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIGhlYWRlciBuYXYgLm5hdi1saXN0IHVsIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgaGVhZGVyIG5hdiAubmF2LWxpc3QgdWwgbGkge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgICAgICBoZWFkZXIgbmF2IC5uYXYtbGlzdCB1bCBsaSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2Utb3V0OyB9XG4gICAgICAgICAgICBoZWFkZXIgbmF2IC5uYXYtbGlzdCB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNjMmI3OGE7IH1cbiAgICAgICAgaGVhZGVyIG5hdiAubmF2LWxpc3QgdWwubWFpbiBsaSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgICAgICAgIGhlYWRlciBuYXYgLm5hdi1saXN0IHVsLm1haW4gbGkgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgICBoZWFkZXIgbmF2IC5uYXYtbGlzdCB1bC5tYWluIGxpIGE6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYzJiNzhhO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpOyB9XG4gICAgICAgICAgICBoZWFkZXIgbmF2IC5uYXYtbGlzdCB1bC5tYWluIGxpIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICBoZWFkZXIgbmF2IC5uYXYtbGlzdCB7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgICAgICBoZWFkZXIgbmF2IC5uYXYtbGlzdCB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICAgIGhlYWRlciBuYXYgLm5hdi1saXN0IHVsIGxpIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwOyB9XG4gICAgICAgICAgICBoZWFkZXIgbmF2IC5uYXYtbGlzdCB1bC5tYWluIGxpIGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuODc1cmVtOyB9IH1cbiAgICBoZWFkZXIgbmF2ICNzZWFyY2gtZm9ybSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwcHg7XG4gICAgICByaWdodDogMTIwcHg7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBlYXNlLW91dDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICBoZWFkZXIgbmF2ICNzZWFyY2gtZm9ybSB7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgIGhlYWRlciBuYXYgI3NlYXJjaC1mb3JtICNzZWFyY2gge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgcGFkZGluZzogMCA2MHB4IDAgMjBweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgICBmb250LWZhbWlseTogXCJTaWduaWthXCIsIEhlbHZldGljYSwgQXJpYWw7IH1cbiAgICAgIGhlYWRlciBuYXYgI3NlYXJjaC1mb3JtICNzZWFyY2gtc3VibWl0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi1zZWFyY2guc3ZnXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBib3JkZXI6IDA7IH1cbiAgaGVhZGVyIC5zaXRlLXZlcmhhYWwtc2VhcmNoLXJlc3VsdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAycmVtOyB9XG4gIGhlYWRlciAjaW5kZXgtc2hhcGUtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA1MDE7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBoZWFkZXIgI2luZGV4LXNoYXBlLW9wZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItdGl0bGUtd3JhcHBlciB7XG4gICAgaGVpZ2h0OiA3MHZoOyB9XG4gICAgaGVhZGVyIC5oZWFkZXItdGl0bGUtd3JhcHBlciAuaGVhZGVyLXRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogOTsgfVxuICAgICAgaGVhZGVyIC5oZWFkZXItdGl0bGUtd3JhcHBlciAuaGVhZGVyLXRpdGxlIC5wcm9qZWN0LWRhdGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICBoZWFkZXIgLmhlYWRlci10aXRsZS13cmFwcGVyIC5oZWFkZXItdGl0bGUgaDEsXG4gICAgICBoZWFkZXIgLmhlYWRlci10aXRsZS13cmFwcGVyIC5oZWFkZXItdGl0bGUgaDUsXG4gICAgICBoZWFkZXIgLmhlYWRlci10aXRsZS13cmFwcGVyIC5oZWFkZXItdGl0bGUgaDYge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICBoZWFkZXIgLmhlYWRlci10aXRsZS13cmFwcGVyIC5oZWFkZXItdGl0bGUgaDEgc3BhbixcbiAgICAgICAgaGVhZGVyIC5oZWFkZXItdGl0bGUtd3JhcHBlciAuaGVhZGVyLXRpdGxlIGg1IHNwYW4sXG4gICAgICAgIGhlYWRlciAuaGVhZGVyLXRpdGxlLXdyYXBwZXIgLmhlYWRlci10aXRsZSBoNiBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIGhlYWRlciAuaGVhZGVyLXRpdGxlLXdyYXBwZXIgLmhlYWRlci10aXRsZSBoNSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICBoZWFkZXIgLmhlYWRlci10aXRsZS13cmFwcGVyIC5oZWFkZXItdGl0bGUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgYm90dG9tOiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDcwdmg7IH0gfVxuXG4uZnJvbnRwYWdlIGhlYWRlciB7XG4gIGhlaWdodDogMTAwdmg7IH1cbiAgLmZyb250cGFnZSBoZWFkZXI6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mcm9udHBhZ2UgaGVhZGVyOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mcm9udHBhZ2UgaGVhZGVyIC5oZWFkZXItY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBwYWRkaW5nOiA1MHB4IDgwcHg7XG4gICAgd2lkdGg6IDYwMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gICAgICAuZnJvbnRwYWdlIGhlYWRlciAuaGVhZGVyLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggNzBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY1MHB4KSB7XG4gICAgICAuZnJvbnRwYWdlIGhlYWRlciAuaGVhZGVyLWNvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuZnJvbnRwYWdlIGhlYWRlciAuaGVhZGVyLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogNTAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZyb250cGFnZSBoZWFkZXIgLmhlYWRlci1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI0LjkzNzVlbSkge1xuICAgICAgLmZyb250cGFnZSBoZWFkZXIgLmhlYWRlci1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDI1MHB4OyB9IH1cbiAgICAuZnJvbnRwYWdlIGhlYWRlciAuaGVhZGVyLWNvbnRlbnQgI2xvZ28ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmZyb250cGFnZSBoZWFkZXIgLmhlYWRlci1jb250ZW50ICNsb2dvIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4OyB9IH1cbiAgICAuZnJvbnRwYWdlIGhlYWRlciAuaGVhZGVyLWNvbnRlbnQgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDclIDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZyb250cGFnZSBoZWFkZXIgLmhlYWRlci1jb250ZW50IHAge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgIC5mcm9udHBhZ2UgaGVhZGVyIC5oZWFkZXItY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5mcm9udHBhZ2UgaGVhZGVyIC5oZWFkZXItY29udGVudCAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiA3JSAwIDA7IH1cbiAgICAgIC5mcm9udHBhZ2UgaGVhZGVyIC5oZWFkZXItY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5mcm9udHBhZ2UgaGVhZGVyIC5oZWFkZXItY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLW91dDsgfVxuICAgICAgLmZyb250cGFnZSBoZWFkZXIgLmhlYWRlci1jb250ZW50IC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmZyb250cGFnZSBoZWFkZXIgI2hlYWRlci1zaGFwZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDY1MHB4O1xuICAgIGhlaWdodDogOTI4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgIC5mcm9udHBhZ2UgaGVhZGVyICNoZWFkZXItc2hhcGUge1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgICAgIGhlaWdodDogODU2cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NTBweCkge1xuICAgICAgLmZyb250cGFnZSBoZWFkZXIgI2hlYWRlci1zaGFwZSB7XG4gICAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgICAgaGVpZ2h0OiA4NTZweDtcbiAgICAgICAgdG9wOiAtNTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuZnJvbnRwYWdlIGhlYWRlciAjaGVhZGVyLXNoYXBlIHtcbiAgICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgICBoZWlnaHQ6IDcxNHB4O1xuICAgICAgICB0b3A6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZyb250cGFnZSBoZWFkZXIgI2hlYWRlci1zaGFwZSB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiAzNTdweDtcbiAgICAgICAgdG9wOiAtMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjQuOTM3NWVtKSB7XG4gICAgICAuZnJvbnRwYWdlIGhlYWRlciAjaGVhZGVyLXNoYXBlIHtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBoZWlnaHQ6IDM1N3B4OyB9IH1cbiAgLmZyb250cGFnZSBoZWFkZXIgLmdyYWRpZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDAsIDAsIDAsIDApKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC41KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC41KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7XG4gICAgei1pbmRleDogMDsgfVxuICAuZnJvbnRwYWdlIGhlYWRlciAubmF2LWJ1dHRvbnMgLm5hdi1kb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogODk5O1xuICAgIGJvdHRvbTogNTVweDtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvbmF2LWFycm93LWRvd24uc3ZnXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAwLjVzOyB9XG4gICAgLmZyb250cGFnZSBoZWFkZXIgLm5hdi1idXR0b25zIC5uYXYtZG93bi5oaWRlLW5hdiB7XG4gICAgICBib3R0b206IC03NnB4OyB9XG4gICAgLmZyb250cGFnZSBoZWFkZXIgLm5hdi1idXR0b25zIC5uYXYtZG93bjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZnJvbnRwYWdlIGhlYWRlciAubmF2LWJ1dHRvbnMgLm5hdi1kb3duIHtcbiAgICAgICAgYm90dG9tOiAyMHB4OyB9IH1cbiAgLmZyb250cGFnZSBoZWFkZXIgLm5hdi1idXR0b25zIC5uYXYtZG93bi10ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogODk5O1xuICAgIGJvdHRvbTogODVweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNTBweDtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNpZ25pa2FcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNXM7IH1cbiAgICAuZnJvbnRwYWdlIGhlYWRlciAubmF2LWJ1dHRvbnMgLm5hdi1kb3duLXRleHQgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMC42cztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIC5mcm9udHBhZ2UgaGVhZGVyIC5uYXYtYnV0dG9ucyAubmF2LWRvd24tdGV4dC5oaWRlLW5hdiBzcGFuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZyb250cGFnZSBoZWFkZXIgLm5hdi1idXR0b25zIC5uYXYtZG93bi10ZXh0IHtcbiAgICAgICAgYm90dG9tOiA3MHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1lbnUtb3BlbiBuYXYge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5tZW51LW9wZW4gbmF2IC5uYXYtbGlzdCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7IH1cbiAgLm1lbnUtb3BlbiBuYXYgI3NlYXJjaC1mb3JtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC41czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWVudS1vcGVuIG5hdjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH0gfVxuXG4ubWVudS1vcGVuIC5pbmRleCAuaW5kZXgtaWNvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMHM7IH1cbiAgLm1lbnUtb3BlbiAuaW5kZXggLmluZGV4LWljb246YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMHM7IH1cbiAgLm1lbnUtb3BlbiAuaW5kZXggLmluZGV4LWljb246YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMHM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5tZW51LW9wZW4gaGVhZGVyIGgxIHtcbiAgICB6LWluZGV4OiA5OTc7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAubWVudS1vcGVuIGhlYWRlciAjbG9nbyB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5pbnRybyB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDYwcHggMDsgfVxuICAuaW50cm8gaDYge1xuICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgLmludHJvIHAge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmludHJvIHAge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuaW50cm8ge1xuICAgICAgcGFkZGluZzogMzBweCAwOyB9XG4gICAgICAuaW50cm8gcCB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnByb2plY3RzIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5wcm9qZWN0cyAucHJvamVjdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnByb2plY3Qge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zJTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wcm9qZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnByb2plY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnByb2plY3Q6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDY2cHg7XG4gICAgaGVpZ2h0OiA0M3B4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9jb3JuZXItcmlnaHQuc3ZnXCIpO1xuICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wcm9qZWN0OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAucHJvamVjdCAucHJvamVjdC1wYWRkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA1NTBweDtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpOyB9XG4gICAgLnByb2plY3QgLnByb2plY3QtcGFkZGluZyAucHJvamVjdC1iYWNrZ3JvdW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLnByb2plY3QgLnByb2plY3QtcGFkZGluZyAucHJvamVjdC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICBoZWlnaHQ6IDI1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICAgIC5wcm9qZWN0IC5wcm9qZWN0LXBhZGRpbmcgLnByb2plY3QtYmFja2dyb3VuZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDIwNnB4IDc2NnB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZmZmYgdHJhbnNwYXJlbnQ7IH1cbiAgICAucHJvamVjdCAucHJvamVjdC1wYWRkaW5nIC5wcm9qZWN0LWlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucHJvamVjdCAucHJvamVjdC1wYWRkaW5nIC5wcm9qZWN0LWlubmVyIC5wcm9qZWN0LWlubmVyLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4OyB9XG4gICAgICAgIC5wcm9qZWN0IC5wcm9qZWN0LXBhZGRpbmcgLnByb2plY3QtaW5uZXIgLnByb2plY3QtaW5uZXItY29udGVudCBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAucHJvamVjdCAucHJvamVjdC1wYWRkaW5nIC5wcm9qZWN0LWlubmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAucHJvamVjdCAucHJvamVjdC1wYWRkaW5nIC5wcm9qZWN0LWlubmVyIC5wcm9qZWN0LWlubmVyLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHJvamVjdCAucHJvamVjdC1wYWRkaW5nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDEwcHggMDsgfSB9XG4gIC5wcm9qZWN0LndpZHRoMiB7XG4gICAgd2lkdGg6IDY2LjYlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHJvamVjdC53aWR0aDIgLnByb2plY3QtcGFkZGluZyB7XG4gICAgICAgIGhlaWdodDogNDAwcHg7IH0gfVxuICAgIC5wcm9qZWN0LndpZHRoMiAucHJvamVjdC1wYWRkaW5nIC5wcm9qZWN0LWJhY2tncm91bmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAucHJvamVjdC53aWR0aDIgLnByb2plY3QtcGFkZGluZyAucHJvamVjdC1iYWNrZ3JvdW5kOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC41KSAxMDAlKTtcbiAgICAgICAgLyogRkYzLjYtMTUgKi9cbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7XG4gICAgICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC41KSAxMDAlKTtcbiAgICAgICAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5wcm9qZWN0LndpZHRoMiAucHJvamVjdC1wYWRkaW5nIC5wcm9qZWN0LWJhY2tncm91bmQge1xuICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9IH1cbiAgICAucHJvamVjdC53aWR0aDIgLnByb2plY3QtcGFkZGluZyAucHJvamVjdC1pbm5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAucHJvamVjdC53aWR0aDIgLnByb2plY3QtcGFkZGluZyAucHJvamVjdC1pbm5lciAucHJvamVjdC1pbm5lci1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogNTBweDsgfVxuICAgICAgLnByb2plY3Qud2lkdGgyIC5wcm9qZWN0LXBhZGRpbmcgLnByb2plY3QtaW5uZXIgaDMge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLnByb2plY3Qud2lkdGgyIC5wcm9qZWN0LXBhZGRpbmcgLnByb2plY3QtaW5uZXIgcCB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAucHJvamVjdC53aWR0aDIgLnByb2plY3QtcGFkZGluZyAucHJvamVjdC1pbm5lciAucHJvamVjdC1pbm5lci1jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cbiAgLnByb2plY3Qubm8taW1hZ2UgLnByb2plY3QtcGFkZGluZyB7XG4gICAgYmFja2dyb3VuZDogIzZmMmQ2YTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNmYyZDZhIDAlLCAjNWQxMzU3IDEwMCUpO1xuICAgIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHJvamVjdC5uby1pbWFnZSAucHJvamVjdC1wYWRkaW5nIHtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDsgfSB9XG4gICAgLnByb2plY3Qubm8taW1hZ2UgLnByb2plY3QtcGFkZGluZyAucHJvamVjdC1iYWNrZ3JvdW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLnByb2plY3Qubm8taW1hZ2UgLnByb2plY3QtcGFkZGluZyAucHJvamVjdC1iYWNrZ3JvdW5kOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAyNTZweDtcbiAgICAgICAgaGVpZ2h0OiAyMTRweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3Byb2plY3QtbGluZS5zdmdcIik7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnByb2plY3Qubm8taW1hZ2UgLnByb2plY3QtcGFkZGluZyAucHJvamVjdC1pbm5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAucHJvamVjdC5uby1pbWFnZSAucHJvamVjdC1wYWRkaW5nIC5wcm9qZWN0LWlubmVyIC5wcm9qZWN0LWlubmVyLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4OyB9XG4gICAgICAucHJvamVjdC5uby1pbWFnZSAucHJvamVjdC1wYWRkaW5nIC5wcm9qZWN0LWlubmVyIGgzIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5wcm9qZWN0Lm5vLWltYWdlIC5wcm9qZWN0LXBhZGRpbmcgLnByb2plY3QtaW5uZXIgcCB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgLnByb2plY3Quc2hvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7IH1cbiAgICAucHJvamVjdC5zaG93OmhvdmVyIC5wcm9qZWN0LXBhZGRpbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICAgLnByb2plY3Quc2hvdzpob3ZlcjphZnRlciB7XG4gICAgICB0b3A6IC0xMHB4OyB9XG5cbi5wcm9qZWN0LXNpemUge1xuICB3aWR0aDogMzMuMyU7IH1cblxuLmdyYXkyIC5wcm9qZWN0OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2Nvcm5lci1yaWdodDIuc3ZnXCIpOyB9XG5cbi5sb2dvcyB7XG4gIHBhZGRpbmc6IDEwMHB4IDA7IH1cbiAgLmxvZ29zIGltZyB7XG4gICAgcGFkZGluZzogMTBweCA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAubG9nb3MgaW1nIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9IH1cblxuLmZ1bGx3aWR0aC1ibG9ja3MgLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDQyMHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mdWxsd2lkdGgtYmxvY2tzIC5jb2x1bW4tYmxvY2sge1xuICAgICAgaGVpZ2h0OiAyMDBweDsgfSB9XG4gIC5mdWxsd2lkdGgtYmxvY2tzIC5jb2x1bW4tYmxvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogMC41cyBhbGwgZWFzZS1vdXQ7IH1cbiAgLmZ1bGx3aWR0aC1ibG9ja3MgLmNvbHVtbi1ibG9jayAuY29sdW1uLWJsb2NrLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgICBwYWRkaW5nOiAwIDQwcHg7IH1cbiAgICAuZnVsbHdpZHRoLWJsb2NrcyAuY29sdW1uLWJsb2NrIC5jb2x1bW4tYmxvY2stY29udGVudCBoMiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBlYXNlLW91dDsgfVxuICAgIC5mdWxsd2lkdGgtYmxvY2tzIC5jb2x1bW4tYmxvY2sgLmNvbHVtbi1ibG9jay1jb250ZW50IHAge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTsgfVxuICAgIC5mdWxsd2lkdGgtYmxvY2tzIC5jb2x1bW4tYmxvY2sgLmNvbHVtbi1ibG9jay1jb250ZW50IC5idXR0b24ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7IH1cbiAgICAuZnVsbHdpZHRoLWJsb2NrcyAuY29sdW1uLWJsb2NrIC5jb2x1bW4tYmxvY2stY29udGVudC5jbG9zZWQge1xuICAgICAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmZ1bGx3aWR0aC1ibG9ja3MgLmNvbHVtbi1ibG9jazpob3ZlciAuY29sdW1uLWJsb2NrLWNvbnRlbnQgLmJ1dHRvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIG9wYWNpdHkgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAwLjJzLCAwLjVzIHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDAuMnMsIDAuNXMgYmFja2dyb3VuZCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDBzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAuZnVsbHdpZHRoLWJsb2NrcyAuY29sdW1uLWJsb2NrOmhvdmVyIC5jb2x1bW4tYmxvY2stY29udGVudCBwIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAuZnVsbHdpZHRoLWJsb2NrcyAuY29sdW1uLWJsb2NrOmhvdmVyOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZnVsbHdpZHRoLWJsb2NrcyAuY29sdW1uLWJsb2NrOmhvdmVyIC5jb2x1bW4tYmxvY2stY29udGVudCAuYnV0dG9uLFxuICAgIC5mdWxsd2lkdGgtYmxvY2tzIC5jb2x1bW4tYmxvY2s6aG92ZXIgLmNvbHVtbi1ibG9jay1jb250ZW50IHAge1xuICAgICAgb3BhY2l0eTogMDsgfSB9XG4gIC5mdWxsd2lkdGgtYmxvY2tzIC5jb2x1bW4tYmxvY2sjZGViZXdlZ2luZyBoMiwgLmZ1bGx3aWR0aC1ibG9ja3MgLmNvbHVtbi1ibG9jayN0aWpkbGlqbiBoMiB7XG4gICAgY29sb3I6ICM1YTBlNTQ7IH1cbiAgLmZ1bGx3aWR0aC1ibG9ja3MgLmNvbHVtbi1ibG9jayNkZWJld2VnaW5nOmhvdmVyIGgyLCAuZnVsbHdpZHRoLWJsb2NrcyAuY29sdW1uLWJsb2NrI3RpamRsaWpuOmhvdmVyIGgyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuZnVsbHdpZHRoLWJsb2NrcyAuY29sdW1uLWJsb2NrI3dlcmtlbmJpanNha3MgaDIge1xuICAgIHRleHQtc2hhZG93OiAwIDAgNjBweCBibGFjazsgfVxuICAuZnVsbHdpZHRoLWJsb2NrcyAuY29sdW1uLWJsb2NrI3Zvb3JvdWRlcnMgaDIge1xuICAgIHRleHQtc2hhZG93OiAwIDAgNDBweCBibGFjazsgfVxuICAuZnVsbHdpZHRoLWJsb2NrcyAuY29sdW1uLWJsb2NrLmNvbHVtbi1ibG9jay1mdWxsd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5jb250ZW50LWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDYwcHggMDsgfVxuICAuY29udGVudC1pbWFnZSBpbWcub3V0b2Z0aGVib3gge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjAlO1xuICAgIG1heC13aWR0aDogMTIwJTtcbiAgICB3aWR0aDogMTIwJTsgfVxuICAuY29udGVudC1pbWFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDc3cHggNDVweCAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2YzZjNmMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNvbnRlbnQtaW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDM4cHggMjJweCAwOyB9IH1cbiAgLmNvbnRlbnQtaW1hZ2UgLmNvbnRlbnQtdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMzIlO1xuICAgIHJpZ2h0OiAtMzIlO1xuICAgIGJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgIGNvbG9yOiAjNzE3MTcxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jb250ZW50LWltYWdlIHtcbiAgICAgIG1hcmdpbjogNDBweCAwOyB9XG4gICAgICAuY29udGVudC1pbWFnZSBpbWcub3V0b2Z0aGVib3gge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmNvbnRlbnQtaW1hZ2UgLmNvbnRlbnQtdGl0bGUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbmJsb2NrcXVvdGUge1xuICBmb250LWZhbWlseTogXCJTaWduaWthXCIsIEhlbHZldGljYSwgQXJpYWw7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgcGFkZGluZzogMjBweCAzMHB4O1xuICBtYXJnaW46IDIwcHggMCAzNXB4O1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgIG1hcmdpbjogNXB4IDAgMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4OyB9IH1cblxuLnNvY2lhbC1zaGFyZSBpbWcge1xuICBtYXJnaW46IDZweCA2cHggMCAwOyB9XG5cbi5uZXh0LXByb2plY3Qge1xuICBiYWNrZ3JvdW5kOiAjZDQxNTRiO1xuICBwYWRkaW5nOiAzMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMzQwcHg7XG4gIHRvcDogLTUwcHg7IH1cbiAgLm5leHQtcHJvamVjdCBoNiB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCAwO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2Fycm93LXJpZ2h0LnN2Z1wiKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0OyB9XG4gIC5uZXh0LXByb2plY3QgaDUge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5uZXh0LXByb2plY3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcbiAgICAgIHRvcDogMDsgfSB9XG5cbi5zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxJTtcbiAgd2lkdGg6IDE1JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnN1Ym1lbnUgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAuc3VibWVudSBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLnN1Ym1lbnUgbGkgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZDQxNTRiOyB9XG4gICAgLnN1Ym1lbnUgbGkuYWN0aXZlIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICNkNDE1NGI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAuc3VibWVudSBsaS5hY3RpdmUgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogNC41cHggMCA0LjVweCA5cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2Q0MTU0YjsgfVxuICAuc3VibWVudS5maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMzBweDtcbiAgICB6LWluZGV4OiAxMTsgfVxuXG4uYnV0dG9uLmFycm93IHtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgYmFja2dyb3VuZDogI2Q0MTU0YiB1cmwoXCIuLi9pbWcvYXJyb3ctcmlnaHQuc3ZnXCIpIHJpZ2h0IDIwcHggY2VudGVyIG5vLXJlcGVhdDsgfVxuXG4uYnV0dG9uLmxpbmUge1xuICBtYXJnaW46IDA7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgYmFja2dyb3VuZDogI2Q0MTU0YiB1cmwoXCIuLi9pbWcvYXJyb3ctcmlnaHQuc3ZnXCIpIHJpZ2h0IDIwcHggY2VudGVyIG5vLXJlcGVhdDsgfVxuICAuYnV0dG9uLmxpbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMC45Mzc1cmVtO1xuICAgIGJvdHRvbTogLTFweDtcbiAgICByaWdodDogMC45Mzc1cmVtO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNjMmMyYzI7IH1cblxuLm1hZ2F6aW5lLXNsaWRlciB7XG4gIG1hcmdpbjogNDBweCAwIDA7IH1cbiAgLm1hZ2F6aW5lLXNsaWRlciAuc2xpZGUge1xuICAgIHdpZHRoOiAzMyU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLW91dDtcbiAgICBwYWRkaW5nOiAwIDIwcHggNDBweCAwOyB9XG4gICAgLm1hZ2F6aW5lLXNsaWRlciAuc2xpZGUgaDUge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICAubWFnYXppbmUtc2xpZGVyIC5zbGlkZSAuaGlnaGxpZ2h0cyxcbiAgICAubWFnYXppbmUtc2xpZGVyIC5zbGlkZSB1bCB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gICAgICAubWFnYXppbmUtc2xpZGVyIC5zbGlkZSAuaGlnaGxpZ2h0cyBsaSxcbiAgICAgIC5tYWdhemluZS1zbGlkZXIgLnNsaWRlIHVsIGxpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNjk2OTY5O1xuICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogNXB4IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgICAubWFnYXppbmUtc2xpZGVyIC5zbGlkZS5ieC1jbG9uZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1hZ2F6aW5lLXNsaWRlciAuc2xpZGUuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAubWFnYXppbmUtc2xpZGVyIC5zbGlkZSAubGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLm1hZ2F6aW5lLXNsaWRlciAuc2xpZGUge1xuICAgICAgICB3aWR0aDogNDklOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5tYWdhemluZS1zbGlkZXIgLnNsaWRlIHtcbiAgICAgICAgd2lkdGg6IDQ5JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjQuOTM3NWVtKSB7XG4gICAgICAubWFnYXppbmUtc2xpZGVyIC5zbGlkZSB7XG4gICAgICAgIHdpZHRoOiA0OSU7IH0gfVxuICAubWFnYXppbmUtc2xpZGVyIC5jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ubWFnYXppbmUtc2lnbnVwIHtcbiAgYmFja2dyb3VuZDogI2Q0MTU0YjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA4MHB4IDA7IH1cbiAgLm1hZ2F6aW5lLXNpZ251cCBoMiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1hZ2F6aW5lLXNpZ251cCBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1hZ2F6aW5lLXNpZ251cCAuYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmJ4LXdyYXBwZXIge1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgLmJ4LXdyYXBwZXIgLmJ4LXZpZXdwb3J0IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuYngtd3JhcHBlciAuYngtdmlld3BvcnQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgLmJ4LXdyYXBwZXIgLmJ4LW5leHQge1xuICAgIHdpZHRoOiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxN3B4ICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IC03MHB4ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAyMDBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcnJvdy1yaWdodC1yZWQuc3ZnXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0OyB9XG4gICAgLmJ4LXdyYXBwZXIgLmJ4LW5leHQ6Zm9jdXMsIC5ieC13cmFwcGVyIC5ieC1uZXh0OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgICAgLmJ4LXdyYXBwZXIgLmJ4LW5leHQge1xuICAgICAgICB0b3A6IDU1cHggIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDEwcHggIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuYngtd3JhcHBlciAuYngtbmV4dCB7XG4gICAgICAgIHRvcDogNTVweCAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAxMDBweCAhaW1wb3J0YW50OyB9IH1cbiAgLmJ4LXdyYXBwZXIgLmJ4LXByZXYge1xuICAgIHdpZHRoOiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxN3B4ICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogLTgwcHggIWltcG9ydGFudDtcbiAgICB0b3A6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2Fycm93LWxlZnQtcmVkLnN2Z1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxuICAgIC5ieC13cmFwcGVyIC5ieC1wcmV2OmZvY3VzLCAuYngtd3JhcHBlciAuYngtcHJldjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgIC5ieC13cmFwcGVyIC5ieC1wcmV2IHtcbiAgICAgICAgdG9wOiA1NXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDIwcHggIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuYngtd3JhcHBlciAuYngtcHJldiB7XG4gICAgICAgIHRvcDogNTVweCAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAwcHggIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgIC5ieC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9IH1cblxuLnNsaWRlci1ibG9jayB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIG1hcmdpbjogMzBweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNsaWRlci1ibG9jayAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDcwcHggMCAwOyB9XG4gIC5zbGlkZXItYmxvY2sgLmxhcmdlLTEwOmJlZm9yZSxcbiAgLnNsaWRlci1ibG9jayAubGFyZ2UtMTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG4gICAgdG9wOiAtMzVweDtcbiAgICByaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgd2lkdGg6IDMwMCU7XG4gICAgYm90dG9tOiAtMzVweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzOyB9XG5cbi5jb250ZW50LWJsb2NrLWltYWdlIHtcbiAgbWFyZ2luOiA0MHB4IDAgMDsgfVxuICAuY29udGVudC1ibG9jay1pbWFnZSAuYnV0dG9uIHtcbiAgICBtYXJnaW46IC00OHB4IDAgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgfVxuICAgIC5jb250ZW50LWJsb2NrLWltYWdlIC5idXR0b246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI21lZXItcHJvamVjdGVuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyMDsgfVxuXG4uc2Nob2xlbiBpbWcge1xuICB3aWR0aDogMTMwcHg7XG4gIGhlaWdodDogMTMwcHg7XG4gIG1hcmdpbjogMjBweCAwOyB9XG5cbi5zY2hvbGVuIHRhYmxlIHtcbiAgYm9yZGVyOiAwOyB9XG4gIC5zY2hvbGVuIHRhYmxlIHRib2R5IHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnNjaG9sZW4gdGFibGUgdHIge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5zY2hvbGVuIHRhYmxlIHRyIHRkIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAycHggMjBweDsgfVxuICAgICAgLnNjaG9sZW4gdGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyOiAwOyB9XG4gIHRhYmxlIHRib2R5IHtcbiAgICBib3JkZXI6IDA7IH1cbiAgdGFibGUgdHIge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIHRhYmxlIHRyIHRkIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgICAgIHRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuI21hcCB7XG4gIGhlaWdodDogNjAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5maWx0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgLmZpbHRlciBoNCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAyMHB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZpbHRlciBoNCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH0gfVxuICAuZmlsdGVyIC5kYXRlLWZpbHRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmZpbHRlciAuZGF0ZS1maWx0ZXIgaW5wdXQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5maWx0ZXIgLmRhdGUtZmlsdGVyIHNwYW4ge1xuICAgICAgbWFyZ2luOiAwIDVweDsgfVxuICAuZmlsdGVyIC5maWx0ZXItc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmlsdGVyIC5maWx0ZXItc2VhcmNoICNmaWx0ZXItc2VhcmNoLWlucHV0IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICBwYWRkaW5nOiAwIDYwcHggMCAyMHB4O1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgICAgZm9udC1mYW1pbHk6IFwiU2lnbmlrYVwiLCBIZWx2ZXRpY2EsIEFyaWFsOyB9XG4gICAgLmZpbHRlciAuZmlsdGVyLXNlYXJjaCAjZmlsdGVyLXNlYXJjaC1zdWJtaXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA3cHg7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi1zZWFyY2gtYmxhY2suc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZpbHRlciAuZmlsdGVyLXNlYXJjaCB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwOyB9IH1cblxuLnZhY2F0dXJlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgcGFkZGluZzogMzBweDtcbiAgbWFyZ2luOiAyMHB4IC0zMHB4IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7IH1cbiAgLnZhY2F0dXJlIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgdXJsKFwiLi4vaW1nL2Fycm93LXJpZ2h0LXJlZC5zdmdcIikgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogMCAzMHB4IDAgMjBweDtcbiAgICBjb2xvcjogI2Q0MTU0YjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC52YWNhdHVyZSBociB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAudmFjYXR1cmUgdGFibGUge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAudmFjYXR1cmUgdGFibGUgdHIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC52YWNhdHVyZSB0YWJsZSB0ciB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDJweCAyMHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICAgIC52YWNhdHVyZSB0YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAudmFjYXR1cmUgdGFibGUgdGJvZHkge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4gIC52YWNhdHVyZSAucm93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH1cblxuLnN0YWdlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgcGFkZGluZzogMzBweDtcbiAgbWFyZ2luOiAyMHB4IC0zMHB4IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7IH1cbiAgLnN0YWdlIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgdXJsKFwiLi4vaW1nL2Fycm93LXJpZ2h0LXJlZC5zdmdcIikgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogMCAzMHB4IDAgMjBweDtcbiAgICBjb2xvcjogI2Q0MTU0YjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5zdGFnZSBociB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3RhZ2UgLnJvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zdGFnZSAucmVsYXRpdmUge1xuICAgIG1hcmdpbjogNDBweCAwIDA7IH1cblxuZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyMDtcbiAgYmFja2dyb3VuZDogIzIzMWIyMjsgfVxuICBmb290ZXIgLnNvY2lhbC1pY29uIHtcbiAgICBtYXJnaW46IDAgNXB4IDAgMDsgfVxuICAgIGZvb3RlciAuc29jaWFsLWljb246Zm9jdXMsIGZvb3RlciAuc29jaWFsLWljb246aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgb3BhY2l0eTogMC44OyB9XG4gIGZvb3RlciAuc2l0ZW1hcCB7XG4gICAgbWFyZ2luOiAwIDAgNDBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgZm9vdGVyIC5zaXRlbWFwIGxpIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICBmb290ZXIgYTpmb2N1cywgZm9vdGVyIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGZvb3RlciBoNCB7XG4gICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gIGZvb3RlciAuZm9vdGVyLWJvdHRvbSB7XG4gICAgbWFyZ2luOiA1MHB4IDAgMDtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1ib3R0b20gLnJvdyB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZmZmZjsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWJvdHRvbSAuY29weXJpZ2h0LFxuICAgIGZvb3RlciAuZm9vdGVyLWJvdHRvbSAubWVkZXdlcmtlcnMge1xuICAgICAgbWFyZ2luOiAwIDMwcHggMCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgZm9vdGVyIC5mb290ZXItYm90dG9tIC5jb3B5cmlnaHQsXG4gICAgICAgIGZvb3RlciAuZm9vdGVyLWJvdHRvbSAubWVkZXdlcmtlcnMge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgZm9vdGVyIC5mb290ZXItYm90dG9tIC50ZXh0LXJpZ2h0IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAwIDMwcHggMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBmb290ZXIgLmZvb3Rlci1ib3R0b20ge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAgICAgZm9vdGVyIC5mb290ZXItYm90dG9tIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICAgICAgZm9vdGVyIC5mb290ZXItYm90dG9tIC50ZXh0LXJpZ2h0IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICBmb290ZXIgLmZvb3Rlci1ib3R0b20gLnRleHQtcmlnaHQgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgIWltcG9ydGFudCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgZm9vdGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuI3Nha3Mtc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDUyMHB4O1xuICBwYWRkaW5nOiAwIDAgNDBweCAwO1xuICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43NSwgMC4wNCwgMC40MSwgMC45NSk7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI3Nha3Mtc2xpZGVyIHtcbiAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICBwYWRkaW5nOiAwcHggMCAwIDA7IH0gfVxuICAjc2Frcy1zbGlkZXIgLnNsaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjAwcHg7XG4gICAgYm94LXNoYWRvdzogMCA0MXB4IDUxcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIHRyYW5zaXRpb246IDFzIGFsbCBjdWJpYy1iZXppZXIoMC43NSwgMC4wNCwgMC40MSwgMC45NSk7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgbGVmdCwgZmlsdGVyO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwZXJzcGVjdGl2ZTogMTAwMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlciAuc2xpZGUge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTQ1JTtcbiAgICAgICAgaGVpZ2h0OiAyNzBweDsgfSB9XG4gICAgI3Nha3Mtc2xpZGVyIC5zbGlkZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICB0cmFuc2l0aW9uOiAxcyBhbGwgZWFzZS1pbi1vdXQ7IH1cbiAgICAjc2Frcy1zbGlkZXIgLnNsaWRlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDApIDAlLCBibGFjayAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDApIDAlLCBibGFjayAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDApIDAlLCBibGFjayAxMDAlKTsgfVxuICAgICNzYWtzLXNsaWRlciAuc2xpZGUgaDIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIHRyYW5zaXRpb246IDFzIGFsbCBlYXNlLWluLW91dDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICNzYWtzLXNsaWRlciAuc2xpZGUgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAgICNzYWtzLXNsaWRlciAuc2xpZGUgLnBsYXktYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA3NnB4O1xuICAgICAgaGVpZ2h0OiA3NnB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiAxcyBhbGwgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC44KSAwJSwgcmdiYSgxMDIsIDQwLCAxMDUsIDAuOCkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuOCkgMCUsIHJnYmEoMTAyLCA0MCwgMTA1LCAwLjgpIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuOCkgMCUsIHJnYmEoMTAyLCA0MCwgMTA1LCAwLjgpIDEwMCUpOyB9XG4gICAgICAjc2Frcy1zbGlkZXIgLnNsaWRlIC5wbGF5LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4IDAgMTBweCAxOHB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAjc2Frcy1zbGlkZXIgLnNsaWRlIC5wbGF5LWJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlOyB9XG4gICAgICAgICAgI3Nha3Mtc2xpZGVyIC5zbGlkZSAucGxheS1idXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogOHB4IDAgOHB4IDEycHg7IH0gfVxuICAjc2Frcy1zbGlkZXIgLnNsaWRlLXByZXYge1xuICAgIHRvcDogMzglO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTIyNnB4O1xuICAgIG1hcmdpbi10b3A6IC0yNnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NsaWRlci1wcmV2LnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyIC5zbGlkZS1wcmV2IHtcbiAgICAgICAgbGVmdDogNSU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC01NnB4OyB9IH1cbiAgI3Nha3Mtc2xpZGVyIC5zbGlkZS1uZXh0IHtcbiAgICB0b3A6IDM4JTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IDE3NHB4O1xuICAgIG1hcmdpbi10b3A6IC0yNnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NsaWRlci1uZXh0LnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyIC5zbGlkZS1uZXh0IHtcbiAgICAgICAgbGVmdDogOTUlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNTZweDsgfSB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTEtYWN0aXZlICNzbGlkZTEge1xuICAgIHotaW5kZXg6IDM7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxKTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cigwcHgpO1xuICAgIGZpbHRlcjogYmx1cigwcHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMS1hY3RpdmUgI3NsaWRlMTpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTEtYWN0aXZlICNzbGlkZTEgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTEtYWN0aXZlICNzbGlkZTEgaDIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGUyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGxlZnQ6IDc1JTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLjgpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDEuNXB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoMS41cHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMS1hY3RpdmUgI3NsaWRlMjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjU7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGUyIC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGUyIGgyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTEtYWN0aXZlICNzbGlkZTIge1xuICAgICAgICBsZWZ0OiA4MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlMS1hY3RpdmUgI3NsaWRlMiB7XG4gICAgICAgIGxlZnQ6IDg1JTsgfSB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTEtYWN0aXZlICNzbGlkZTMge1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGVmdDogOTAlO1xuICAgIG1hcmdpbi10b3A6IDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLjYpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgZmlsdGVyOiBibHVyKDRweCk7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGUzOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuODsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTEtYWN0aXZlICNzbGlkZTMgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTEtYWN0aXZlICNzbGlkZTMgaDIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlMS1hY3RpdmUgI3NsaWRlMyB7XG4gICAgICAgIGxlZnQ6IDk1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGUzIHtcbiAgICAgICAgbGVmdDogMTAwJTsgfSB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTEtYWN0aXZlICNzbGlkZTQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDAuNik7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMS1hY3RpdmUgI3NsaWRlNDpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjg7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGU0IC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGU0IGgyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgI3Nha3Mtc2xpZGVyLnNsaWRlMS1hY3RpdmUgI3NsaWRlNSB7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiAxMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMC42KTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgIGZpbHRlcjogYmx1cig0cHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMS1hY3RpdmUgI3NsaWRlNTpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjg7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGU1IC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGU1IGgyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTEtYWN0aXZlICNzbGlkZTUge1xuICAgICAgICBsZWZ0OiA1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGU1IHtcbiAgICAgICAgbGVmdDogMCU7IH0gfVxuICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGU2IHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGxlZnQ6IDI1JTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLjgpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDEuNXB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoMS41cHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMS1hY3RpdmUgI3NsaWRlNjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjU7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGU2IC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUxLWFjdGl2ZSAjc2xpZGU2IGgyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTEtYWN0aXZlICNzbGlkZTYge1xuICAgICAgICBsZWZ0OiAyMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlMS1hY3RpdmUgI3NsaWRlNiB7XG4gICAgICAgIGxlZnQ6IDE1JTsgfSB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTItYWN0aXZlICNzbGlkZTEge1xuICAgIHotaW5kZXg6IDI7XG4gICAgbGVmdDogMjUlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDAuOCk7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMS41cHgpO1xuICAgIGZpbHRlcjogYmx1cigxLjVweCk7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUyLWFjdGl2ZSAjc2xpZGUxOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuNTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTItYWN0aXZlICNzbGlkZTEgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTItYWN0aXZlICNzbGlkZTEgaDIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlMSB7XG4gICAgICAgIGxlZnQ6IDIwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGUyLWFjdGl2ZSAjc2xpZGUxIHtcbiAgICAgICAgbGVmdDogMTUlOyB9IH1cbiAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlMiB7XG4gICAgei1pbmRleDogMztcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDBweCk7XG4gICAgZmlsdGVyOiBibHVyKDBweCk7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUyLWFjdGl2ZSAjc2xpZGUyOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlMiAucGxheS1idXR0b24sXG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlMiBoMiB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTItYWN0aXZlICNzbGlkZTMge1xuICAgIHotaW5kZXg6IDI7XG4gICAgbGVmdDogNzUlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDAuOCk7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMS41cHgpO1xuICAgIGZpbHRlcjogYmx1cigxLjVweCk7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUyLWFjdGl2ZSAjc2xpZGUzOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuNTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTItYWN0aXZlICNzbGlkZTMgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTItYWN0aXZlICNzbGlkZTMgaDIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlMyB7XG4gICAgICAgIGxlZnQ6IDgwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGUyLWFjdGl2ZSAjc2xpZGUzIHtcbiAgICAgICAgbGVmdDogODUlOyB9IH1cbiAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlNCB7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiA5MCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMC42KTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgIGZpbHRlcjogYmx1cig0cHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlNDpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjg7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUyLWFjdGl2ZSAjc2xpZGU0IC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUyLWFjdGl2ZSAjc2xpZGU0IGgyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTItYWN0aXZlICNzbGlkZTQge1xuICAgICAgICBsZWZ0OiA5NSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlNCB7XG4gICAgICAgIGxlZnQ6IDEwMCU7IH0gfVxuICAjc2Frcy1zbGlkZXIuc2xpZGUyLWFjdGl2ZSAjc2xpZGU1IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLjYpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgZmlsdGVyOiBibHVyKDRweCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTItYWN0aXZlICNzbGlkZTU6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC44OyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlNSAucGxheS1idXR0b24sXG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlNSBoMiB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTItYWN0aXZlICNzbGlkZTYge1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGVmdDogMTAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDAuNik7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoNHB4KTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTItYWN0aXZlICNzbGlkZTY6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC44OyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlNiAucGxheS1idXR0b24sXG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlNiBoMiB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGUyLWFjdGl2ZSAjc2xpZGU2IHtcbiAgICAgICAgbGVmdDogNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlMi1hY3RpdmUgI3NsaWRlNiB7XG4gICAgICAgIGxlZnQ6IDAlOyB9IH1cbiAgI3Nha3Mtc2xpZGVyLnNsaWRlMy1hY3RpdmUgI3NsaWRlMSB7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiAxMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMC42KTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgIGZpbHRlcjogYmx1cig0cHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMy1hY3RpdmUgI3NsaWRlMTpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjg7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUzLWFjdGl2ZSAjc2xpZGUxIC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUzLWFjdGl2ZSAjc2xpZGUxIGgyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTMtYWN0aXZlICNzbGlkZTEge1xuICAgICAgICBsZWZ0OiA1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGUzLWFjdGl2ZSAjc2xpZGUxIHtcbiAgICAgICAgbGVmdDogMCU7IH0gfVxuICAjc2Frcy1zbGlkZXIuc2xpZGUzLWFjdGl2ZSAjc2xpZGUyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGxlZnQ6IDI1JTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLjgpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDEuNXB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoMS41cHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMy1hY3RpdmUgI3NsaWRlMjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjU7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUzLWFjdGl2ZSAjc2xpZGUyIC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUzLWFjdGl2ZSAjc2xpZGUyIGgyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTMtYWN0aXZlICNzbGlkZTIge1xuICAgICAgICBsZWZ0OiAyMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlMy1hY3RpdmUgI3NsaWRlMiB7XG4gICAgICAgIGxlZnQ6IDE1JTsgfSB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTMtYWN0aXZlICNzbGlkZTMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxKTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cigwcHgpO1xuICAgIGZpbHRlcjogYmx1cigwcHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMy1hY3RpdmUgI3NsaWRlMzpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTMtYWN0aXZlICNzbGlkZTMgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTMtYWN0aXZlICNzbGlkZTMgaDIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAjc2Frcy1zbGlkZXIuc2xpZGUzLWFjdGl2ZSAjc2xpZGU0IHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGxlZnQ6IDc1JTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLjgpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDEuNXB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoMS41cHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMy1hY3RpdmUgI3NsaWRlNDpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjU7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUzLWFjdGl2ZSAjc2xpZGU0IC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUzLWFjdGl2ZSAjc2xpZGU0IGgyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTMtYWN0aXZlICNzbGlkZTQge1xuICAgICAgICBsZWZ0OiA4MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlMy1hY3RpdmUgI3NsaWRlNCB7XG4gICAgICAgIGxlZnQ6IDg1JTsgfSB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTMtYWN0aXZlICNzbGlkZTUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGVmdDogOTAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDAuNik7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoNHB4KTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTMtYWN0aXZlICNzbGlkZTU6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC44OyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMy1hY3RpdmUgI3NsaWRlNSAucGxheS1idXR0b24sXG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlMy1hY3RpdmUgI3NsaWRlNSBoMiB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGUzLWFjdGl2ZSAjc2xpZGU1IHtcbiAgICAgICAgbGVmdDogOTUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTMtYWN0aXZlICNzbGlkZTUge1xuICAgICAgICBsZWZ0OiAxMDAlOyB9IH1cbiAgI3Nha3Mtc2xpZGVyLnNsaWRlMy1hY3RpdmUgI3NsaWRlNiB7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMC42KTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgIGZpbHRlcjogYmx1cig0cHgpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGUzLWFjdGl2ZSAjc2xpZGU2OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuODsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTMtYWN0aXZlICNzbGlkZTYgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTMtYWN0aXZlICNzbGlkZTYgaDIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAjc2Frcy1zbGlkZXIuc2xpZGU0LWFjdGl2ZSAjc2xpZGUxIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLjYpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgZmlsdGVyOiBibHVyKDRweCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTQtYWN0aXZlICNzbGlkZTE6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC44OyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlMSAucGxheS1idXR0b24sXG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlMSBoMiB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTQtYWN0aXZlICNzbGlkZTIge1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGVmdDogMTAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDAuNik7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoNHB4KTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTQtYWN0aXZlICNzbGlkZTI6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC44OyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlMiAucGxheS1idXR0b24sXG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlMiBoMiB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGU0LWFjdGl2ZSAjc2xpZGUyIHtcbiAgICAgICAgbGVmdDogNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlMiB7XG4gICAgICAgIGxlZnQ6IDAlOyB9IH1cbiAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlMyB7XG4gICAgei1pbmRleDogMjtcbiAgICBsZWZ0OiAyNSU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMC44KTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cigxLjVweCk7XG4gICAgZmlsdGVyOiBibHVyKDEuNXB4KTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTQtYWN0aXZlICNzbGlkZTM6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC41OyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlMyAucGxheS1idXR0b24sXG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlMyBoMiB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGU0LWFjdGl2ZSAjc2xpZGUzIHtcbiAgICAgICAgbGVmdDogMjAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTQtYWN0aXZlICNzbGlkZTMge1xuICAgICAgICBsZWZ0OiAxNSU7IH0gfVxuICAjc2Frcy1zbGlkZXIuc2xpZGU0LWFjdGl2ZSAjc2xpZGU0IHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMHB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoMHB4KTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTQtYWN0aXZlICNzbGlkZTQ6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU0LWFjdGl2ZSAjc2xpZGU0IC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU0LWFjdGl2ZSAjc2xpZGU0IGgyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlNSB7XG4gICAgei1pbmRleDogMjtcbiAgICBsZWZ0OiA3NSU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMC44KTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cigxLjVweCk7XG4gICAgZmlsdGVyOiBibHVyKDEuNXB4KTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTQtYWN0aXZlICNzbGlkZTU6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC41OyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlNSAucGxheS1idXR0b24sXG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlNSBoMiB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGU0LWFjdGl2ZSAjc2xpZGU1IHtcbiAgICAgICAgbGVmdDogODAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTQtYWN0aXZlICNzbGlkZTUge1xuICAgICAgICBsZWZ0OiA4NSU7IH0gfVxuICAjc2Frcy1zbGlkZXIuc2xpZGU0LWFjdGl2ZSAjc2xpZGU2IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGxlZnQ6IDkwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLjYpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgZmlsdGVyOiBibHVyKDRweCk7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU0LWFjdGl2ZSAjc2xpZGU2OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuODsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTQtYWN0aXZlICNzbGlkZTYgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTQtYWN0aXZlICNzbGlkZTYgaDIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlNC1hY3RpdmUgI3NsaWRlNiB7XG4gICAgICAgIGxlZnQ6IDk1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGU0LWFjdGl2ZSAjc2xpZGU2IHtcbiAgICAgICAgbGVmdDogMTAwJTsgfSB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTEge1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGVmdDogOTAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDAuNik7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoNHB4KTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTE6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC44OyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNS1hY3RpdmUgI3NsaWRlMSAucGxheS1idXR0b24sXG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNS1hY3RpdmUgI3NsaWRlMSBoMiB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGU1LWFjdGl2ZSAjc2xpZGUxIHtcbiAgICAgICAgbGVmdDogOTUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTEge1xuICAgICAgICBsZWZ0OiAxMDAlOyB9IH1cbiAgI3Nha3Mtc2xpZGVyLnNsaWRlNS1hY3RpdmUgI3NsaWRlMiB7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMC42KTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgIGZpbHRlcjogYmx1cig0cHgpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU1LWFjdGl2ZSAjc2xpZGUyOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuODsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTIgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTIgaDIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAjc2Frcy1zbGlkZXIuc2xpZGU1LWFjdGl2ZSAjc2xpZGUzIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGxlZnQ6IDEwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLjYpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgZmlsdGVyOiBibHVyKDRweCk7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU1LWFjdGl2ZSAjc2xpZGUzOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuODsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTMgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTMgaDIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlNS1hY3RpdmUgI3NsaWRlMyB7XG4gICAgICAgIGxlZnQ6IDUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTMge1xuICAgICAgICBsZWZ0OiAwJTsgfSB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTQge1xuICAgIHotaW5kZXg6IDI7XG4gICAgbGVmdDogMjUlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDAuOCk7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMS41cHgpO1xuICAgIGZpbHRlcjogYmx1cigxLjVweCk7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU1LWFjdGl2ZSAjc2xpZGU0OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuNTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTQgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTQgaDIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlNS1hY3RpdmUgI3NsaWRlNCB7XG4gICAgICAgIGxlZnQ6IDIwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGU1LWFjdGl2ZSAjc2xpZGU0IHtcbiAgICAgICAgbGVmdDogMTUlOyB9IH1cbiAgI3Nha3Mtc2xpZGVyLnNsaWRlNS1hY3RpdmUgI3NsaWRlNSB7XG4gICAgei1pbmRleDogMztcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDBweCk7XG4gICAgZmlsdGVyOiBibHVyKDBweCk7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU1LWFjdGl2ZSAjc2xpZGU1OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNS1hY3RpdmUgI3NsaWRlNSAucGxheS1idXR0b24sXG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNS1hY3RpdmUgI3NsaWRlNSBoMiB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTYge1xuICAgIHotaW5kZXg6IDI7XG4gICAgbGVmdDogNzUlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDAuOCk7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMS41cHgpO1xuICAgIGZpbHRlcjogYmx1cigxLjVweCk7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU1LWFjdGl2ZSAjc2xpZGU2OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuNTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTYgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTUtYWN0aXZlICNzbGlkZTYgaDIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlNS1hY3RpdmUgI3NsaWRlNiB7XG4gICAgICAgIGxlZnQ6IDgwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGU1LWFjdGl2ZSAjc2xpZGU2IHtcbiAgICAgICAgbGVmdDogODUlOyB9IH1cbiAgI3Nha3Mtc2xpZGVyLnNsaWRlNi1hY3RpdmUgI3NsaWRlMSB7XG4gICAgei1pbmRleDogMjtcbiAgICBsZWZ0OiA3NSU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMC44KTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cigxLjVweCk7XG4gICAgZmlsdGVyOiBibHVyKDEuNXB4KTsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTYtYWN0aXZlICNzbGlkZTE6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC41OyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNi1hY3RpdmUgI3NsaWRlMSAucGxheS1idXR0b24sXG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNi1hY3RpdmUgI3NsaWRlMSBoMiB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMTg3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGUxIHtcbiAgICAgICAgbGVmdDogODAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTYtYWN0aXZlICNzbGlkZTEge1xuICAgICAgICBsZWZ0OiA4NSU7IH0gfVxuICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGUyIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGxlZnQ6IDkwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLjYpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgZmlsdGVyOiBibHVyKDRweCk7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGUyOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuODsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTYtYWN0aXZlICNzbGlkZTIgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTYtYWN0aXZlICNzbGlkZTIgaDIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjE4NzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlNi1hY3RpdmUgI3NsaWRlMiB7XG4gICAgICAgIGxlZnQ6IDk1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGUyIHtcbiAgICAgICAgbGVmdDogMTAwJTsgfSB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTYtYWN0aXZlICNzbGlkZTMge1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDAuNik7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNi1hY3RpdmUgI3NsaWRlMzpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjg7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGUzIC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGUzIGgyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgI3Nha3Mtc2xpZGVyLnNsaWRlNi1hY3RpdmUgI3NsaWRlNCB7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiAxMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMC42KTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgIGZpbHRlcjogYmx1cig0cHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNi1hY3RpdmUgI3NsaWRlNDpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjg7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGU0IC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGU0IGgyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTYtYWN0aXZlICNzbGlkZTQge1xuICAgICAgICBsZWZ0OiA1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGU0IHtcbiAgICAgICAgbGVmdDogMCU7IH0gfVxuICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGU1IHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGxlZnQ6IDI1JTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLjgpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDEuNXB4KTtcbiAgICBmaWx0ZXI6IGJsdXIoMS41cHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNi1hY3RpdmUgI3NsaWRlNTpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjU7IH1cbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGU1IC5wbGF5LWJ1dHRvbixcbiAgICAjc2Frcy1zbGlkZXIuc2xpZGU2LWFjdGl2ZSAjc2xpZGU1IGgyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4xODc1ZW0pIHtcbiAgICAgICNzYWtzLXNsaWRlci5zbGlkZTYtYWN0aXZlICNzbGlkZTUge1xuICAgICAgICBsZWZ0OiAyMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3Nha3Mtc2xpZGVyLnNsaWRlNi1hY3RpdmUgI3NsaWRlNSB7XG4gICAgICAgIGxlZnQ6IDE1JTsgfSB9XG4gICNzYWtzLXNsaWRlci5zbGlkZTYtYWN0aXZlICNzbGlkZTYge1xuICAgIHotaW5kZXg6IDM7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxKTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cigwcHgpO1xuICAgIGZpbHRlcjogYmx1cigwcHgpOyB9XG4gICAgI3Nha3Mtc2xpZGVyLnNsaWRlNi1hY3RpdmUgI3NsaWRlNjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgICNzYWtzLXNsaWRlci5zbGlkZTYtYWN0aXZlICNzbGlkZTYgLnBsYXktYnV0dG9uLFxuICAgICNzYWtzLXNsaWRlci5zbGlkZTYtYWN0aXZlICNzbGlkZTYgaDIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4udmlkZW9zIHtcbiAgbWFyZ2luOiA0MHB4IDAgLTcwcHggMDsgfVxuXG4uZ3JlY2FwdGNoYS1iYWRnZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uaWUta2FhcnQge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuI2FuaW1hdGllIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgI2FuaW1hdGllIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAjYW5pbWF0aWUgc3BhbiBzdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogLTM2JTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS42KSAhaW1wb3J0YW50OyB9XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAocHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZmZmZmY7XG4kcHVycGxlOiAjNWEwZTU0O1xuJGdvbGQ6ICNjMmI3OGE7XG4kYmVycnk6ICNkNDE1NGI7XG4kZ3JheTogI2YzZjNmMztcbiRncmF5MjogI2U1ZTVlNTtcbiRncmF5MzogIzY5Njk2OTtcbiRkYXJrcHVycGxlOiAjMjMxYjIyO1xuXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJ1NpZ25pa2EnLFxuJ0hlbHZldGljYSBOZXVlJyxcbkhlbHZldGljYSxcblJvYm90byxcbkFyaWFsLFxuc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKHNtYWxsOiAwLFxuICBtZWRpdW06IDQwMHB4LFxuICBsYXJnZTogNzY4cHgsXG4gIHhsYXJnZTogMTAyNHB4LFxuICB4eGxhcmdlOiAxMzAwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDE2O1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJ1NpZ25pa2EnLFxuSGVsdmV0aWNhLFxuQXJpYWw7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiA2MDA7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLFxuJ0xpYmVyYXRpb24gTW9ubycsXG5Db3VyaWVyLFxubW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogJHB1cnBsZTtcbiRoZWFkZXItbGluZWhlaWdodDogMS4yO1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiA1JTtcbiRoZWFkZXItc3R5bGVzOiAoc21hbGw6ICgnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSwgJ2gyJzogKCdmb250LXNpemUnOiAyMCksICdoMyc6ICgnZm9udC1zaXplJzogMTcpLCAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSwgJ2g1JzogKCdmb250LXNpemUnOiAxNSksICdoNic6ICgnZm9udC1zaXplJzogMTUpLCApLFxuICBtZWRpdW06ICgnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDMwKSwgJ2gyJzogKCdmb250LXNpemUnOiAyMCksICdoMyc6ICgnZm9udC1zaXplJzogMTcpLCAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSwgJ2g1JzogKCdmb250LXNpemUnOiAxNSksICdoNic6ICgnZm9udC1zaXplJzogMTUpLCApLFxuICBsYXJnZTogKCdoMSc6ICgnZm9udC1zaXplJzogNTApLCAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSwgJ2gzJzogKCdmb250LXNpemUnOiAzMiksICdoNCc6ICgnZm9udC1zaXplJzogMjQpLCAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSwgJ2g2JzogKCdmb250LXNpemUnOiAxNiksICksXG4gIHhsYXJnZTogKCdoMSc6ICgnZm9udC1zaXplJzogNjApLCAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSwgJ2gzJzogKCdmb250LXNpemUnOiAzMiksICdoNCc6ICgnZm9udC1zaXplJzogMjQpLCAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSwgJ2g2JzogKCdmb250LXNpemUnOiAxNiksICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMS4yZW0gMmVtIDEuMWVtIDJlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgMCAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJGJlcnJ5O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDE2cHgsXG4gIGxhcmdlOiAxNnB4LFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsXG5jb2xvciAwLjI1cyBlYXNlLW91dDtcblxuLmJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICYuZ2hvc3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgJi5yZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZDQxNTRiO1xuICAgICAgY29sb3I6ICNkNDE1NGI7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkYmVycnk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRiZXJyeTtcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAodGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsXG5ib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnQpO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAodmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGwpO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZCk7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAuMTYpLFxuMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAod2lkdGgsXG4gIGhlaWdodCk7XG4kcHJvdG90eXBlLXNpemVzOiAoMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAobG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemUpO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4KTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kYmxvY2stZ3JpZC1tYXg6IDg7IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqICBDYWxjdWxhdGUgUGl4ZWxzIHRvIFZXXG4gKi9cblxuQGZ1bmN0aW9uIHZ3KCRwaXhlbHMpIHtcbiAgLy9DcmVhdGUgdGhlIGRlZmF1bHQgdmFyaWFibGVzLCBsaWtlIG5vLiBvZiB2YWx1ZXNcbiAgJG51bWJlci1vZi12YWx1ZXM6IGxlbmd0aCgkcGl4ZWxzKTtcbiAgJHJlc3VsdDogKCk7XG4gICRpOiAxO1xuXG4gIC8vMS4gU2V0IGEgZGVmYXVsdCBNb2JpbGUgUFNEIFdpZHRoXG4gIC8vMi4gRGl2aWRlIGl0IGJ5IDEwMCwgc28gdGhhdCB0aGUgY29ycmVjdCBudW1iZXIgY29tZXMgb3V0XG4gIC8vMy4gV2hlbiB0aGUgY3VzdG9tIHdpZHRoIGlzIHVuaXRsZXNzLCBhZGQgcHggdG8gaXRcbiAgJHdpZHRoLW1vYmlsZS1wc2Q6IDY0MHB4ICFkZWZhdWx0O1xuICAkd2lkdGgtbW9iaWxlLXBzZDogJHdpZHRoLW1vYmlsZS1wc2QvMTAwO1xuXG4gIEBpZiAodW5pdGxlc3MoJHdpZHRoLW1vYmlsZS1wc2QpKSB7XG4gICAgJHdpZHRoLW1vYmlsZS1wc2Q6ICR3aWR0aC1tb2JpbGUtcHNkICogMXB4O1xuICB9XG5cbiAgLy9DcmVhdGUgYSBsb29wIHRoYXQgZ29lcyB0byBhbCB0aGUgdmFsdWVzIGluIHRoZSB2YXJpYWJsZSAkbnVtYmVyXG4gIC8vMS4gU3BsaXQgaXQgdXNpbmcgdGhlIG50aCgpIGZ1bmN0aW9uLCBTQ1NTIGRvZXNuJ3Qgc3VwcG9ydCBzcGxpdCBieSBzcGFjZSBieSBkZWZhdWx0XG4gIC8vMi4gV2hlbiB0aGUgdmFsdWUgaXMgdW5pdGxlc3MsIGFkZCBweCB0byBpdFxuICAvLzMuIENyZWF0ZSBhIHN0cmluZyB0aGF0IG1lcmdlcyBhbGwgdGhlIHZhbHVlc1xuICBAd2hpbGUgJGkgPD0gJG51bWJlci1vZi12YWx1ZXMge1xuICAgICR2YWx1ZTogbnRoKCRwaXhlbHMsICRpKTtcblxuICAgIEBpZiAodW5pdGxlc3MoJHZhbHVlKSkge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gICAgfVxuXG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZS8kd2lkdGgtbW9iaWxlLXBzZCArIHZ3KTtcbiAgICAkaTogJGkgKyAxO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuIiwiLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICBjb2xvcjogI2RlZGVkZTsgfVxuICAuZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLTpob3ZlciwgLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLTpob3ZlciB7XG4gICAgY29sb3I6ICNjNWM1YzU7IH1cbiAgLi1kaXNhYmxlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gICAgY29sb3I6ICNkZWRlZGU7IH1cbiAgLi1zZWxlY3RlZC0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1zZWxlY3RlZC0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjYTJkZGY2OyB9XG4gICAgLi1zZWxlY3RlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLXNlbGVjdGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOGFkNWY0OyB9XG4gIC4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMSk7XG4gICAgY29sb3I6ICNjY2NjY2M7IH1cbiAgICAuLWluLXJhbmdlLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjIpOyB9XG4gIC5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmVtcHR5LCAuZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmVtcHR5IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGF0ZXBpY2tlciBjZWxsc1xuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmRhdGVwaWNrZXItLWNlbGxzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAzMnB4O1xuICB6LWluZGV4OiAxOyB9XG4gIC5kYXRlcGlja2VyLS1jZWxsLi1mb2N1cy0ge1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7IH1cbiAgLmRhdGVwaWNrZXItLWNlbGwuLWN1cnJlbnQtIHtcbiAgICBjb2xvcjogIzRFQjVFNjsgfVxuICAgIC5kYXRlcGlja2VyLS1jZWxsLi1jdXJyZW50LS4tZm9jdXMtIHtcbiAgICAgIGNvbG9yOiAjNGE0YTRhOyB9XG4gICAgLmRhdGVwaWNrZXItLWNlbGwuLWN1cnJlbnQtLi1pbi1yYW5nZS0ge1xuICAgICAgY29sb3I6ICM0RUI1RTY7IH1cbiAgLmRhdGVwaWNrZXItLWNlbGwuLWluLXJhbmdlLSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg5MiwgMTk2LCAyMzksIDAuMSk7XG4gICAgY29sb3I6ICM0YTRhNGE7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5kYXRlcGlja2VyLS1jZWxsLi1pbi1yYW5nZS0uLWZvY3VzLSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxOTYsIDIzOSwgMC4yKTsgfVxuICAuZGF0ZXBpY2tlci0tY2VsbC4tZGlzYWJsZWQtIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgY29sb3I6ICNhZWFlYWU7IH1cbiAgICAuZGF0ZXBpY2tlci0tY2VsbC4tZGlzYWJsZWQtLi1mb2N1cy0ge1xuICAgICAgY29sb3I6ICNhZWFlYWU7IH1cbiAgICAuZGF0ZXBpY2tlci0tY2VsbC4tZGlzYWJsZWQtLi1pbi1yYW5nZS0ge1xuICAgICAgY29sb3I6ICNhMWExYTE7IH1cbiAgICAuZGF0ZXBpY2tlci0tY2VsbC4tZGlzYWJsZWQtLi1jdXJyZW50LS4tZm9jdXMtIHtcbiAgICAgIGNvbG9yOiAjYWVhZWFlOyB9XG4gIC5kYXRlcGlja2VyLS1jZWxsLi1yYW5nZS1mcm9tLSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg5MiwgMTk2LCAyMzksIDAuNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7IH1cbiAgLmRhdGVwaWNrZXItLWNlbGwuLXJhbmdlLXRvLSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg5MiwgMTk2LCAyMzksIDAuNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7IH1cbiAgLmRhdGVwaWNrZXItLWNlbGwuLXJhbmdlLWZyb20tLi1yYW5nZS10by0ge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAuZGF0ZXBpY2tlci0tY2VsbC4tc2VsZWN0ZWQtIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogIzVjYzRlZjsgfVxuICAgIC5kYXRlcGlja2VyLS1jZWxsLi1zZWxlY3RlZC0uLWN1cnJlbnQtIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZDogIzVjYzRlZjsgfVxuICAgIC5kYXRlcGlja2VyLS1jZWxsLi1zZWxlY3RlZC0uLWZvY3VzLSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNDViY2VkOyB9XG4gIC5kYXRlcGlja2VyLS1jZWxsOmVtcHR5IHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmRhdGVwaWNrZXItLWRheXMtbmFtZXMge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDhweCAwIDNweDsgfVxuXG4uZGF0ZXBpY2tlci0tZGF5LW5hbWUge1xuICBjb2xvcjogI0ZGOUExOTtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICBmbGV4OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogLjhlbTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5kYXRlcGlja2VyLS1jZWxscy1tb250aHMge1xuICBoZWlnaHQ6IDE3MHB4OyB9XG5cbi5kYXRlcGlja2VyLS1jZWxsLW1vbnRoIHtcbiAgd2lkdGg6IDMzLjMzJTtcbiAgaGVpZ2h0OiAyNSU7IH1cblxuLmRhdGVwaWNrZXItLXllYXJzIHtcbiAgaGVpZ2h0OiAxNzBweDsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbHMteWVhcnMge1xuICBoZWlnaHQ6IDE3MHB4OyB9XG5cbi5kYXRlcGlja2VyLS1jZWxsLXllYXIge1xuICB3aWR0aDogMjUlO1xuICBoZWlnaHQ6IDMzLjMzJTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG4gIC5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmhvdmVyLCAuZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmhvdmVyIHtcbiAgICBjb2xvcjogI2M1YzVjNTsgfVxuICAuLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4tZGlzYWJsZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICBjb2xvcjogI2RlZGVkZTsgfVxuICAuLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNhMmRkZjY7IH1cbiAgICAuLXNlbGVjdGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4tc2VsZWN0ZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4YWQ1ZjQ7IH1cbiAgLi1pbi1yYW5nZS0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1pbi1yYW5nZS0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxOTYsIDIzOSwgMC4xKTtcbiAgICBjb2xvcjogI2NjY2NjYzsgfVxuICAgIC4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1pbi1yYW5nZS0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMik7IH1cbiAgLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC06ZW1wdHksIC5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS06ZW1wdHkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEYXRlcGlja2VyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZGF0ZXBpY2tlcnMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAuZGF0ZXBpY2tlcnMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZGF0ZXBpY2tlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYmRiZGI7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgZm9udC1mYW1pbHk6IFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzRhNGE0YTtcbiAgd2lkdGg6IDI1MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMDBweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIGxlZnQgMHMgMC4zcywgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZSwgbGVmdCAwcyAwLjNzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZSwgbGVmdCAwcyAwLjNzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIHotaW5kZXg6IDEwMDsgfVxuICAuZGF0ZXBpY2tlci4tZnJvbS10b3AtIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfVxuICAuZGF0ZXBpY2tlci4tZnJvbS1yaWdodC0ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICAuZGF0ZXBpY2tlci4tZnJvbS1ib3R0b20tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cbiAgLmRhdGVwaWNrZXIuLWZyb20tbGVmdC0ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04cHgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04cHgpOyB9XG4gIC5kYXRlcGlja2VyLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIGxlZnQgMHMgMHMsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZSwgbGVmdCAwcyAwcztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZSwgbGVmdCAwcyAwcywgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlOyB9XG5cbi5kYXRlcGlja2VyLWlubGluZSAuZGF0ZXBpY2tlciB7XG4gIGJvcmRlci1jb2xvcjogI2Q3ZDdkNztcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4uZGF0ZXBpY2tlci1pbmxpbmUgLmRhdGVwaWNrZXItLXBvaW50ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kYXRlcGlja2VyLS1jb250ZW50IHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHBhZGRpbmc6IDRweDsgfVxuICAuLW9ubHktdGltZXBpY2tlci0gLmRhdGVwaWNrZXItLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRhdGVwaWNrZXItLXBvaW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGJkYmRiO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGJkYmRiO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICB6LWluZGV4OiAtMTsgfVxuICAuLXRvcC1sZWZ0LSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi10b3AtY2VudGVyLSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi10b3AtcmlnaHQtIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcbiAgICB0b3A6IGNhbGMoMTAwJSAtIDRweCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuICAuLXJpZ2h0LXRvcC0gLmRhdGVwaWNrZXItLXBvaW50ZXIsIC4tcmlnaHQtY2VudGVyLSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi1yaWdodC1ib3R0b20tIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcbiAgICByaWdodDogY2FsYygxMDAlIC0gNHB4KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpOyB9XG4gIC4tYm90dG9tLWxlZnQtIC5kYXRlcGlja2VyLS1wb2ludGVyLCAuLWJvdHRvbS1jZW50ZXItIC5kYXRlcGlja2VyLS1wb2ludGVyLCAuLWJvdHRvbS1yaWdodC0gLmRhdGVwaWNrZXItLXBvaW50ZXIge1xuICAgIGJvdHRvbTogY2FsYygxMDAlIC0gNHB4KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDMxNWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpOyB9XG4gIC4tbGVmdC10b3AtIC5kYXRlcGlja2VyLS1wb2ludGVyLCAuLWxlZnQtY2VudGVyLSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi1sZWZ0LWJvdHRvbS0gLmRhdGVwaWNrZXItLXBvaW50ZXIge1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDRweCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLi10b3AtbGVmdC0gLmRhdGVwaWNrZXItLXBvaW50ZXIsIC4tYm90dG9tLWxlZnQtIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcbiAgICBsZWZ0OiAxMHB4OyB9XG4gIC4tdG9wLXJpZ2h0LSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi1ib3R0b20tcmlnaHQtIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcbiAgICByaWdodDogMTBweDsgfVxuICAuLXRvcC1jZW50ZXItIC5kYXRlcGlja2VyLS1wb2ludGVyLCAuLWJvdHRvbS1jZW50ZXItIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDEwcHggLyAyKTsgfVxuICAuLWxlZnQtdG9wLSAuZGF0ZXBpY2tlci0tcG9pbnRlciwgLi1yaWdodC10b3AtIC5kYXRlcGlja2VyLS1wb2ludGVyIHtcbiAgICB0b3A6IDEwcHg7IH1cbiAgLi1sZWZ0LWJvdHRvbS0gLmRhdGVwaWNrZXItLXBvaW50ZXIsIC4tcmlnaHQtYm90dG9tLSAuZGF0ZXBpY2tlci0tcG9pbnRlciB7XG4gICAgYm90dG9tOiAxMHB4OyB9XG4gIC4tbGVmdC1jZW50ZXItIC5kYXRlcGlja2VyLS1wb2ludGVyLCAuLXJpZ2h0LWNlbnRlci0gLmRhdGVwaWNrZXItLXBvaW50ZXIge1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMHB4IC8gMik7IH1cblxuLmRhdGVwaWNrZXItLWJvZHkge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5kYXRlcGlja2VyLS1ib2R5LmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICBjb2xvcjogI2RlZGVkZTsgfVxuICAuZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLTpob3ZlciwgLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLTpob3ZlciB7XG4gICAgY29sb3I6ICNjNWM1YzU7IH1cbiAgLi1kaXNhYmxlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gICAgY29sb3I6ICNkZWRlZGU7IH1cbiAgLi1zZWxlY3RlZC0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1zZWxlY3RlZC0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjYTJkZGY2OyB9XG4gICAgLi1zZWxlY3RlZC0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLXNlbGVjdGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOGFkNWY0OyB9XG4gIC4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMSk7XG4gICAgY29sb3I6ICNjY2NjY2M7IH1cbiAgICAuLWluLXJhbmdlLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE5NiwgMjM5LCAwLjIpOyB9XG4gIC5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmVtcHR5LCAuZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmVtcHR5IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTmF2aWdhdGlvblxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmRhdGVwaWNrZXItLW5hdiB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWZlZmVmO1xuICBtaW4taGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiA0cHg7IH1cbiAgLi1vbmx5LXRpbWVwaWNrZXItIC5kYXRlcGlja2VyLS1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRhdGVwaWNrZXItLW5hdi10aXRsZSxcbi5kYXRlcGlja2VyLS1uYXYtYWN0aW9uIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmRhdGVwaWNrZXItLW5hdi1hY3Rpb24ge1xuICB3aWR0aDogMzJweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5kYXRlcGlja2VyLS1uYXYtYWN0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwOyB9XG4gIC5kYXRlcGlja2VyLS1uYXYtYWN0aW9uLi1kaXNhYmxlZC0ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuZGF0ZXBpY2tlci0tbmF2LWFjdGlvbiBzdmcge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDsgfVxuICAuZGF0ZXBpY2tlci0tbmF2LWFjdGlvbiBwYXRoIHtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZTogIzljOWM5YztcbiAgICBzdHJva2Utd2lkdGg6IDJweDsgfVxuXG4uZGF0ZXBpY2tlci0tbmF2LXRpdGxlIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAwIDhweDsgfVxuICAuZGF0ZXBpY2tlci0tbmF2LXRpdGxlIGkge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzljOWM5YztcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5kYXRlcGlja2VyLS1uYXYtdGl0bGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7IH1cbiAgLmRhdGVwaWNrZXItLW5hdi10aXRsZS4tZGlzYWJsZWQtIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4uZGF0ZXBpY2tlci0tYnV0dG9ucyB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDRweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZmVmZWY7IH1cblxuLmRhdGVwaWNrZXItLWJ1dHRvbiB7XG4gIGNvbG9yOiAjNEVCNUU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgZmxleDogMTtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDMycHg7IH1cbiAgLmRhdGVwaWNrZXItLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICM0YTRhNGE7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG4gIC5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmhvdmVyLCAuZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmhvdmVyIHtcbiAgICBjb2xvcjogI2M1YzVjNTsgfVxuICAuLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4tZGlzYWJsZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICBjb2xvcjogI2RlZGVkZTsgfVxuICAuLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNhMmRkZjY7IH1cbiAgICAuLXNlbGVjdGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4tc2VsZWN0ZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4YWQ1ZjQ7IH1cbiAgLi1pbi1yYW5nZS0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1pbi1yYW5nZS0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxOTYsIDIzOSwgMC4xKTtcbiAgICBjb2xvcjogI2NjY2NjYzsgfVxuICAgIC4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1pbi1yYW5nZS0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMik7IH1cbiAgLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC06ZW1wdHksIC5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS06ZW1wdHkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUaW1lcGlja2VyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZGF0ZXBpY2tlci0tdGltZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWZlZmVmO1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kYXRlcGlja2VyLS10aW1lLi1hbS1wbS0gLmRhdGVwaWNrZXItLXRpbWUtc2xpZGVycyB7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDEgMTM4cHg7XG4gICAgICAgIC1tcy1mbGV4OiAwIDEgMTM4cHg7XG4gICAgICAgICAgICBmbGV4OiAwIDEgMTM4cHg7XG4gICAgbWF4LXdpZHRoOiAxMzhweDsgfVxuICAuLW9ubHktdGltZXBpY2tlci0gLmRhdGVwaWNrZXItLXRpbWUge1xuICAgIGJvcmRlci10b3A6IG5vbmU7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtc2xpZGVycyB7XG4gIC13ZWJraXQtZmxleDogMCAxIDE1M3B4O1xuICAgICAgLW1zLWZsZXg6IDAgMSAxNTNweDtcbiAgICAgICAgICBmbGV4OiAwIDEgMTUzcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWF4LXdpZHRoOiAxNTNweDsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1jdXJyZW50IHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICBmbGV4OiAxO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMCAxMHB4OyB9XG5cbi5kYXRlcGlja2VyLS10aW1lLWN1cnJlbnQtY29sb24ge1xuICBtYXJnaW46IDAgMnB4IDNweDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtY3VycmVudC1ob3Vycyxcbi5kYXRlcGlja2VyLS10aW1lLWN1cnJlbnQtbWludXRlcyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDE5cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkNlbnR1cnkgR290aGljXCIsIENlbnR1cnlHb3RoaWMsIEFwcGxlR290aGljLCBzYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmRhdGVwaWNrZXItLXRpbWUtY3VycmVudC1ob3VyczphZnRlcixcbiAgLmRhdGVwaWNrZXItLXRpbWUtY3VycmVudC1taW51dGVzOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTJweDtcbiAgICB0b3A6IC0zcHg7XG4gICAgcmlnaHQ6IC0ycHg7XG4gICAgYm90dG9tOiAtMnB4O1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmRhdGVwaWNrZXItLXRpbWUtY3VycmVudC1ob3Vycy4tZm9jdXMtOmFmdGVyLFxuICAuZGF0ZXBpY2tlci0tdGltZS1jdXJyZW50LW1pbnV0ZXMuLWZvY3VzLTphZnRlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1jdXJyZW50LWFtcG0ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBjb2xvcjogIzljOWM5YztcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxcHg7IH1cblxuLmRhdGVwaWNrZXItLXRpbWUtcm93IHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDExcHg7XG4gIGhlaWdodDogMTdweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZGVkZWRlLCAjZGVkZWRlKSBsZWZ0IDUwJS8xMDAlIDFweCBuby1yZXBlYXQ7IH1cbiAgLmRhdGVwaWNrZXItLXRpbWUtcm93OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ10ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICAuZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG4gICAgLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tcy10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTpob3Zlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjhiOGI4OyB9XG4gICAgLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106aG92ZXI6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjhiOGI4OyB9XG4gICAgLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106aG92ZXI6Oi1tcy10aHVtYiB7XG4gICAgICBib3JkZXItY29sb3I6ICNiOGI4Yjg7IH1cbiAgICAuZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAuZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNWNjNGVmO1xuICAgICAgICBib3JkZXItY29sb3I6ICM1Y2M0ZWY7IH1cbiAgICAgIC5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPSdyYW5nZSddOmZvY3VzOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzVjYzRlZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNWNjNGVmOyB9XG4gICAgICAuZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTpmb2N1czo6LW1zLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzVjYzRlZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNWNjNGVmOyB9XG4gICAgLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWRlZGU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnM7IH1cbiAgICAuZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVkZWRlO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzOyB9XG4gICAgLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tcy10aHVtYiB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVkZWRlO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzOyB9XG4gICAgLmRhdGVwaWNrZXItLXRpbWUtcm93IGlucHV0W3R5cGU9J3JhbmdlJ106Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgICAuZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5kYXRlcGlja2VyLS10aW1lLXJvdyBpbnB1dFt0eXBlPSdyYW5nZSddOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLXRyYWNrIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZGF0ZXBpY2tlci0tdGltZS1yb3cgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLmRhdGVwaWNrZXItLXRpbWUtcm93IHNwYW4ge1xuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxuXG4uZGF0ZXBpY2tlci0tdGltZS1pY29uIHtcbiAgY29sb3I6ICM5YzljOWM7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgNXB4IC0xcHggMDtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07IH1cbiAgLmRhdGVwaWNrZXItLXRpbWUtaWNvbjphZnRlciwgLmRhdGVwaWNrZXItLXRpbWUtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmRhdGVwaWNrZXItLXRpbWUtaWNvbjphZnRlciB7XG4gICAgaGVpZ2h0OiAuNGVtO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAxcHgpO1xuICAgIHRvcDogY2FsYyg1MCUgKyAxcHgpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbiAgLmRhdGVwaWNrZXItLXRpbWUtaWNvbjpiZWZvcmUge1xuICAgIHdpZHRoOiAuNGVtO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHRvcDogY2FsYyg1MCUgKyAxcHgpO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMXB4KTsgfVxuXG4uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLmRhdGVwaWNrZXItLWNlbGwteWVhci4tb3RoZXItZGVjYWRlLSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG4gIC5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtOmhvdmVyLCAuZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtOmhvdmVyIHtcbiAgICBjb2xvcjogI2M1YzVjNTsgfVxuICAuLWRpc2FibGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4tZGlzYWJsZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICBjb2xvcjogI2RlZGVkZTsgfVxuICAuLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLWRheS4tb3RoZXItbW9udGgtLCAuLXNlbGVjdGVkLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNhMmRkZjY7IH1cbiAgICAuLXNlbGVjdGVkLS4tZm9jdXMtLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC0sIC4tc2VsZWN0ZWQtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4YWQ1ZjQ7IH1cbiAgLi1pbi1yYW5nZS0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1pbi1yYW5nZS0uZGF0ZXBpY2tlci0tY2VsbC15ZWFyLi1vdGhlci1kZWNhZGUtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxOTYsIDIzOSwgMC4xKTtcbiAgICBjb2xvcjogI2NjY2NjYzsgfVxuICAgIC4taW4tcmFuZ2UtLi1mb2N1cy0uZGF0ZXBpY2tlci0tY2VsbC1kYXkuLW90aGVyLW1vbnRoLSwgLi1pbi1yYW5nZS0uLWZvY3VzLS5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTk2LCAyMzksIDAuMik7IH1cbiAgLmRhdGVwaWNrZXItLWNlbGwtZGF5Li1vdGhlci1tb250aC06ZW1wdHksIC5kYXRlcGlja2VyLS1jZWxsLXllYXIuLW90aGVyLWRlY2FkZS06ZW1wdHkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4iLCIvKipcbiAqIFJlZGFjdG9yIG1hbmFnZXIgc3R5bGVzXG4gKiBUbyBpbmNsdWRlIHRoaXMgZ28gdG8gc3lzdGVtIHNldHRpbmdzIGFuZCBjaGFuZ2UgcGF0aCBAIHJlZGFjdG9yLmNzcyBbcGF0aC90by9jc3NdXG4gKi9cblxuLy8gRFJPUERPV05cbi5yZWRhY3Rvci1kcm9wZG93biB7XG5cdC5yZWRhY3Rvci1mb3JtYXR0aW5nLXAtY29udGVudC1ibG9jay1pbWFnZSB7XG5cdFxuXHR9XG59XG5cbi8vIEVESVRPUlxuLnJlZGFjdG9yLWVkaXRvciB7XG5cdHAucmVkYWN0b3ItZm9ybWF0dGluZy1wLWNvbnRlbnQtYmxvY2staW1hZ2Uge1xuXHRcdC5jb250ZW50LWltYWdlIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbjogNjBweCAwO1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0Ji5vdXRvZnRoZWJveCB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0yMCU7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMjAlO1xuXHRcdFx0XHRcdHdpZHRoOiAxMjAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6Jyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRcdGhlaWdodDogMDtcblx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwIDc3cHggNDVweCAwO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNlOWU5ZTkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDAgMzhweCAyMnB4IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5jb250ZW50LXRpdGxlIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR3aWR0aDogMzIlO1xuXHRcdFx0XHRyaWdodDogLTMyJTtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMTtcblx0XHRcdFx0Y29sb3I6ICM3MTcxNzE7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdG1hcmdpbjogNDBweCAwO1xuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdCYub3V0b2Z0aGVib3gge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDAlO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5jb250ZW50LXRpdGxlIHtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdHotaW5kZXg6Mjtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8vIEluZm9ncmFwaGljXG4kbnJTY2FsZTogMS4yO1xuJHNjYWxlRGVsYXk6IDEuMjtcbiRuckZvY3VzOiBsaWdodGVuKCRwdXJwbGUsIDIwJSk7IC8vICRpbmZvQm94V2lkdGg6IDQ1MHB4O1xuJGluZm9Cb3hIZWlnaHQ6IGF1dG87XG4kb2Zmc2V0WDogMjAwO1xuJG9mZnNldFk6IDA7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25YMTogLTUwMHB4O1xuLy8gJHRyYW5zbGF0ZVBvc2l0aW9uWTE6IC0xNTBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblgyOiAtNDYwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZMjogLTIzMHB4O1xuLy8gJHRyYW5zbGF0ZVBvc2l0aW9uWDM6IC0yMTBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblkzOiAtMjcwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25YNDogLTUwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZNDogLTI3NXB4O1xuLy8gJHRyYW5zbGF0ZVBvc2l0aW9uWDU6IC00MzBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblk1OiAtNDBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblg2OiAtMTIwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZNjogNTBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblg3OiAtMzgwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZNzogLTE1MHB4O1xuLy8gJHRyYW5zbGF0ZVBvc2l0aW9uWDg6IC0zNDBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblk4OiAtNzBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblg5OiAtMjkwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZOTogLTE5NXB4O1xuLy8gJHRyYW5zbGF0ZVBvc2l0aW9uWDEwOiA1MHB4O1xuLy8gJHRyYW5zbGF0ZVBvc2l0aW9uWTEwOiAtODBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblgxMTogODBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblkxMTogLTI1MHB4O1xuLy8gJHRyYW5zbGF0ZVBvc2l0aW9uWDEyOiAxNTBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblkxMjogLTUwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25YMTM6IDkwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZMTM6IC0yMzBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblgxNDogLTM1MHB4O1xuLy8gJHRyYW5zbGF0ZVBvc2l0aW9uWTE0OiAtNzVweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblgxNTogMTkwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZMTU6IC0xMTBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblgxNjogMTg1cHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZMTY6IC0yNTBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblgxNzogNjBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblkxNzogOTVweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblgxODogLTE5MHB4O1xuLy8gJHRyYW5zbGF0ZVBvc2l0aW9uWTE4OiAzMHB4O1xuLy8gJHRyYW5zbGF0ZVBvc2l0aW9uWDE5OiAtMTA1cHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZMTk6IC0xcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25YMjA6IC0yNjBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblkyMDogMjBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblgyMTogLTgwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZMjE6IC0xNTVweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblgyMjogNDAwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZMjI6IC0xNDBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblgyMzogMjYwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZMjM6IC0xNDBweDtcbi8vICR0cmFuc2xhdGVQb3NpdGlvblgyNDogMTUwcHg7XG4vLyAkdHJhbnNsYXRlUG9zaXRpb25ZMjQ6IC0xOTVweDtcblxuLy8gYm9keS5pbmZvZ3JhcGhpYyB7XG4vLyAgIGhlaWdodDogMTAwJTtcbi8vICAgd2lkdGg6IDEwMCU7XG4vLyB9XG5cbi52LW9uLXpvb20ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG5cbiAgLmluZm9ncmFwaGljLXpvb21lZCAmIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuJG1lbnUtc2l6ZS1zbWFsbDogMTAwJTtcbiRtZW51LXNpemUteHhsYXJnZTogNDAwcHg7XG5cbmJvZHksXG5odG1sIHtcbiAgbWluLWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmluZm9ncmFwaGljLWNvbnRhaW5lciB7XG4gIC8vIHdpZHRoOiBjYWxjKDEwMCUgLSA0MDBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOXMgZWFzZSAwLjVzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIC44OCk7XG4gIHBhZGRpbmc6IDA7XG5cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAuaW5mb2dyYXBoaWMtbWVudSB7XG4gICAgYm94LXNoYWRvdzogLTEwcHggMCAyMHB4IDAgcmdiYSgkYmxhY2ssIC4yKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC45cyBlYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6ICRtZW51LXNpemUtc21hbGw7XG4gICAgei1pbmRleDogOTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG5cbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC8vICAgd2lkdGg6ICRtZW51LXNpemUtbWVkaXVtO1xuICAgIC8vIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICB3aWR0aDogJG1lbnUtc2l6ZS14eGxhcmdlO1xuICAgIH1cblxuICAgICNpbnRybyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDEwcHggMCA0MHB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cblxuICAgIC5pbmZvZ3JhcGhpYy1tZW51LW9wZW4gJiB7XG4gICAgICAvLyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgLy8gb3BhY2l0eTogMTtcbiAgICAgIC8vIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBsaS5zaWRlYmFyLXRhYiB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC40NXMgZWFzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vIGhlaWdodDogNDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgJltkYXRhLXRyaWdnZXI9XCJBXCJdLFxuICAgICAgJltkYXRhLXRyaWdnZXI9XCJCXCJdIHtcbiAgICAgICAgLnRhYi1pbWFnZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG92ZXIsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgIC5uciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmVycnkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGFiLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIC5uciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFycm93IHtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9hcnJvdy1sZWZ0LXB1cnBsZS5zdmcnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50YWItY29udGVudCB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuNnMgZWFzZSBhbGwgMC4xNXM7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogNTUwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAudGFiLWltYWdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcHVycGxlLCAzJSk7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRhYi10aXRsZSB7XG4gICAgICAgICAgLm5yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZXJyeTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFycm93IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9hcnJvdy1sZWZ0LXdoaXRlLnN2ZycpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJlcnJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRhYi1jb250ZW50IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIC8qIDE2OjkgKi9cbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgIC5pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMS4ycyBsaW5lYXIgMC4zcztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAvLyAgIHBhZGRpbmctcmlnaHQ6ICRtZW51LXNpemUtbWVkaXVtO1xuICAgICAgLy8gfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbWVudS1zaXplLXh4bGFyZ2U7XG4gICAgICB9XG5cbiAgICAgIC56b29tLWNvbnRhaW5lciB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjdzIGxpbmVhciwgdHJhbnNmb3JtLW9yaWdpbiAxbXMgbGluZWFyLCBtYXJnaW4gMW1zIGxpbmVhciwgbWF4LXdpZHRoIDFtcyBsaW5lYXIsIG1heC1oZWlnaHQgMW1zIGxpbmVhcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXG4gICAgICAgIC8vIC5pbmZvZ3JhcGhpYy16b29tZWQgJiB7XG4gICAgICAgIC8vICAgJjpob3ZlciB7XG4gICAgICAgIC8vICAgICBjdXJzb3I6IHpvb20tb3V0O1xuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC5pbmZvZ3JhcGhpYy16b29tZWQgJiB7XG4gICAgICAgICAgLy8gWm9vbSAzNTAlXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgzLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yZXNldCB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBlcnNwZWN0aXZlLWVsZW1lbnQge1xuICAgICAgICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2NXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA4MCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgI21hcC1jb250YWluZXIge1xuICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pbmZvZ3JhcGhpYy9pbmZvZ3JhcGhpYy12aXN1YWwtNWstdjUtY29tcHJlc3NlZC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI251bWJlci1jb250YWluZXIge1xuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcblxuICAgICAgICAgICAgZ1tkYXRhLW5hbWVdIHtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNDVzIGVhc2U7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgZmlsbDogJHB1cnBsZTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAuaW5mb2dyYXBoaWMtem9vbWVkICYge1xuICAgICAgICAgICAgICAgIC8vIHRyYW5zaXRpb24tZGVsYXk6IDFzO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY2lyY2xlLFxuICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi5ob3ZlcixcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgIGZpbGw6ICRiZXJyeTtcbiAgICAgICAgICAgICAgICAgIC8vIHI6IDE5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjaXJjbGUge1xuICAgICAgICAgICAgICAgICAgZmlsbDogJGJlcnJ5O1xuICAgICAgICAgICAgICAgICAgLy8gcjogMTk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmluZm9ncmFwaGljLXpvb21lZCAmIHtcbiAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgLy8gY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgIC8vICAgcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5udW1iZXIge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZSAwLjZzO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIC5pbmZvZ3JhcGhpYy16b29tZWQgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiA5OTk5O1xuXG4gICAgICAgIC5uciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJG5yRm9jdXM7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICAgLmluZm9ncmFwaGljLXpvb21lZCAmIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtaW5mbyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5udW1iZXItaW5mbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaW5mb2dyYXBoaWMvaW5mby1iZy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbSB0cmFuc3BhcmVudCAvIGNvdmVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlLWluLW91dCAwLjZzO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICBoZWlnaHQ6IDMwMHB4O1xuICB3aWR0aDogMzAwcHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcblxuICAuaW5mb2dyYXBoaWMtem9vbWVkICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MHB4LCAtOTBweCkgc2NhbGUoLjY3KTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAua2FkZXIge1xuICAgIHBhZGRpbmc6IDIzcHggMjVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbi8vIC50ZXh0LWluZm8ge1xuLy8gICBib3gtc2hhZG93OiAwIDEwcHggMjBweCA1cHggcmdiYSgkYmxhY2ssIC4xKTtcbi8vICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZS1pbi1vdXQ7XG4vLyAgIHRyYW5zaXRpb24tZGVsYXk6IDEuMnM7XG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgdG9wOiA1MCU7XG4vLyAgIGxlZnQ6IDEwMCU7XG4vLyAgIGhlaWdodDogYXV0bztcbi8vICAgbWF4LWhlaWdodDogNDAwcHg7XG4vLyAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbi8vICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuLy8gICB3aWR0aDogJGluZm9Cb3hXaWR0aDtcbi8vICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIC45NSk7XG4vLyAgIG9wYWNpdHk6IDA7XG4vLyAgIGNvbG9yOiBibGFjaztcbi8vICAgcGFkZGluZzogMzBweCA0MHB4O1xuLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzMHB4LCAtNTAlKTtcbi8vICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4vL1xuLy8gICAmOmFmdGVyIHtcbi8vICAgICBjb250ZW50OiAnICc7XG4vLyAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbi8vICAgICByaWdodDogY2FsYygxMDAlIC0gMXB4KTtcbi8vICAgICB0b3A6IDUwJTtcbi8vICAgICBoZWlnaHQ6IDA7XG4vLyAgICAgd2lkdGg6IDA7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuLy8gICAgIC8vIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbi8vICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR3aGl0ZTtcbi8vICAgICBib3JkZXItd2lkdGg6IDIwcHg7XG4vLyAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4vLyAgIH1cbi8vXG4vLyAgIGg0IHtcbi8vICAgICBjb2xvcjogJHB1cnBsZSAhaW1wb3J0YW50O1xuLy8gICB9XG4vL1xuLy8gICBwIHtcbi8vICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuLy8gICB9XG4vLyB9XG4vLyAubWlkZGxlIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICBsZWZ0OiA1MCU7XG4vLyAgIHRvcDogNTAlO1xuLy8gfVxuLy9cbi8vXG4vLyAudi1vZmYtem9vbSB7XG4vLyAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4vLyAgIG9wYWNpdHk6IDE7XG4vL1xuLy8gICAuaW5mb2dyYXBoaWMtem9vbWVkICYge1xuLy8gICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbi8vICAgICBvcGFjaXR5OiAwO1xuLy8gICB9XG4vLyB9XG5cbi5oZWxwZXIge1xuICB0cmFuc2l0aW9uOiB0b3AgMC42cyBlYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG1lbnUtc2l6ZS14eGxhcmdlfSk7XG4gIH1cblxuICAmLnRvcCB7XG4gICAgLy8gdG9wOiAtMTAwJTtcblxuICAgIC5pbmZvZ3JhcGhpYy16b29tZWQgJiB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgc3BhbiB7XG4gICAgdHJhbnNpdGlvbjogMC42cyBlYXNlIGFsbDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmVycnk7XG4gICAgYm9yZGVyLXJhZGl1czogNDVweDtcbiAgICAvLyBoZWlnaHQ6IDQ1cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgJi5ob3ZlciB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZXJyeSwgMTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5mb2dyYXBoaWMtem9vbWVkICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41NSk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC40NXM7XG4gIH1cbn1cblxuLmJ1dHRvbi1oZWxwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmVycnk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDQ1cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogNDVweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjBweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgLmluZm9ncmFwaGljLXpvb21lZCAmIHtcbiAgICAvKnRyYW5zaXRpb24tZGVsYXk6IDFzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApIHNjYWxlKDEpOyovXG4gIH1cblxuICAmLmhhcy1pY29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7XG4gIH1cblxuICAmLm92ZXJ6aWNodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1zZWFyY2guc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICB9XG5cbiAgJi5jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1jbG9zZS5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gIH1cbn1cblxuLmFycm93cyB7XG4gIHRyYW5zaXRpb246IDAuNnMgZWFzZSBhbGw7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAudGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJlcnJ5O1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmFycm93IHtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyICRiZXJyeTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJTtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmLnByZXYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYXJyb3ctbGVmdC13aGl0ZS5zdmcnKTtcblxuICAgICAgLy8gLnpvb21lZC0xICYge1xuICAgICAgLy8gICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAvLyAgIG9wYWNpdHk6IDA7XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgJi5uZXh0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2Fycm93LXJpZ2h0LXdoaXRlLnN2ZycpO1xuXG4gICAgICAvLyAubGFzdE5yICYge1xuICAgICAgLy8gICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAvLyAgIG9wYWNpdHk6IDA7XG4gICAgICAvLyB9XG4gICAgfVxuICB9XG59XG5cbi5ob3ZlciB7XG4gIHRyYW5zaXRpb246IDAuNnMgZWFzZSBhbGw7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmVycnk7XG4gIH1cbn1cblxuLm5yIHtcbiAgdHJhbnNpdGlvbjogMC42cyBlYXNlIGFsbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiA0MHB4O1xuICBtaW4td2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHB1cnBsZSwgNSUpO1xuICB9XG59XG4vLyAuem9vbS1jb250YWluZXIge1xuLy8gICAuem9vbWVkLTEgJiB7XG4vLyAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblgxICsgJG9mZnNldFh9KSBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWTEgKyAkb2Zmc2V0WX0pO1xuLy8gICAgIC8vIHRyYW5zZm9ybS1vcmlnaW46IDEwJSA0NyU7XG4vLyAgIH1cbi8vXG4vLyAgIC56b29tZWQtMiAmIHtcbi8vICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWDIgKyAkb2Zmc2V0WH0pIGNhbGMoNTAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25ZMiArICRvZmZzZXRZfSk7XG4vLyAgICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogMTIlIDE1JTtcbi8vICAgfVxuLy9cbi8vICAgLnpvb21lZC0zICYge1xuLy8gICAgIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoNTAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25YMyArICRvZmZzZXRYfSkgY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblkzICsgJG9mZnNldFl9KTtcbi8vICAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTUlO1xuLy8gICB9XG4vL1xuLy8gICAuem9vbWVkLTQgJiB7XG4vLyAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblg0ICsgJG9mZnNldFh9KSBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWTQgKyAkb2Zmc2V0WX0pO1xuLy8gICAgIC8vIHRyYW5zZm9ybS1vcmlnaW46IDcxJSAxMCU7XG4vLyAgIH1cbi8vXG4vLyAgIC56b29tZWQtNSAmIHtcbi8vICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWDUgKyAkb2Zmc2V0WH0pIGNhbGMoNTAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25ZNSArICRvZmZzZXRZfSk7XG4vLyAgICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogMTglIDQ1JTtcbi8vICAgfVxuLy9cbi8vICAgLnpvb21lZC02ICYge1xuLy8gICAgIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoNTAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25YNiArICRvZmZzZXRYfSkgY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblk2ICsgJG9mZnNldFl9KTtcbi8vICAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiA2MCUgNTUlO1xuLy8gICB9XG4vL1xuLy8gICAuem9vbWVkLTcgJiB7XG4vLyAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblg3ICsgJG9mZnNldFh9KSBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWTcgKyAkb2Zmc2V0WX0pO1xuLy8gICAgIC8vIHRyYW5zZm9ybS1vcmlnaW46IDI0JSAyNyU7XG4vLyAgIH1cbi8vXG4vLyAgIC56b29tZWQtOCAmIHtcbi8vICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWDggKyAkb2Zmc2V0WH0pIGNhbGMoNTAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25ZOCArICRvZmZzZXRZfSk7XG4vLyAgICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogMzElIDQzJTtcbi8vICAgfVxuLy9cbi8vICAgLnpvb21lZC05ICYge1xuLy8gICAgIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoNTAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25YOSArICRvZmZzZXRYfSkgY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblk5ICsgJG9mZnNldFl9KTtcbi8vICAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiA0MCUgMjMlO1xuLy8gICB9XG4vL1xuLy8gICAuem9vbWVkLTEwICYge1xuLy8gICAgIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoNTAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25YMTAgKyAkb2Zmc2V0WH0pIGNhbGMoNTAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25ZMTAgKyAkb2Zmc2V0WX0pO1xuLy8gICAgIC8vIHRyYW5zZm9ybS1vcmlnaW46IDc4JSA0MCU7XG4vLyAgIH1cbi8vXG4vLyAgIC56b29tZWQtMTEgJiB7XG4vLyAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblgxMSArICRvZmZzZXRYfSkgY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblkxMSArICRvZmZzZXRZfSk7XG4vLyAgICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogODElIDIwJTtcbi8vICAgfVxuLy9cbi8vICAgLnpvb21lZC0xMiAmIHtcbi8vICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWDEyICsgJG9mZnNldFh9KSBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWTEyICsgJG9mZnNldFl9KTtcbi8vICAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiAtMTUlIDUwJTtcbi8vICAgfVxuLy9cbi8vICAgLnpvb21lZC0xMyAmIHtcbi8vICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWDEzICsgJG9mZnNldFh9KSBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWTEzICsgJG9mZnNldFl9KTtcbi8vICAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiAyJSA1MCU7XG4vLyAgIH1cbi8vXG4vLyAgIC56b29tZWQtMTQgJiB7XG4vLyAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblgxNCArICRvZmZzZXRYfSkgY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblkxNCArICRvZmZzZXRZfSk7XG4vLyAgICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogMCA2MCU7XG4vLyAgIH1cbi8vXG4vLyAgIC56b29tZWQtMTUgJiB7XG4vLyAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblgxNSArICRvZmZzZXRYfSkgY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblkxNSArICRvZmZzZXRZfSk7XG4vLyAgICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogOTAlIDQ1JTtcbi8vICAgfVxuLy9cbi8vICAgLnpvb21lZC0xNiAmIHtcbi8vICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWDE2ICsgJG9mZnNldFh9KSBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWTE2ICsgJG9mZnNldFl9KTtcbi8vICAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiA5NSUgMTUlO1xuLy8gICB9XG4vL1xuLy8gICAuem9vbWVkLTE3ICYge1xuLy8gICAgIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoNTAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25YMTcgKyAkb2Zmc2V0WH0pIGNhbGMoNzAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25ZMTcgKyAkb2Zmc2V0WX0pO1xuLy8gICAgIC8vIHRyYW5zZm9ybS1vcmlnaW46IDM4JSA3NSU7XG4vLyAgIH1cbi8vXG4vLyAgIC56b29tZWQtMTggJiB7XG4vLyAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblgxOCArICRvZmZzZXRYfSkgY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblkxOCArICRvZmZzZXRZfSk7XG4vLyAgICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogNDUlIDYwJTtcbi8vICAgfVxuLy9cbi8vICAgLnpvb21lZC0xOSAmIHtcbi8vICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWDE5ICsgJG9mZnNldFh9KSBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWTE5ICsgJG9mZnNldFl9KTtcbi8vICAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiAwIDYwJTtcbi8vICAgfVxuLy9cbi8vICAgLnpvb21lZC0yMCAmIHtcbi8vICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjYWxjKDM1JSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWDIwICsgJG9mZnNldFh9KSBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWTIwICsgJG9mZnNldFl9KTtcbi8vICAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiA1MiUgNDIlO1xuLy8gICB9XG4vL1xuLy8gICAuem9vbWVkLTIxICYge1xuLy8gICAgIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoNTAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25YMjEgKyAkb2Zmc2V0WH0pIGNhbGMoNTAlICsgI3skdHJhbnNsYXRlUG9zaXRpb25ZMjEgKyAkb2Zmc2V0WX0pO1xuLy8gICAgIC8vIHRyYW5zZm9ybS1vcmlnaW46IDcyJSA2MiU7XG4vLyAgIH1cbi8vXG4vLyAgIC56b29tZWQtMjIgJiB7XG4vLyAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblgyMiArICRvZmZzZXRYfSkgY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblkyMiArICRvZmZzZXRZfSk7XG4vLyAgICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogMTEwJSA0MCU7XG4vLyAgIH1cbi8vXG4vLyAgIC56b29tZWQtMjMgJiB7XG4vLyAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblgyMyArICRvZmZzZXRYfSkgY2FsYyg1MCUgKyAjeyR0cmFuc2xhdGVQb3NpdGlvblkyMyArICRvZmZzZXRZfSk7XG4vLyAgICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogOTElIDMwJTtcbi8vICAgfVxuLy9cbi8vICAgLnpvb21lZC0yNCAmIHtcbi8vICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWDI0ICsgJG9mZnNldFh9KSBjYWxjKDUwJSArICN7JHRyYW5zbGF0ZVBvc2l0aW9uWTI0ICsgJG9mZnNldFl9KTtcbi8vICAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiA5MCUgNjIlO1xuLy8gICB9XG4vLyB9XG5cbi50b29sdGlwIHtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJHdoaXRlO1xuICBtYXgtd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG5cbiAgJjphZnRlciB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRibGFjaztcbiAgICBib3JkZXItd2lkdGg6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB9XG5cbiAgLmlubmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG5cbiN0dXJuLWRldmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICB6LWluZGV4OiAxMTtcbiAgcGFkZGluZzogMCAzMHB4O1xuXG4gIC50dXJuLWJnIHtcbiAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgei1pbmRleDogMTA7XG4gICAgbGVmdDogaW5oZXJpdDtcbiAgICB0b3A6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIC44KTtcbiAgfVxuXG4gIC5pbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNjBweCAzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgei1pbmRleDogMTI7XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aCA6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSB7XG4gICN0dXJuLWRldmljZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuIiwiJGJhY2tncm91bmQtY29sb3IgOiAjNWEwZTU0O1xuJGZvcmVncm91bmQtY29sb3IgOiAjZWVlO1xuJGFycm93LXNpemUgOiA4cHg7XG4kdmVydGljYWwtc2hpZnQgOiAxMnB4O1xuJG11bHRpbGluZS13aWR0aCA6IDM0MHB4O1xuJHRvb2x0aXAtcGFkZGluZyA6IDhweCAxMnB4O1xuJHJvdW5kbmVzcyA6IDNweDsgLy8gMCB8fCBib3JkZXItcmFkaXVzXG4kc2hhZG93IDogMCA1cHggMTVweCAtNXB4IHJnYmEoMCwgMCwgMCwgLjY1KTsgLy8gMCB8fCBib3gtc2hhZG93XG4kbG9hZC1zdHlsZXMgOiB0cnVlICFkZWZhdWx0OyAvLyBFeHRyYSBzdHlsZXMgbmVlZGVkP1xuXG5bZGF0YS10b29sdGlwY3VzdG9tXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLSR2ZXJ0aWNhbC1zaGlmdCk7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjM1cyBlYXNlIC4yNXM7XG4gIH1cblxuICAvLyBUb29sdGlwIEJvZHlcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10b29sdGlwY3VzdG9tKTtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJGZvcmVncm91bmQtY29sb3I7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvdHRvbTogMTAwJTtcblxuICAgIEBpZiAoJHJvdW5kbmVzcyAhPTApIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyb3VuZG5lc3M7XG4gICAgfVxuXG4gICAgQGlmICgkc2hhZG93ICE9MCkge1xuICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBUb29sdGlwIEFycm93XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogJGFycm93LXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cblxuICAvLyBBY3RpdmUgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRsb2FkLXN0eWxlcz09dHJ1ZSB7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gRXh0cmEgU3R5bGVzIDpcbiAgICAvLyBNdWx0aS1saW5lIHRvb2x0aXAgKC50b29sdGlwLW11bHRpbGluZSlcbiAgICAmLnRvb2x0aXAtbXVsdGlsaW5lIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBtYXgtd2lkdGg6ICRtdWx0aWxpbmUtd2lkdGg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLVxuICAgIC8vIEJvdHRvbSB0b29sdGlwICgudG9vbHRpcC1ib3R0b20sICotbGVmdCwgKi1yaWdodCApXG4gICAgJltjbGFzcyo9XCJ0b29sdGlwLWJvdHRvbVwiXSB7XG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsICR2ZXJ0aWNhbC1zaGlmdClcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiAkYXJyb3ctc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50b29sdGlwLWJvdHRvbS1sZWZ0OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtKCRhcnJvdy1zaXplKjMpLCAkdmVydGljYWwtc2hpZnQpO1xuICAgIH1cblxuICAgICYudG9vbHRpcC1ib3R0b20tcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGFycm93LXNpemUqMywgJHZlcnRpY2FsLXNoaWZ0KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tXG4gICAgLy8gVG9wIHRvb2x0aXAgKC50b29sdGlwLXRvcCwgKi1sZWZ0LCAqLXJpZ2h0IClcbiAgICAvLyAudG9vbHRpcC10b3Agbm90IG5lZWRlZCAoZGVmYXVsdCBzdHlsZSlcbiAgICAmLnRvb2x0aXAtdG9wLWxlZnQ6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0oJGFycm93LXNpemUqMyksIC0kdmVydGljYWwtc2hpZnQpO1xuICAgIH1cblxuICAgICYudG9vbHRpcC10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGFycm93LXNpemUqMywgLSR2ZXJ0aWNhbC1zaGlmdCk7XG4gICAgfVxuXG4gICAgLy8gRW5kIGV4dHJhIHN0eWxlc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgfVxuXG59IiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkd3JhcDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyAkd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgZXhwYW5kYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBleHBhbmQpIHtcbiAgJGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IGV4cGFuZCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzIHdpZHRoLiBTZWUgdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXJgIG1peGluLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBleHBhbmQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IGV4cGFuZCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgd2lkdGggZmxleCBncmlkIGNvbHVtbi5cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zOiBudWxsKSB7XG4gICRjb2x1bW5zOiAkY29sdW1ucyBvciBleHBhbmQ7XG5cbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVuZG8gbmVnYXRpdmUgbWFyZ2luc1xuICAgIC8vIEZyb20gY29sbGFwc2VkIGNoaWxkXG4gICAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgICAmLmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAucm93IC5jb2x1bW4ucm93LnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLmNvbHVtbi1ibG9jayB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIEBleHRlbmQgLmNvbHVtbjsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBwbGFjZWhvbGRlci1pbi1leHRlbmRcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZWlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJysnO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgfVxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cbiAgICBcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1lbGVtZW50LW5lc3RpbmdcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuXG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcsICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHsgXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cbkBpbXBvcnQgJ3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlld3BvcnQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kYXRlcGlja2VyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVkYWN0b3InO1xuQGltcG9ydCAnY29tcG9uZW50cy9wb3B1cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2luZm9ncmFwaGljJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY3NzLXRvb2x0aXAnO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbi8vXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5cbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLy8gR0VORVJBTFxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogMjAwO1xuXG4gICYuaW5mb2dyYXBoaWMtem9vbWVkLFxuICAmLm92ZXJmbG93IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi8vIEN1c3RvbSBzY3JvbGxiYXJcbi5zY3JvbGxiYXIge1xuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcHVycGxlLCA2JSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmFjdGl2ZSxcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkd2hpdGUsIDEwJSk7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhci1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmxvYWRpbmcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB6LWluZGV4OiA5OTk5O1xuICBhbmltYXRpb246IG5vanMgMC4xcyBmb3J3YXJkcyAycztcbn1cblxuLmJsb2NrIHtcbiAgcGFkZGluZzogMTAwcHggMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICB9XG59XG5cbi5ibG9jazIge1xuICBwYWRkaW5nOiA1MHB4IDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgfVxuXG4gICYud2hpdGUge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgfVxuXG4gICYuemFjaHRyb3plIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjllZmU1O1xuICB9XG59XG5cbi5jb250ZW50LWJsb2NrcyB7XG4gIHBhZGRpbmc6IDM1cHggMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgfVxufVxuXG4uY29udGVudC1ibG9jayB7XG4gIHBhZGRpbmc6IDM1cHggMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICB9XG5cbiAgJiNtZWxkLWplLWFhbi1ibG9jayB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvc2Frcy10YWJsZXRzLW5ld3NsZXR0ZXIucG5nJykgbm8tcmVwZWF0IDEwMCUgdG9wICM1YTBlNTQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlICsgMjUwcHgpIHRvcDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgYmFja2dyb3VuZDogIzVhMGU1NDtcbiAgICB9XG5cbiAgICAuZm9ybS10aXRsZSxcbiAgICBsYWJlbCxcbiAgICBwIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIGxhYmVsLFxuICAgIHAge1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCA2MHB4IGJsYWNrO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM5KTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzkpO1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZTEyNDQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBvbGljeS10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29udGVudCB7XG4gIHBhZGRpbmc6IDcwcHggMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICB9XG59XG5cbi5ncmF5IHtcbiAgYmFja2dyb3VuZDogJGdyYXk7XG59XG5cbi5ncmF5MiB7XG4gIGJhY2tncm91bmQ6ICRncmF5Mjtcbn1cblxuLndoaXRlLXRleHQge1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIGEsXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIGxpLFxuICBwLFxuICB1bCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4ubGFyZ2Utb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMTguNzUlICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnJvdyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgfVxufVxuXG4ucmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ib3JkZXItdG9wIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDE7XG59XG5cbi5uby1qcyAucHJvamVjdCB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4ubm8tanMgLmNvbnRlbnQtYmxvY2sge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLm5vLWpzIC5hbmltYXRlIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbkBrZXlmcmFtZXMgbm9qcyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyBBTklNQVRJRVxuXG4uYW5pbWF0ZSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcblxuICAmLnNob3cge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5hbm0tc3RhcnQge1xuICAuaW5kZXgge1xuICAgIC5pbmRleC1pY29uIHtcbiAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6YWZ0ZXIsXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLWNvbnRlbnQge1xuXG4gICAgI2xvZ28sXG4gICAgLmJ1dHRvbixcbiAgICBoMSxcbiAgICBwIHtcbiAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLW5ld3Mge1xuXG4gICAgaDQsXG4gICAgcCB7XG4gICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgfVxuICB9XG5cbiAgI2hlYWRlci1saW5lMSB7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICAjaGVhZGVyLWxpbmUyIHtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIC5oZWFkZXItdGl0bGUge1xuXG4gICAgaDEsXG4gICAgaDUsXG4gICAgaDYge1xuICAgICAgc3BhbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoZWFkZXIge1xuICAgIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcblxuICAgIC5oZWFkZXItdGl0bGUtd3JhcHBlciB7XG4gICAgICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IC0yMjRweDtcbiAgICB9XG4gIH1cbn1cblxuLmFubS1kZWxheXMge1xuICAuaW5kZXgge1xuICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMXMgIWltcG9ydGFudDtcblxuICAgIC5pbmRleC1pY29uIHtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMS45cyAhaW1wb3J0YW50O1xuXG4gICAgICAmOmFmdGVyLFxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDEuOXMgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLWNvbnRlbnQge1xuICAgICNsb2dvIHtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMS4ycztcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDEuM3M7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDEuNHM7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDEuNXM7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1uZXdzIHtcbiAgICBoNCB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDEuNnM7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDEuOHM7XG4gICAgfVxuICB9XG5cbiAgI2hlYWRlci1saW5lMSB7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAxLjhzO1xuICB9XG5cbiAgI2hlYWRlci1saW5lMiB7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAxLjJzO1xuICB9XG5cbiAgLmhlYWRlci10aXRsZSB7XG4gICAgaDEge1xuICAgICAgc3BhbiB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMC4zcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAwLjNzO1xuICAgICAgfVxuICAgIH1cblxuICAgIGg2IHtcbiAgICAgIHNwYW4ge1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDAuM3M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGVhZGVyIHtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDAuM3M7XG5cbiAgICAuaGVhZGVyLXRpdGxlLXdyYXBwZXIge1xuICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAwLjNzO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMC4zcztcbiAgICB9XG4gIH1cbn1cblxuLy8gSEVBREVSXG5cbmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNzB2aDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAuaW5mb2dyYXBoaWMgJiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGhlaWdodDogNzB2aDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxMzRweCAyMjRweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRncmF5IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNjdweCAxMTJweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCA2N3B4IDExMnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDMzcHggNTZweDtcbiAgICB9XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA3MCU7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNikgNzAlKTtcbiAgICAvKiBGRjMuNi0xNSAqL1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDcwJSk7XG4gICAgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNikgNzAlKTtcbiAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgJi53aXRoLWludHJvIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR3aGl0ZSB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgcGFkZGluZzogNTBweCA4MHB4O1xuICAgIHdpZHRoOiA1MCU7XG5cbiAgICAjbG9nbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItY29udGVudC1pbm5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgI2hlYWRlci1zaGFwZS1kZXRhaWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiA0MThweDtcbiAgICBoZWlnaHQ6IDM0OXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgZG93bikge1xuICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgaGVpZ2h0OiAyOTJweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgaGVpZ2h0OiAxOTJweDtcbiAgICB9XG4gIH1cblxuICAuaW5kZXgge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogOTk5O1xuXG4gICAgLmluZGV4LWljb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgbGVmdDogNDBweDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDBzO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMHM7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtOHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDBzO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgbGVmdDogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjaW5kZXgtc2hhcGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgIHBvbHlsaW5lIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1vdXQ7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICByaWdodDogLTIwcHg7XG4gICAgICB0b3A6IC0yMHB4O1xuICAgIH1cbiAgfVxuXG4gICNoZWFkZXItbGluZTEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDQ2MnB4O1xuICAgIGhlaWdodDogMjY4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICNoZWFkZXItbGluZTIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDYzMHB4O1xuICAgIGhlaWdodDogMzY2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1uZXdzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogNjAwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgei1pbmRleDogMjtcblxuICAgIGg0LFxuICAgIHAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAjbmV3cy1zaGFwZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBuYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogOTk4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRiZXJyeTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2Utb3V0O1xuICAgIH1cblxuICAgIC5uYXYtbGlzdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTIwcHg7XG4gICAgICB0b3A6IDE2MHB4O1xuICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgZWFzZS1vdXQ7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICB1bCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2Utb3V0O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubWFpbiB7XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdvbGQ7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYubWFpbiB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NlYXJjaC1mb3JtIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIHJpZ2h0OiAxMjBweDtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGVhc2Utb3V0O1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAjc2VhcmNoIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNjBweCAwIDIwcHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgIH1cblxuICAgICAgI3NlYXJjaC1zdWJtaXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogN3B4O1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb24tc2VhcmNoLnN2ZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNpdGUtdmVyaGFhbC1zZWFyY2gtcmVzdWx0cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cblxuICAjaW5kZXgtc2hhcGUtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA1MDE7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLXRpdGxlLXdyYXBwZXIge1xuICAgIGhlaWdodDogNzB2aDtcblxuICAgIC5oZWFkZXItdGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA1MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiA5O1xuXG4gICAgICAucHJvamVjdC1kYXRlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICB9XG5cbiAgICAgIGgxLFxuICAgICAgaDUsXG4gICAgICBoNiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgaGVpZ2h0OiA3MHZoO1xuICAgIH1cbiAgfVxufVxuXG4uZnJvbnRwYWdlIHtcbiAgaGVhZGVyIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmhlYWRlci1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgIHBhZGRpbmc6IDUwcHggODBweDtcbiAgICAgIHdpZHRoOiA2MDBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgZG93bikge1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggNzBweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY1MHB4KSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgcGFkZGluZzogMzBweCA0MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgfVxuXG4gICAgICAjbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogNyUgMCAwO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgZG93bikge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIG1hcmdpbjogNyUgMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2Utb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgI2hlYWRlci1zaGFwZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHdpZHRoOiA2NTBweDtcbiAgICAgIGhlaWdodDogOTI4cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgICBoZWlnaHQ6IDg1NnB4O1xuXG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NTBweCkge1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgICAgIGhlaWdodDogODU2cHg7XG4gICAgICAgIHRvcDogLTUwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICB3aWR0aDogNTAwcHg7XG4gICAgICAgIGhlaWdodDogNzE0cHg7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiAzNTdweDtcbiAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiAzNTdweDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5ncmFkaWVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMCwgMCwgMCwgMCkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMCwgMCwgMCwgMC41KSkpO1xuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAubmF2LWJ1dHRvbnMge1xuICAgICAgLm5hdi1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA4OTk7XG4gICAgICAgIGJvdHRvbTogNTVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL25hdi1hcnJvdy1kb3duLnN2ZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDAuNXM7XG5cbiAgICAgICAgJi5oaWRlLW5hdiB7XG4gICAgICAgICAgYm90dG9tOiAtNzZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5uYXYtZG93bi10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA4OTk7XG4gICAgICAgIGJvdHRvbTogODVweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE1MHB4O1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcblxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgICAgICAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC41cztcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIDAuNnM7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5oaWRlLW5hdiB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIGJvdHRvbTogNzBweDtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tZW51LW9wZW4ge1xuICBuYXYge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAubmF2LWxpc3Qge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xuICAgIH1cblxuICAgICNzZWFyY2gtZm9ybSB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbmRleCB7XG4gICAgLmluZGV4LWljb24ge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMHM7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMHM7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGVhZGVyIHtcbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHotaW5kZXg6IDk5NztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjbG9nbyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8gSU5UUk9cblxuLmludHJvIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBwYWRkaW5nOiA2MHB4IDA7XG5cbiAgaDYge1xuICAgIG1hcmdpbjogNXB4IDA7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFBST0pFQ1RTXG5cbi5wcm9qZWN0cyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblxuICAgIC5wcm9qZWN0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5wcm9qZWN0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMzMuMyU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgY29sb3I6ICRibGFjaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA2NnB4O1xuICAgIGhlaWdodDogNDNweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9jb3JuZXItcmlnaHQuc3ZnJyk7XG4gICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9qZWN0LXBhZGRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDU1MHB4O1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q4ZDhkODtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG5cbiAgICAucHJvamVjdC1iYWNrZ3JvdW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGhlaWdodDogMjUwcHggIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMjA2cHggNzY2cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvamVjdC1pbm5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5wcm9qZWN0LWlubmVyLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIC5wcm9qZWN0LWlubmVyLWNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgIH1cblxuICB9XG5cbiAgJi53aWR0aDIge1xuICAgIHdpZHRoOiA2Ni42JTtcblxuICAgIC5wcm9qZWN0LXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgfVxuXG4gICAgICAucHJvamVjdC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC41KSAxMDAlKTtcbiAgICAgICAgICAvKiBGRjMuNi0xNSAqL1xuICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICAgICAgICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICAgICAgICAgIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvamVjdC1pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgIC5wcm9qZWN0LWlubmVyLWNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIC5wcm9qZWN0LWlubmVyLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm5vLWltYWdlIHtcbiAgICAucHJvamVjdC1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZDogcmdiKDExMSwgNDUsIDEwNik7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDExMSwgNDUsIDEwNiwgMSkgMCUsIHJnYmEoOTMsIDE5LCA4NywgMSkgMTAwJSk7XG4gICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cblxuICAgICAgLnByb2plY3QtYmFja2dyb3VuZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMjU2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMTRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9wcm9qZWN0LWxpbmUuc3ZnJyk7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC5wcm9qZWN0LWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgIC5wcm9qZWN0LWlubmVyLWNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5wcm9qZWN0LXBhZGRpbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCAwIHJnYmEoMCwgMCwgMCwgLjEpO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2plY3Qtc2l6ZSB7XG4gIHdpZHRoOiAzMy4zJTtcbn1cblxuLmdyYXkyIHtcbiAgLnByb2plY3Qge1xuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvY29ybmVyLXJpZ2h0Mi5zdmcnKTtcbiAgICB9XG4gIH1cbn1cblxuLmxvZ29zIHtcbiAgcGFkZGluZzogMTAwcHggMDtcblxuICBpbWcge1xuICAgIHBhZGRpbmc6IDEwcHggNDBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRlVMTFdJRFRIIEJMT0NLU1xuXG4uZnVsbHdpZHRoLWJsb2NrcyB7XG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogNDIwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjYpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGVhc2Utb3V0O1xuICAgIH1cblxuICAgIC5jb2x1bW4tYmxvY2stY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDtcblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGVhc2Utb3V0O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgICAgIH1cblxuICAgICAgJi5jbG9zZWQge1xuICAgICAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5jb2x1bW4tYmxvY2stY29udGVudCB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC41cyBvcGFjaXR5IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgMC4ycywgMC41cyB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAwLjJzLCAwLjVzIGJhY2tncm91bmQgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSAwcztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgLmNvbHVtbi1ibG9jay1jb250ZW50IHtcblxuICAgICAgICAgIC5idXR0b24sXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJiNkZWJld2VnaW5nLFxuICAgICYjdGlqZGxpam4ge1xuICAgICAgaDIge1xuICAgICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiN3ZXJrZW5iaWpzYWtzIHtcbiAgICAgIGgyIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCA2MHB4IHJnYmEoMCwgMCwgMCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiN2b29yb3VkZXJzIHtcbiAgICAgIGgyIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCA0MHB4IHJnYmEoMCwgMCwgMCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2x1bW4tYmxvY2stZnVsbHdpZHRoIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDT05URU5UXG5cbi5jb250ZW50LWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDYwcHggMDtcblxuICBpbWcge1xuICAgICYub3V0b2Z0aGVib3gge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMCU7XG4gICAgICBtYXgtd2lkdGg6IDEyMCU7XG4gICAgICB3aWR0aDogMTIwJTtcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgNzdweCA0NXB4IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkZ3JheSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAzOHB4IDIycHggMDtcbiAgICB9XG4gIH1cblxuICAuY29udGVudC10aXRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAzMiU7XG4gICAgcmlnaHQ6IC0zMiU7XG4gICAgYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDE7XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG5cbiAgICBpbWcge1xuICAgICAgJi5vdXRvZnRoZWJveCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LXRpdGxlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgfVxufVxuXG5ibG9ja3F1b3RlIHtcbiAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgcGFkZGluZzogMjBweCAzMHB4O1xuICBtYXJnaW46IDIwcHggMCAzNXB4O1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIG1hcmdpbjogNXB4IDAgMjVweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIH1cbn1cblxuLnNvY2lhbC1zaGFyZSB7XG4gIGltZyB7XG4gICAgbWFyZ2luOiA2cHggNnB4IDAgMDtcbiAgfVxufVxuXG4ubmV4dC1wcm9qZWN0IHtcbiAgYmFja2dyb3VuZDogJGJlcnJ5O1xuICBwYWRkaW5nOiAzMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMzQwcHg7XG4gIHRvcDogLTUwcHg7XG5cbiAgaDYge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCAwO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2Fycm93LXJpZ2h0LnN2ZycpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7XG4gIH1cblxuICBoNSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4uc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIHdpZHRoOiAxNSU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRiZXJyeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogJGJlcnJ5O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiA0LjVweCAwIDQuNXB4IDlweDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRiZXJyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDMwcHg7XG4gICAgei1pbmRleDogMTE7XG4gIH1cbn1cblxuLmJ1dHRvbiB7XG4gICYuYXJyb3cge1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgYmFja2dyb3VuZDogJGJlcnJ5IHVybCgnLi4vaW1nL2Fycm93LXJpZ2h0LnN2ZycpIHJpZ2h0IDIwcHggY2VudGVyIG5vLXJlcGVhdDtcbiAgfVxuXG4gICYubGluZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgIGJhY2tncm91bmQ6ICRiZXJyeSB1cmwoJy4uL2ltZy9hcnJvdy1yaWdodC5zdmcnKSByaWdodCAyMHB4IGNlbnRlciBuby1yZXBlYXQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIHJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICNjMmMyYzI7XG4gICAgfVxuICB9XG59XG5cbi5tYWdhemluZS1zbGlkZXIge1xuICBtYXJnaW46IDQwcHggMCAwO1xuXG4gIC5zbGlkZSB7XG4gICAgd2lkdGg6IDMzJTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2Utb3V0O1xuICAgIHBhZGRpbmc6IDAgMjBweCA0MHB4IDA7XG5cbiAgICBoNSB7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbiAgICAuaGlnaGxpZ2h0cyxcbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyYXkzO1xuICAgICAgICBjb2xvcjogJGdyYXkzO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiA1cHggMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ4LWNsb25lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAubGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgIHdpZHRoOiA0OSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgd2lkdGg6IDQ5JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIHdpZHRoOiA0OSU7XG4gICAgfVxuXG4gIH1cblxuICAuY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLm1hZ2F6aW5lLXNpZ251cCB7XG4gIGJhY2tncm91bmQ6ICRiZXJyeTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA4MHB4IDA7XG5cbiAgaDIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG4uYngtd3JhcHBlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcblxuICAuYngtdmlld3BvcnQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC5ieC1uZXh0IHtcbiAgICB3aWR0aDogMjZweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTdweCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAtNzBweCAhaW1wb3J0YW50O1xuICAgIHRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9hcnJvdy1yaWdodC1yZWQuc3ZnJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgIHRvcDogNTVweCAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICB0b3A6IDU1cHggIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAxMDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5ieC1wcmV2IHtcbiAgICB3aWR0aDogMjZweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTdweCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IC04MHB4ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAyMDBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2Fycm93LWxlZnQtcmVkLnN2ZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICB0b3A6IDU1cHggIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICB0b3A6IDU1cHggIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxufVxuXG4uc2xpZGVyLWJsb2NrIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBtYXJnaW46IDMwcHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbjogNzBweCAwIDA7XG4gIH1cblxuICAubGFyZ2UtMTAsXG4gIC5sYXJnZS0xMyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIHRvcDogLTM1cHg7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgIHdpZHRoOiAzMDAlO1xuICAgICAgYm90dG9tOiAtMzVweDtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5O1xuICAgIH1cbiAgfVxufVxuXG4uY29udGVudC1ibG9jay1pbWFnZSB7XG4gIG1hcmdpbjogNDBweCAwIDA7XG5cbiAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAtNDhweCAwIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4jbWVlci1wcm9qZWN0ZW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDIwO1xufVxuXG4uc2Nob2xlbiB7XG4gIGltZyB7XG4gICAgd2lkdGg6IDEzMHB4O1xuICAgIGhlaWdodDogMTMwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gIH1cblxuICB0YWJsZSB7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgdGJvZHkge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgdGQge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JheTI7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMnB4IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxudGFibGUge1xuICBib3JkZXI6IDA7XG5cbiAgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIHRyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICB0ZCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmF5MjtcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICB9XG4gIH1cblxufVxuXG4jbWFwIHtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5maWx0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICBoNCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmRhdGUtZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBpbnB1dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTMwcHg7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICB9XG4gIH1cblxuICAuZmlsdGVyLXNlYXJjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgI2ZpbHRlci1zZWFyY2gtaW5wdXQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIHBhZGRpbmc6IDAgNjBweCAwIDIwcHg7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIH1cblxuICAgICNmaWx0ZXItc2VhcmNoLXN1Ym1pdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDdweDtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb24tc2VhcmNoLWJsYWNrLnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG4gIH1cbn1cblxuLnZhY2F0dXJlIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBwYWRkaW5nOiAzMHB4O1xuICBtYXJnaW46IDIwcHggLTMwcHggMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q4ZDhkODtcblxuICAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgdXJsKCcuLi9pbWcvYXJyb3ctcmlnaHQtcmVkLnN2ZycpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDAgMzBweCAwIDIwcHg7XG4gICAgY29sb3I6ICRiZXJyeTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbiAgaHIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMjBweDtcbiAgICBtYXJnaW46IDA7XG5cbiAgfVxuXG4gIHRhYmxlIHtcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcblxuICAgICAgdGQge1xuICAgICAgICBwYWRkaW5nOiAycHggMjBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLnJvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5zdGFnZSB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgcGFkZGluZzogMzBweDtcbiAgbWFyZ2luOiAyMHB4IC0zMHB4IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XG5cbiAgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlIHVybCgnLi4vaW1nL2Fycm93LXJpZ2h0LXJlZC5zdmcnKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCAyMHB4O1xuICAgIGNvbG9yOiAkYmVycnk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG4gIGhyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gIH1cblxuICAucm93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAucmVsYXRpdmUge1xuICAgIG1hcmdpbjogNDBweCAwIDA7XG4gIH1cbn1cblxuLy8gRk9PVEVSXG5cbmZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjA7XG4gIGJhY2tncm91bmQ6ICRkYXJrcHVycGxlO1xuXG4gIC5zb2NpYWwtaWNvbiB7XG4gICAgbWFyZ2luOiAwIDVweCAwIDA7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbiAgfVxuXG4gIC5zaXRlbWFwIHtcbiAgICBtYXJnaW46IDAgMCA0MHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgYSB7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgfVxuXG4gIC5mb290ZXItYm90dG9tIHtcbiAgICBtYXJnaW46IDUwcHggMCAwO1xuICAgIG9wYWNpdHk6IDAuNTtcblxuICAgIC5yb3cge1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuY29weXJpZ2h0LFxuICAgIC5tZWRld2Vya2VycyB7XG4gICAgICBtYXJnaW46IDAgMzBweCAwIDA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LXJpZ2h0IHtcbiAgICAgIGEge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDAgMzBweCAwIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICAgIH1cblxuICAgICAgLnRleHQtcmlnaHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiA1cHggMCAhaW1wb3J0YW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gSUZSQU1FXG5pZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuI3Nha3Mtc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDUyMHB4O1xuICBwYWRkaW5nOiAwIDAgNDBweCAwO1xuICB0cmFuc2l0aW9uOiAuNXMgYWxsIGN1YmljLWJlemllciguNzUsIC4wNCwgLjQxLCAuOTUpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBoZWlnaHQ6IDM0MHB4O1xuICAgIHBhZGRpbmc6IDBweCAwIDAgMDtcbiAgfVxuXG4gIC5zbGlkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBtYXJnaW4tbGVmdDogLTIwMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNDFweCA1MXB4IDAgcmdiYSgwLCAwLCAwLCAuMTIpO1xuICAgIHRyYW5zaXRpb246IDFzIGFsbCBjdWJpYy1iZXppZXIoLjc1LCAuMDQsIC40MSwgLjk1KTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBsZWZ0LCBmaWx0ZXI7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDA7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBlcnNwZWN0aXZlOiAxMDAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTQ1JTtcbiAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAxKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgdHJhbnNpdGlvbjogMXMgYWxsIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2IoMCwgMCwgMCk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDEpIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMSkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAxKSAxMDAlKTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB0cmFuc2l0aW9uOiAxcyBhbGwgZWFzZS1pbi1vdXQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNXB4KTtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGxheS1idXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDc2cHg7XG4gICAgICBoZWlnaHQ6IDc2cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IDFzIGFsbCBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgYm9yZGVyOiA0cHggc29saWQgd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjgpO1xuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuOCkgMCUsIHJnYmEoMTAyLCA0MCwgMTA1LCAwLjgpIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjgpIDAlLCByZ2JhKDEwMiwgNDAsIDEwNSwgMC44KSAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AgbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjgpIDAlLCByZ2JhKDEwMiwgNDAsIDEwNSwgMC44KSAxMDAlKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4IDAgMTBweCAxOHB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiA4cHggMCA4cHggMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zbGlkZS1wcmV2IHtcbiAgICB0b3A6IDM4JTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMjZweDtcbiAgICBtYXJnaW4tdG9wOiAtMjZweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiA0O1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9zbGlkZXItcHJldi5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBsZWZ0OiA1JTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yNnB4O1xuICAgICAgbWFyZ2luLXRvcDogLTU2cHg7XG4gICAgfVxuICB9XG5cbiAgLnNsaWRlLW5leHQge1xuICAgIHRvcDogMzglO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogMTc0cHg7XG4gICAgbWFyZ2luLXRvcDogLTI2cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogNDtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvc2xpZGVyLW5leHQuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgbGVmdDogOTUlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTI2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtNTZweDtcbiAgICB9XG4gIH1cblxuICAmLnNsaWRlMS1hY3RpdmUge1xuICAgICNzbGlkZTEge1xuICAgICAgei1pbmRleDogMztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxKTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDBweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NsaWRlMiB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbGVmdDogNzUlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguOCk7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cigxLjVweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMS41cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogODAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogODUlO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzbGlkZTMge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxlZnQ6IDkwJTtcbiAgICAgIG1hcmdpbi10b3A6IDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKC42KTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDk1JTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NsaWRlNCB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguNik7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NsaWRlNSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogMTAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguNik7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDRweCk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICB9XG5cbiAgICAgIC5wbGF5LWJ1dHRvbixcbiAgICAgIGgyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgZG93bikge1xuICAgICAgICBsZWZ0OiA1JTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzbGlkZTYge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGxlZnQ6IDI1JTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoLjgpO1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMS41cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDEuNXB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDE1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNsaWRlMi1hY3RpdmUge1xuICAgICNzbGlkZTEge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGxlZnQ6IDI1JTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoLjgpO1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMS41cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDEuNXB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDE1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc2xpZGUyIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMSk7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cigwcHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDBweCk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzbGlkZTMge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGxlZnQ6IDc1JTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoLjgpO1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMS41cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDEuNXB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDgwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDg1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc2xpZGU0IHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZWZ0OiA5MCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKC42KTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDk1JTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NsaWRlNSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguNik7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NsaWRlNiB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogMTAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguNik7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDRweCk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICB9XG5cbiAgICAgIC5wbGF5LWJ1dHRvbixcbiAgICAgIGgyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgZG93bikge1xuICAgICAgICBsZWZ0OiA1JTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc2xpZGUzLWFjdGl2ZSB7XG4gICAgI3NsaWRlMSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogMTAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguNik7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDRweCk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICB9XG5cbiAgICAgIC5wbGF5LWJ1dHRvbixcbiAgICAgIGgyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgZG93bikge1xuICAgICAgICBsZWZ0OiA1JTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzbGlkZTIge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGxlZnQ6IDI1JTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoLjgpO1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMS41cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDEuNXB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDE1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc2xpZGUzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMSk7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cigwcHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDBweCk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzbGlkZTQge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGxlZnQ6IDc1JTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoLjgpO1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMS41cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDEuNXB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDgwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDg1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc2xpZGU1IHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZWZ0OiA5MCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKC42KTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDk1JTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NsaWRlNiB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguNik7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zbGlkZTQtYWN0aXZlIHtcbiAgICAjc2xpZGUxIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKC42KTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICB9XG5cbiAgICAgIC5wbGF5LWJ1dHRvbixcbiAgICAgIGgyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc2xpZGUyIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZWZ0OiAxMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKC42KTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDUlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NsaWRlMyB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbGVmdDogMjUlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguOCk7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cigxLjVweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMS41cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMjAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMTUlO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzbGlkZTQge1xuICAgICAgei1pbmRleDogMztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxKTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDBweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NsaWRlNSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbGVmdDogNzUlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguOCk7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cigxLjVweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMS41cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogODAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogODUlO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzbGlkZTYge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxlZnQ6IDkwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoLjYpO1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgIGZpbHRlcjogYmx1cig0cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogOTUlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNsaWRlNS1hY3RpdmUge1xuICAgICNzbGlkZTEge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxlZnQ6IDkwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoLjYpO1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgIGZpbHRlcjogYmx1cig0cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogOTUlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc2xpZGUyIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKC42KTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICB9XG5cbiAgICAgIC5wbGF5LWJ1dHRvbixcbiAgICAgIGgyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc2xpZGUzIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZWZ0OiAxMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKC42KTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDUlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NsaWRlNCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbGVmdDogMjUlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguOCk7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cigxLjVweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMS41cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMjAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMTUlO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzbGlkZTUge1xuICAgICAgei1pbmRleDogMztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxKTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDBweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NsaWRlNiB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbGVmdDogNzUlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguOCk7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cigxLjVweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMS41cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogODAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogODUlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc2xpZGU2LWFjdGl2ZSB7XG4gICAgI3NsaWRlMSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbGVmdDogNzUlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguOCk7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cigxLjVweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMS41cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogODAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogODUlO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzbGlkZTIge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxlZnQ6IDkwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoLjYpO1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgIGZpbHRlcjogYmx1cig0cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogOTUlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc2xpZGUzIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKC42KTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICB9XG5cbiAgICAgIC5wbGF5LWJ1dHRvbixcbiAgICAgIGgyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc2xpZGU0IHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZWZ0OiAxMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKC42KTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgIH1cblxuICAgICAgLnBsYXktYnV0dG9uLFxuICAgICAgaDIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgIGxlZnQ6IDUlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NsaWRlNSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbGVmdDogMjUlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSguOCk7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cigxLjVweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMS41cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMjAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbGVmdDogMTUlO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzbGlkZTYge1xuICAgICAgei1pbmRleDogMztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxKTtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDBweCk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAucGxheS1idXR0b24sXG4gICAgICBoMiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aWRlb3Mge1xuICBtYXJnaW46IDQwcHggMCAtNzBweCAwO1xufVxuXG4uZ3JlY2FwdGNoYS1iYWRnZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy9pc2xhIGVzcGlyYWxcbi5pZS1rYWFydCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI2FuaW1hdGllIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IC0zNiU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNikhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIl19 */
