@charset "UTF-8";
*, *:before, *:after {
  box-sizing: border-box;
}

header,
aside,
section,
div,
span,
input,
textarea,
button,
select,
a {
  -webkit-tap-highlight-color: transparent;
}

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

body {
  font-size: 16px;
  font-family: "Open Sans", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  margin: 0;
  width: 100%;
  background-color: #ffffff;
}

a {
  text-decoration: none;
  color: #cc4b00;
  opacity: 1;
  cursor: pointer;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

p a {
  text-decoration: underline;
}

h1,
h2,
h3 {
  margin: 0;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

img {
  display: block;
  border: none;
}

.disclaimer {
  position: relative;
  font-size: 0.875rem;
  padding-left: 2.5rem;
  margin: 1.25rem 0;
  color: #505050;
}

.disclaimer:after {
  font-family: 'FSiconakron';
  content: '\e908';
  font-size: 1rem;
  position: absolute;
  top: 0px;
  left: 0px;
  color: #cc4b00;
}

@media (min-width: 960px) {
  .disclaimer {
    font-size: 1rem;
  }
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

iframe {
  border: none;
}

.no-padding {
  padding: 0 0 0 0 !important;
}

.no-padding-top {
  padding-top: 0 !important;
}

.no-margins {
  margin: 0 0 0 0 !important;
}

.span {
  display: inline-block;
}

.h1 {
  font-family: "ITC Lubalin Graph W01";
  font-size: 2.25rem;
  font-weight: 300;
  margin: 0 0 1.25rem 0;
  padding: 0;
  color: #505050;
}

@media (min-width: 960px) {
  .h1 {
    font-size: 3.625rem;
  }
}

.h2 {
  font-family: "ITC Lubalin Graph W01";
  font-size: 2.125rem;
  font-weight: 300;
  color: #505050;
  letter-spacing: 0.125rem;
  margin-bottom: 1.875rem;
}

@media (min-width: 960px) {
  .h2 {
    font-size: 3.25rem;
    margin-bottom: 2.5rem;
  }
}

.h3 {
  font-size: 1.375rem;
  font-weight: 400;
  margin: 0;
  padding: 0 0 1.25rem 0;
  color: #505050;
}

@media (min-width: 960px) {
  .h3 {
    font-size: 1.75rem;
  }
}

.h4 {
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0;
  padding: 0 0 1.25rem 0;
  color: #505050;
}

.headline {
  font-family: "Open Sans", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  color: #505050;
  font-size: 1.5rem;
  line-height: 2.125rem;
  font-weight: normal;
  margin: 0 0 1.25rem 0;
}

@media (min-width: 500px) {
  .headline {
    font-size: 2rem;
    line-height: 2.5rem;
  }
}

.sub-headline, .halo .headline + p {
  font-family: "Open Sans", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  color: #505050;
  font-weight: 300;
  font-size: 1.25rem;
  line-height: normal;
  margin: 0 0 1.25rem 0;
  max-width: 100%;
}

@media (min-width: 960px) {
  .sub-headline, .halo .headline + p {
    font-size: 1.5rem;
  }
}

p {
  line-height: 1.625rem;
  color: #505050;
  margin: 0 0 1.25rem 0;
  font-size: 0.875rem;
}

@media (min-width: 960px) {
  p {
    font-size: 1rem;
  }
}

@media (min-width: 960px) {
  .side-padding {
    padding-left: 5%;
    padding-right: 5%;
  }
}

.epic-text {
  font-size: 1.375rem;
  line-height: 2rem;
  font-weight: normal;
  margin-bottom: 1.875rem;
  color: #505050;
}

@media (min-width: 960px) {
  .epic-text {
    font-size: 1.75rem;
    line-height: 2.5rem;
  }
}

.small-text {
  font-size: 0.875rem;
}

.large-text {
  font-size: 2.75rem;
}

.large-text.skin-hotrod {
  color: #cc4b00;
}

.ul {
  font-size: 1rem;
  color: #505050;
}

.ul li {
  margin-bottom: 0.875rem;
  line-height: 1.625rem;
}

.ul--bullets {
  list-style: inside;
  list-style-type: none;
}

.ul--bullets li {
  position: relative;
  padding-left: 1.25rem;
}

.ul--bullets li:before {
  font-family: "FSiconakron";
  position: absolute;
  left: 0;
  top: 0;
  content: "\e902";
  color: #fdb913;
  font-size: 0.75rem;
  display: block;
}

.ul--bullets a {
  text-decoration: underline;
}

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

.ul--bullets-skin-gray li:before {
  color: #ababab;
}

.newspaper-columns {
  -webkit-columns: 1 auto;
  -moz-columns: 1 auto;
  columns: 1 auto;
}

@media (min-width: 700px) {
  .newspaper-columns {
    -webkit-columns: 2 auto;
    -moz-columns: 2 auto;
    columns: 2 auto;
  }
}

@media (min-width: 1200px) {
  .newspaper-columns--3-columns {
    -webkit-columns: 3 auto;
    -moz-columns: 3 auto;
    columns: 3 auto;
  }
}

.skin-hotrod {
  color: #cc4b00;
}

.skin-ultramagnus {
  color: #13b5ea;
}

.skin-jetfire {
  color: #ffffff;
}

.sidepad-text {
  max-width: 100%;
}

@media (min-width: 500px) {
  .sidepad-text {
    max-width: 60%;
  }
}

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

.blockquote {
  border-left: solid 3px #fdb913;
  padding: 0.625rem 0.625rem 0.625rem 1.25rem;
  color: #505050;
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.blockquote p {
  margin: 0;
}

@media (min-width: 960px) {
  .blockquote {
    padding: 0.625rem 0.625rem 0.625rem 1.875rem;
    font-size: 1rem;
    line-height: 1.5rem;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}

.blockquote__sig {
  font-weight: bold;
  margin-top: 1.25rem;
}

.epic-quote {
  position: relative;
  font-family: "ITC Lubalin Graph W01";
  font-size: 1.375rem;
  line-height: 1.875rem;
  font-weight: 300;
  padding: 0 1.25rem;
  color: #ababab;
}

.epic-quote:before {
  content: '\201C';
  position: absolute;
  left: -0.625rem;
  top: 0.4375rem;
  color: #f1f1f0;
  font-size: 4.25rem;
  font-family: "ITC Lubalin Graph W01";
  font-weight: 600;
}

@media (min-width: 960px) {
  .epic-quote {
    font-size: 1.75rem;
    line-height: 2.25rem;
  }
}

.epic-quote__sig {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-family: "Open Sans", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #505050;
}

.epic-quote--ultramagnus {
  color: #13b5ea;
}

.epic-quote--springer {
  color: #b7d433;
}

.epic-quote--bumblebee:before {
  color: #fdb913;
}

.bold {
  font-weight: bold;
}

.uppercase {
  text-transform: uppercase;
}

@font-face {
  font-family: "FSiconakron";
  font-weight: normal;
  font-style: normal;
  src: url("/assets/src/fonts/FSiconakron.eot");
  src: url("/assets/src/fonts/FSiconakron.eot?#iefix") format("embedded-opentype"), url("/assets/src/fonts/FSiconakron.woff") format("woff"), url("/assets/src/fonts/FSiconakron.ttf") format("truetype"), url("/assets/src/fonts/FSiconakron.svg#FSiconakron") format("svg");
}

.fs {
  font-family: 'FSiconakron' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: normal;
  vertical-align: middle;
  display: inline-block;
}

.fs-pencil:before {
  content: "";
}

.fs-sailee:before {
  content: "";
}

.fs-icon-list-solid:before {
  content: "";
}

.fs-icon-list-outline:before {
  content: "";
}

.fs-icon-grid-solid:before {
  content: "";
}

.fs-icon-grid-outline:before {
  content: "";
}

.fs-virtual-tour2:before {
  content: "";
}

.fs-levels:before {
  content: "";
}

.fs-chevron-large:before {
  content: "";
}

.fs-bars:before {
  content: "";
}

.fs-search:before {
  content: "";
}

.fs-art-design:before {
  content: "";
}

.fs-business:before {
  content: "";
}

.fs-film-television:before {
  content: "";
}

.fs-games:before {
  content: "";
}

.fs-media-communications:before {
  content: "";
}

.fs-music-recording:before {
  content: "";
}

.fs-sports:before {
  content: "";
}

.fs-web-technology:before {
  content: "";
}

.fs-youtube-alt2:before {
  content: "";
}

.fs-snapchat:before {
  content: "";
}

.fs-facebook:before {
  content: "";
}

.fs-facebook-alt:before {
  content: "";
}

.fs-goggleplus:before {
  content: "";
}

.fs-googleplus-alt:before {
  content: "";
}

.fs-instagram:before {
  content: "";
}

.fs-instagram-alt:before {
  content: "";
}

.fs-linkedin:before {
  content: "";
}

.fs-linkedin-alt:before {
  content: "";
}

.fs-pinterest:before {
  content: "";
}

.fs-tumblr:before {
  content: "";
}

.fs-twitter:before {
  content: "";
}

.fs-twitter-alt:before {
  content: "";
}

.fs-youtube-alt:before {
  content: "";
}

.fs-virtual-tour:before {
  content: "";
}

.fs-call-border-thick:before {
  content: "";
}

.fs-phone:before {
  content: "";
}

.fs-talk-border-thick:before {
  content: "";
}

.fs-chat:before {
  content: "";
}

.fs-download:before {
  content: "";
}

.fs-play-button:before {
  content: "";
}

.fs-info:before {
  content: "";
}

.fs-angle-down:before {
  content: "";
}

.fs-arrow-left-bold:before {
  content: "";
}

.fs-arrow-right-bold:before {
  content: "";
}

.fs-arrow-left:before {
  content: "";
}

.fs-arrow-right:before {
  content: "";
}

.fs-bullet-tri:before {
  content: "";
}

.fs-check:before {
  content: "";
}

.fs-close:before {
  content: "";
}

.fs-close-alt:before {
  content: "";
}

.fs-slash-bullet:before {
  content: "";
}

.fs-slash-tile:before {
  content: "";
}

.fs-logo-badge:before {
  content: "";
}

.logo {
  display: block;
  height: 1.625rem;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  opacity: 1;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  outline: none;
}

.logo:hover, .logo:focus {
  opacity: .5;
}

.logo img {
  height: 1.625rem;
  display: block;
}

.primary-nav {
  width: -webkit-calc(100% - 45px);
  width: calc(100% - 45px);
  height: -webkit-calc(100% - 45px);
  height: calc(100% - 45px);
  position: fixed;
  top: 45px;
  right: -webkit-calc(-100% + 45px);
  right: calc(-100% + 45px);
  overflow-y: auto;
  background-color: #f1f1f0;
  visibility: hidden;
  -webkit-transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0.5s, -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0.5s, -moz-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0.5s, transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (min-width: 500px) {
  .primary-nav {
    width: 20rem;
    right: -20rem;
  }
}

@media (min-width: 960px) {
  .primary-nav {
    width: auto;
    height: auto;
    max-width: initial;
    right: auto;
    top: auto;
    visibility: visible;
    position: relative;
    background-color: transparent;
  }
}

.nav--is-on .primary-nav {
  right: 0;
  visibility: visible;
  box-shadow: 0rem 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.3);
}

@media (min-width: 960px) {
  .nav--is-on .primary-nav {
    box-shadow: none;
  }
}

.nav--is-on {
  overflow: hidden;
}

.shrink .primary-nav .primary-nav__dropdown {
  top: 85px;
}

.primary-nav__block {
  width: 100%;
  border-top: solid 0.0625rem #d6d6d6;
  border-bottom: solid 0.0625rem #ffffff;
  color: #d6d6d6;
}

@media (min-width: 960px) {
  .primary-nav__block {
    width: auto;
    padding: 0 0.625rem;
    border: none;
    display: inline-block;
    vertical-align: middle;
  }
}

@media (min-width: 1200px) {
  .primary-nav__block {
    padding: 0 0.9375rem;
  }
}

.primary-nav__button,
.primary-nav__link {
  padding: 0.875rem 0.9375rem 0.875rem 0.9375rem;
  margin: 0;
  text-align: left;
  width: 100%;
  display: block;
  border: none;
  font-size: 1.125rem;
  cursor: pointer;
  font-family: 'Open Sans';
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  -webkit-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  background-color: #f1f1f0;
  color: #505050;
  position: relative;
}

.primary-nav__button > i,
.primary-nav__link > i {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 2.8125rem;
  height: 100%;
  line-height: 3.25rem;
  text-align: center;
  font-size: 0.375rem;
  color: #cc4b00;
  background-color: #ffffff;
  -webkit-transform-origin: center;
  -moz-transform-origin: center;
  -ms-transform-origin: center;
  -o-transform-origin: center;
  transform-origin: center;
  -webkit-transform: rotateZ(0deg);
  -moz-transform: rotateZ(0deg);
  -ms-transform: rotateZ(0deg);
  -o-transform: rotateZ(0deg);
  transform: rotateZ(0deg);
  -webkit-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.primary-nav__button:hover,
.primary-nav__link:hover {
  color: #fdb913;
}

.primary-nav__button:hover > i,
.primary-nav__link:hover > i {
  color: #fdb913;
}

.primary-nav__button:focus, .primary-nav__button.active,
.primary-nav__link:focus,
.primary-nav__link.active {
  color: #fdb913;
  outline: none;
}

.primary-nav__button:focus > i, .primary-nav__button.active > i,
.primary-nav__link:focus > i,
.primary-nav__link.active > i {
  color: #fdb913;
  background-color: #505050;
}

.primary-nav__button.active > i,
.primary-nav__link.active > i {
  -webkit-transform: rotateZ(180deg);
  -moz-transform: rotateZ(180deg);
  -ms-transform: rotateZ(180deg);
  -o-transform: rotateZ(180deg);
  transform: rotateZ(180deg);
}

@media (min-width: 960px) {
  .primary-nav__button,
  .primary-nav__link {
    font-size: 0.875rem;
    padding: 0;
    background-color: transparent;
  }
  .primary-nav__button > i,
  .primary-nav__link > i {
    padding: 0.3125rem;
    position: static;
    top: auto;
    right: auto;
    height: auto;
    width: auto;
    display: inline-block;
    line-height: normal;
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: -moz-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .primary-nav__button > i:before,
  .primary-nav__link > i:before {
    margin: auto;
  }
  .primary-nav__button:focus > i, .primary-nav__button.active > i,
  .primary-nav__link:focus > i,
  .primary-nav__link.active > i {
    background-color: transparent;
  }
}

.primary-nav__dropdown {
  overflow: hidden;
  display: none;
  padding-bottom: 1.25rem;
  background-color: #505050;
  color: #ffffff;
  -webkit-transition: top 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: top 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.primary-nav__dropdown .container {
  padding: 0;
}

@media (min-width: 960px) {
  .primary-nav__dropdown {
    width: 100%;
    margin: 0;
    overflow: hidden;
    list-style: none;
    padding-bottom: 0;
    position: fixed;
    left: 0;
    top: 130px;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  }
  .primary-nav__dropdown .container {
    padding: 0 0.9375rem;
  }
}

.primary-nav__dropdown-item {
  position: relative;
  margin: 0;
}

.primary-nav__dropdown-item:hover a:after {
  width: 4px;
}

@media (min-width: 960px) {
  .primary-nav__dropdown-item {
    display: inline-block;
    padding: 0;
    margin-right: 1.25rem;
  }
  .primary-nav__dropdown-item:last-child {
    margin-right: 0;
  }
  .primary-nav__dropdown-item:hover a:after {
    height: 4px;
    width: 100%;
  }
}

@media (min-width: 1200px) {
  .primary-nav__dropdown-item {
    margin-right: 2.5rem;
  }
}

.primary-nav__dropdown-link {
  color: #ffffff;
  font-size: 0.875rem;
  padding: 0.625rem 0.75rem;
  display: block;
  text-align: left;
  position: relative;
}

.primary-nav__dropdown-link:after {
  height: 100%;
  width: 0;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  box-sizing: initial;
  background-color: #fdb913;
  -webkit-transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (min-width: 960px) {
  .primary-nav__dropdown-link {
    padding: 0.625rem 0;
  }
  .primary-nav__dropdown-link:after {
    height: 0px;
    width: 100%;
    top: auto;
    bottom: 0px;
    left: 0px;
  }
}

@media (min-width: 1200px) {
  .primary-nav__dropdown-link {
    font-size: 1rem;
  }
}

.primary-nav__dropdown-title {
  padding: 0.9375rem;
}

@media (min-width: 960px) {
  .primary-nav__dropdown-title {
    padding: 1.875rem 0.9375rem 0.4375rem 0;
  }
}

.primary-nav__dropdown-title-link {
  font-size: 1.125rem;
  color: #fdb913;
  position: relative;
}

.primary-nav__dropdown-title-link i {
  padding-left: 1.875rem;
  font-size: 0.75rem;
  opacity: 0;
  -webkit-transition: padding 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s, opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
  -moz-transition: padding 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s, opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
  transition: padding 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s, opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
}

.primary-nav__dropdown-title-link:hover {
  color: #ffffff;
}

@media (min-width: 1200px) {
  .primary-nav__dropdown-title-link {
    font-size: 1.375rem;
  }
}

.dropdown--is-on .primary-nav__dropdown-title-link i {
  padding-left: 0.3125rem;
  opacity: 1;
}

.close-surface {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 70;
  background-color: transparent;
  opacity: 0;
  visibility: hidden;
}

.nav--is-on .close-surface,
.filter-panel--is-on .close-surface,
.dropdown--is-on .close-surface,
.search--is-on .close-surface {
  opacity: 1;
  visibility: visible;
}

.btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  display: block;
  border: none;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  font-family: "Open Sans", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  background-color: transparent;
  cursor: pointer;
  font-weight: bold;
  text-align: center;
  border-radius: 0;
  -webkit-transition: color 600ms cubic-bezier(0.165, 0.84, 0.44, 1), background-color 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: color 600ms cubic-bezier(0.165, 0.84, 0.44, 1), background-color 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: color 600ms cubic-bezier(0.165, 0.84, 0.44, 1), background-color 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.btn--icon {
  padding: 0.5rem 0.625rem;
  font-size: 1rem;
  color: #505050;
}

.btn--icon:hover {
  background-color: #d6d6d6;
}

.btn--primary {
  background-color: #cc4b00;
  color: #ffffff;
  padding: 14px 24px;
}

.btn--primary:hover {
  background-color: #505050;
  color: #ffffff;
}

.btn--secondary {
  background-color: #505050;
  color: #ffffff;
  padding: 14px 24px;
}

.btn--secondary:hover {
  background-color: #cc4b00;
  color: #ffffff;
}

.btn--fluid {
  width: 100%;
}

.watch-video {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  color: #ffffff;
  margin-top: 0.625rem;
  padding: 0;
}

.watch-video .span {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.25rem;
}

.watch-video .fs {
  font-size: 2.8125rem;
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

@media (min-width: 960px) {
  .watch-video {
    margin-top: 1.25rem;
  }
  .watch-video .span {
    font-size: 1.375rem;
  }
  .watch-video .fs {
    font-size: 3.25rem;
  }
}

.btn-bar {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -moz-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

.btn-bar .btn {
  margin-top: 5px;
  margin-bottom: 5px;
  white-space: normal;
  text-decoration: none;
  line-height: 20px;
}

@media (min-width: 500px) {
  .btn-bar {
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
  }
  .btn-bar .btn {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

@media (min-width: 960px) {
  .btn-bar {
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
  }
  .btn-bar .btn {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.btn-bar--2-buttons .btn {
  width: 100%;
}

@media (min-width: 500px) {
  .btn-bar--2-buttons .btn {
    width: 50%;
    text-decoration: none;
  }
  .btn-bar--2-buttons .btn:first-child {
    margin-right: 5px;
  }
  .btn-bar--2-buttons .btn:last-child {
    margin-left: 5px;
  }
}

.lightbox {
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 100;
  overflow-y: auto;
  background-color: rgba(0, 0, 0, 0.8);
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  box-orient: vertical;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
  -ms-flex-direction: column;
  -webkit-box-lines: single;
  -moz-box-lines: single;
  box-lines: single;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
}

.lightbox__controls {
  position: fixed;
  top: 15px;
  right: 15px;
}

.lightbox__controls i {
  font-size: 1.875rem;
  cursor: pointer;
}

.lightbox__content {
  width: 100%;
  margin: auto auto;
}

.lightbox__content iframe {
  border: none;
}

@media (min-width: 960px) {
  .lightbox__content {
    width: 75%;
  }
}

.lightbox--active {
  overflow: hidden;
}

.lightbox--active .lightbox {
  opacity: 1;
  visibility: visible;
}

.form {
  margin: 1.25rem 0;
}

.form__group {
  padding-bottom: 1.25rem;
}

.form--inline {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

.form__title {
  font-size: 1rem;
  font-weight: bold;
  color: #505050;
  padding: 0.625rem 0 1.25rem 0;
}

.form__label {
  color: #505050;
  cursor: pointer;
  display: block;
  margin-left: 0.625rem;
  margin-bottom: 0.625rem;
  text-transform: uppercase;
  font-weight: bold;
}

.form__checkbox {
  margin-bottom: 1.1875rem;
}

.form__checkbox .form__label {
  text-transform: none;
  font-weight: normal;
  margin-left: 0;
}

.form__checkbox [type="checkbox"] {
  position: absolute;
  left: -1000em;
}

.form__checkbox .custom-checkbox {
  height: 1.25rem;
  width: 1.25rem;
  margin: 0 0.625rem 0 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  background-color: #ffffff;
  border: solid 0.0625rem #505050;
  cursor: pointer;
  position: relative;
  border-radius: 0.125rem;
}

.form__checkbox [type="checkbox"]:checked + .custom-checkbox {
  background-color: #fdb913;
  border-color: #fdb913;
}

.form__checkbox [type="checkbox"]:focus + .custom-checkbox {
  border-color: #fdb913;
}

.form__checkbox [type="checkbox"]:checked + .custom-checkbox:after {
  content: '\e90c';
  font-family: 'FSiconakron';
  font-size: 0.75rem;
  color: #ffffff;
  position: absolute;
  top: 0.5rem;
  right: 0.375rem;
  margin-right: -0.3125rem;
  margin-top: -0.3125rem;
}

.custom-checkbox-label {
  vertical-align: middle;
  display: inline-block;
}

.form__input-text {
  border: solid 1px #d6d6d6;
  border-top-color: transparent;
  border-right-color: transparent;
  color: #ababab;
  width: 100%;
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
  padding: 0.625rem;
}

.form__input-text:focus {
  border: solid 1px #fdb913;
  outline: none;
}

.form__select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  font-size: 1.125rem;
  background-color: #505050;
  border: none;
  border-bottom: solid 0.0625rem #fdb913;
  border-radius: 0;
  outline: none;
  padding: 0.625rem;
  color: #d6d6d6;
  position: relative;
  cursor: pointer;
  width: 100%;
  margin-bottom: 1.25rem;
}

.form__input-submit {
  margin-bottom: 1.25rem;
}

select::-ms-expand {
  display: none;
}

.ctas .cta:first-child {
  margin-top: 0;
}

.cta {
  padding: 1.25rem;
  padding-right: 3.125rem;
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
  position: relative;
  cursor: pointer;
  display: block;
}

@media (min-width: 960px) {
  .cta {
    padding: 1.875rem;
    padding-right: 3.75rem;
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
  }
}

.cta__title {
  font-weight: bold;
  font-size: 0.875rem;
  padding-bottom: 0.75rem;
}

.cta__title .semi-bold {
  font-weight: 400;
}

@media (min-width: 960px) {
  .cta__title {
    font-size: 1rem;
  }
}

.cta__title:only-child {
  padding-bottom: 0;
}

.cta__title--caps {
  text-transform: uppercase;
  font-size: 1.5rem;
  font-weight: 300;
}

@media (min-width: 960px) {
  .cta__title--caps {
    font-size: 1.75rem;
  }
}

.cta__title--large {
  font-size: 1.25rem;
  font-weight: 300;
}

@media (min-width: 960px) {
  .cta__title--large {
    font-size: 1.625rem;
  }
}

.cta__description {
  font-size: 0.9375rem;
}

.cta__description strong {
  display: block;
}

.cta:after {
  content: '';
  position: absolute;
  width: 1.125rem;
  height: 3.75rem;
  top: 50%;
  right: 1.25rem;
  margin-top: -0.9375rem;
}

@media (min-width: 960px) {
  .cta:after {
    margin-top: -1.875rem;
  }
}

.cta--primary {
  background-color: #cc4b00;
  -webkit-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.cta--primary .cta__title {
  color: #ffffff;
}

.cta--primary .cta__description {
  color: #f1f1f0;
}

.cta--primary:after {
  font-family: 'FSiconakron';
  content: "\e90a";
  font-size: 1.875rem;
  color: #ffffff;
}

.cta--primary:hover {
  background-color: #e65400;
}

@media (min-width: 960px) {
  .cta--primary:after {
    font-size: 3.75rem;
  }
}

.cta--secondary, .cta--secondary-alt {
  background-color: #f1f1f0;
  border-left: solid 0.1875rem #cc4b00;
  -webkit-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.cta--secondary .cta__title, .cta--secondary-alt .cta__title {
  color: #cc4b00;
}

.cta--secondary .cta__description, .cta--secondary-alt .cta__description {
  color: #505050;
}

.cta--secondary:after, .cta--secondary-alt:after {
  font-family: 'FSiconakron';
  content: "\e90a";
  font-size: 1.875rem;
  color: #cc4b00;
}

.cta--secondary:hover, .cta--secondary-alt:hover {
  background-color: #cc4b00;
}

.cta--secondary:hover .cta__title, .cta--secondary-alt:hover .cta__title {
  color: #ffffff;
}

.cta--secondary:hover .cta__description, .cta--secondary-alt:hover .cta__description {
  color: #ffffff;
}

.cta--secondary:hover .cta__description strong, .cta--secondary-alt:hover .cta__description strong {
  color: #ffffff;
}

.cta--secondary:hover:after, .cta--secondary-alt:hover:after {
  color: #ffffff;
}

@media (min-width: 960px) {
  .cta--secondary:after, .cta--secondary-alt:after {
    font-size: 3.75rem;
  }
}

.cta--secondary-alt {
  background-color: #ffffff;
}

.cta--secondary-alt-bumblebee {
  border-color: #fdb913;
}

.cta--secondary-alt-bumblebee .cta__title {
  color: #505050;
}

.cta--secondary-alt-bumblebee:hover {
  background-color: #fdb913;
}

.cta--secondary-alt-bumblebee:hover:after {
  background-image: none;
}

.cta--dark {
  background-color: #505050;
  color: #ffffff;
  -webkit-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.cta--dark:hover {
  background-color: #373737;
}

.cta--dark:after {
  font-family: 'FSiconakron';
  content: "\e90a";
  font-size: 1.875rem;
  color: #ffffff;
}

@media (min-width: 960px) {
  .cta--dark:after {
    font-size: 3.75rem;
  }
}

.cta--custom-icon {
  padding-right: 4.25rem;
}

.cta--custom-icon:after {
  font-size: 2.5rem;
  font-family: 'FSiconakron';
  content: '\e93a';
  background-image: none;
  position: absolute;
  top: 50%;
  right: 40px;
  margin-top: -1.25rem;
}

.cta--custom-icon:hover:after {
  background-image: none;
}

@media (min-width: 960px) {
  .cta--custom-icon:after {
    font-size: 3.125rem;
    right: 45px;
    margin-top: -1.5625rem;
  }
}

.cta--primary.cta--custom-icon:after {
  color: #ffffff;
}

.cta--secondary.cta--custom-icon:after, .cta--custom-icon.cta--secondary-alt:after {
  color: #cc4b00;
}

.cta--secondary.cta--custom-icon:hover:after, .cta--custom-icon.cta--secondary-alt:hover:after {
  color: #ffffff;
}

.cta--secondary-alt-bumblebee.cta--custom-icon:after {
  color: #fdb913;
}

.cta--dark.cta--custom-icon:after {
  color: #ffffff;
}

.cta--custom-icon-call:after {
  content: '\e91e';
  font-family: 'FSiconakron';
}

.cta--custom-icon-talk:after {
  content: '\e91d';
  font-family: 'FSiconakron';
}

.angle-tek {
  position: relative;
  overflow: hidden;
  margin-bottom: -1px;
}

.angle-tek:after {
  content: ' ';
  width: 150%;
  height: 100%;
  position: absolute;
  bottom: -100%;
  z-index: 10;
}

.angle-tek--right:after {
  left: -50%;
  -webkit-transform: rotate(5.4deg);
  -moz-transform: rotate(5.4deg);
  -ms-transform: rotate(5.4deg);
  -o-transform: rotate(5.4deg);
  transform: rotate(5.4deg);
  -webkit-transform-origin: top right;
  -moz-transform-origin: top right;
  -ms-transform-origin: top right;
  -o-transform-origin: top right;
  transform-origin: top right;
}

.angle-tek--left:after {
  right: -50%;
  -webkit-transform: rotate(-5.4deg);
  -moz-transform: rotate(-5.4deg);
  -ms-transform: rotate(-5.4deg);
  -o-transform: rotate(-5.4deg);
  transform: rotate(-5.4deg);
  -webkit-transform-origin: top left;
  -moz-transform-origin: top left;
  -ms-transform-origin: top left;
  -o-transform-origin: top left;
  transform-origin: top left;
}

.angle-tek--white:after {
  background-color: #ffffff;
  border: solid 1px #ffffff;
}

.angle-tek--tan:after {
  background-color: #f9f5eb;
  border: solid 1px #f9f5eb;
}

.angle-tek--black:after {
  background-color: #000000;
  border: solid 1px #000000;
  opacity: .5;
}

.feed-blocks {
  padding-top: 2.75rem;
  padding-bottom: 2rem;
  background-color: #f1f1f0;
}

.feed-block {
  padding-bottom: 2.5rem;
}

.feed-block__image {
  display: block;
}

.feed-block__link {
  font-size: 1.125rem;
  display: inline;
}

.feed-block__link:hover {
  text-decoration: underline;
}

.constrain-size {
  overflow: hidden;
  display: block;
  position: relative;
  min-height: 9.375rem;
  -webkit-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
  -moz-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
  transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
}

@media (min-width: 400px) {
  .constrain-size {
    height: 13rem;
  }
}

@media (min-width: 500px) {
  .constrain-size {
    height: 16.6875rem;
  }
}

@media (min-width: 700px) {
  .constrain-size {
    height: 11.25rem;
  }
}

@media (min-width: 960px) {
  .constrain-size {
    height: 15.8125rem;
  }
}

@media (min-width: 1200px) {
  .constrain-size {
    height: 20.0625rem;
  }
}

.constrain-size iframe, .align-middle {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

.truncate {
  font-size: 1.125rem;
  display: inline;
  height: 100%;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.truncate:after {
  content: "";
  height: 100%;
  display: inline-block;
  vertical-align: middle;
}

.truncate div {
  height: 110px;
  padding-top: 1.25rem;
  display: inline-block;
  display: -webkit-box;
  max-height: 100%;
  vertical-align: middle;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.truncate div span {
  line-height: 30px;
  color: #505050;
}

.feed-block__link {
  padding-right: 5px;
  line-height: 30px;
  text-transform: uppercase;
  display: inline;
}

@media (min-width: 500px) {
  .toggles {
    text-align: initial;
    width: auto;
    margin-left: initial;
    margin-right: initial;
    padding: 0 0;
  }
}

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

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

.toggle {
  padding: 0.25rem 1.25rem;
  text-transform: uppercase;
  font-size: 0.875rem;
  margin-right: 0;
  display: inline-block;
  border: solid 0.125rem #505050;
  color: #505050;
  cursor: pointer;
  border-top-left-radius: 1.25rem;
  border-top-right-radius: 1.25rem;
  border-top-right-radius: 1.25rem;
  border-bottom-right-radius: 1.25rem;
  border-bottom-left-radius: 1.25rem;
  border-bottom-right-radius: 1.25rem;
  border-top-left-radius: 1.25rem;
  border-bottom-left-radius: 1.25rem;
  -webkit-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), border-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), border-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), border-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.toggle:hover {
  border-color: #fdb913;
  color: #fdb913;
}

@media (min-width: 400px) {
  .toggle:last-child {
    margin-right: 0;
  }
}

@media (min-width: 960px) {
  .toggle {
    padding: 0.4375rem 2.25rem;
    font-size: 1rem;
    margin-right: 0.5rem;
  }
}

.toggle__label {
  font-weight: bold;
  font-size: 1rem;
  color: #505050;
  padding-bottom: 0.625rem;
  text-align: center;
  display: block;
}

@media (min-width: 700px) {
  .toggle__label {
    text-align: initial;
    display: inline-block;
    padding-right: 1.25rem;
  }
}

.toggle__label--top {
  display: block;
}

.toggle--active {
  background-color: #505050;
  border-color: transparent;
  color: #ffffff;
}

.toggle--active:hover {
  color: #ffffff;
  border-color: #505050;
}

.overview {
  background-color: #f9f5eb;
  padding-top: 0;
  position: relative;
  overflow: hidden;
}

.overview--alt {
  background-color: #ffffff;
}

.epic-first-letter {
  font-size: 4.875rem;
  line-height: 4.875rem;
  font-family: "ITC Lubalin Graph W01";
  font-weight: 300;
  float: left;
  padding-right: 0.625rem;
  margin-bottom: 0;
  color: #fdb913;
}

@media (min-width: 960px) {
  .epic-first-letter {
    font-size: 6.125rem;
    line-height: 5.625rem;
  }
}

.overview.angle-tek {
  padding-bottom: 5.625rem;
}

@media (min-width: 1200px) {
  .overview.angle-tek {
    padding-bottom: 12.5rem;
  }
}

@media (min-width: 2200px) {
  .overview.angle-tek {
    padding-bottom: 15.625rem;
  }
}

.overview--skin-white {
  background-color: #ffffff;
}

.hero {
  height: 18.75rem;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-color: #000000;
  -webkit-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
  -moz-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
  transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
}

@media (min-width: 500px) {
  .hero {
    height: 20.625rem;
  }
}

@media (min-width: 700px) {
  .hero {
    height: 31.25rem;
  }
}

@media (min-width: 960px) {
  .hero {
    margin-top: 85px;
  }
}

@media (min-width: 1200px) {
  .hero {
    height: 37.5rem;
  }
}

@media (min-width: 2200px) {
  .hero {
    height: 50rem;
  }
}

.hero .container {
  height: inherit;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column wrap;
  -moz-flex-flow: column wrap;
  flex-flow: column wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

.hero-inline {
  padding-bottom: 2.5rem;
}

.hero-inline__image {
  width: 100%;
  display: block;
}

.halo--art-design .hero {
  background-position: center center;
}

.halo--business .hero {
  background-position: center center;
}

.halo--film-television .hero {
  background-position: center center;
}

.halo--games .hero {
  background-position: center center;
}

.halo--media-communications .hero {
  background-position: center center;
}

.halo--music-recording .hero {
  background-position: center center;
}

.halo--sports .hero {
  background-position: center center;
}

.halo--web-technology .hero {
  background-image: url("../../assets/src/img/heroes/hero-web-technology-sm.jpg");
  background-position: top center;
}

@media (min-width: 700px) {
  .halo--web-technology .hero {
    background-image: url("../../assets/src/img/heroes/hero-web-technology.jpg");
  }
}

.overview--programs .hero {
  background-image: url("../../assets/src/img/heroes/hero-programs.jpg");
  background-position: top left;
}

.overview--business-intelligence-master .hero {
  background-position: top left;
}

.overview--digital-arts-and-design-bachelor .hero {
  background-position: top center;
}

.overview--ebms-sports-management-track .hero {
  background-position: top center;
}

.sports-marketing-and-media-bachelor .hero {
  background-position: bottom center;
}

.overview--admissions .hero {
  background-image: url("../../assets/src/img/heroes/hero-admissions.jpg");
  background-position: center center;
}

.overview--undergraduate .hero {
  background-image: url("../../assets/src/img/heroes/hero-undergraduate.jpg");
  background-position: top center;
}

.overview--graduate .hero {
  background-image: url("../../assets/src/img/heroes/hero-graduate.jpg");
  background-position: top center;
}

.overview--international .hero {
  background-image: url("../../assets/src/img/heroes/hero-international.jpg");
  background-position: top center;
}

.overview--scholarship-detail .hero {
  background-image: url("../../assets/src/img/heroes/hero-scholarship-detail.jpg");
  background-position: center center;
}

.overview--housing .hero {
  background-image: url("../../assets/src/img/heroes/hero-housing.jpg");
  background-position: top center;
}

.overview--military .hero {
  background-image: url("../../assets/src/img/heroes/hero-housing.jpg");
  background-position: top center;
}

.overview--take-tour .hero {
  background-image: url("../../assets/src/img/heroes/hero-take-tour.jpg");
  background-position: center center;
}

.overview--our-campus .hero {
  background-image: url("../../assets/src/img/heroes/hero-our-campus.jpg");
  background-position: center center;
}

.overview--learning-online .hero {
  background-image: url("../../assets/src/img/heroes/hero-learning-online.jpg");
  background-position: center center;
}

.overview--about .hero {
  background-image: url("../../assets/src/img/catligo/catligo-tile.jpg");
  background-position: center top;
}

.hero--were-different {
  background-image: url("../../assets/src/img/heroes/hero-were-different-sm.jpg");
  background-position: center top;
}

@media (min-width: 500px) {
  .hero--were-different {
    background-image: url("../../assets/src/img/heroes/hero-were-different.jpg");
  }
}

@media (min-width: 1200px) {
  .hero--were-different {
    background-position: center -40px;
  }
}

@media (min-width: 2200px) {
  .hero--were-different {
    background-position: center -100px;
  }
}

.fullsail-advantage {
  background-color: #f1f1f0;
}

.fullsail-advantage__message {
  font-size: 1.125rem;
  line-height: 1.875rem;
  padding-bottom: 2.5rem;
  color: #505050;
}

@media (min-width: 700px) {
  .fullsail-advantage__message {
    font-size: 1.5rem;
    line-height: 2.75rem;
  }
}

.fullsail-advantage__message-start-date {
  font-weight: bold;
}

.fullsail-advantage__select-start {
  display: inline-block;
}

.fullsail-advantage__select-container {
  position: relative;
  display: inline-block;
  margin-right: 0.5rem;
}

.fullsail-advantage__select-container:after {
  font-family: 'FSiconakron';
  content: '\e903';
  position: absolute;
  top: 0;
  right: 0.3125rem;
  color: #fdb913;
  font-size: 0.5625rem;
}

.fullsail-advantage__select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  font-size: 1.125rem;
  background-color: transparent;
  border: none;
  border-bottom: solid 0.0625rem #fdb913;
  border-radius: 0;
  outline: none;
  padding-left: 0.625rem;
  padding-right: 1.875rem;
  color: #505050;
  position: relative;
  cursor: pointer;
}

@media (min-width: 700px) {
  .fullsail-advantage__select {
    font-size: 1.5rem;
  }
}

.slash-heading {
  margin-bottom: 2rem;
  background-repeat: repeat-x;
  background-position: left center;
  background-size: 11px 20px;
}

.slash-heading .h3 {
  padding: 0 1.875rem 0 0;
  color: #505050;
  background-color: #ffffff;
  display: inline-block;
}

@media (min-width: 400px) {
  .slash-heading {
    background-image: url("../../assets/src/img/slash-tile-gray.svg");
  }
}

.slash-heading--white .h3 {
  background-color: #f1f1f0;
}

@media (min-width: 400px) {
  .slash-heading--white {
    background-image: url("../../assets/src/img/slash-tile-white.svg");
  }
}

.slash-heading--gray .h3 {
  background-color: #ffffff;
}

@media (min-width: 400px) {
  .slash-heading--gray {
    background-image: url("../../assets/src/img/slash-tile-gray.svg");
  }
}

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

.slash-heading--align-right .h3 {
  padding: 0 0 0 1.875rem;
}

.header {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
}

.header__primary {
  font-family: "ITC Lubalin Graph W01";
  font-size: 1.875rem;
  font-weight: 300;
  margin: 0;
  color: #505050;
  width: 100%;
}

@media (min-width: 500px) {
  .header__primary {
    font-size: 2.375rem;
  }
}

@media (min-width: 700px) {
  .header__primary {
    font-size: 3rem;
  }
}

@media (min-width: 1200px) {
  .header__primary {
    font-size: 3.625rem;
  }
}

.header__primary + p {
  padding-top: 1.25rem;
}

.header__secondary {
  font-size: 1.125rem;
  color: #cc4b00;
  text-transform: uppercase;
  font-weight: 300;
  width: 100%;
}

@media (min-width: 500px) {
  .header__secondary {
    font-size: 1.25rem;
  }
}

@media (min-width: 700px) {
  .header__secondary {
    font-size: 1.5rem;
  }
}

@media (min-width: 960px) {
  .header__secondary {
    font-size: 1.75rem;
  }
}

.header__tertiary {
  font-size: 1.125rem;
  font-weight: 300;
  color: #505050;
  width: 100%;
}

@media (min-width: 500px) {
  .header__tertiary {
    font-size: 1.25rem;
  }
}

@media (min-width: 700px) {
  .header__tertiary {
    font-size: 1.5rem;
  }
}

@media (min-width: 960px) {
  .header__tertiary {
    font-size: 1.75rem;
  }
}

.header--centered {
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  text-align: center;
}

.header--left {
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
}

.header--right {
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: end;
  -moz-box-align: end;
  box-align: end;
  -webkit-align-items: flex-end;
  -moz-align-items: flex-end;
  -ms-align-items: flex-end;
  -o-align-items: flex-end;
  align-items: flex-end;
  -ms-flex-align: end;
}

.header--alt-padding {
  padding: 2.5rem 0 2.5rem 0;
}

@media (min-width: 700px) {
  .header--alt-padding {
    padding: 0 0 2.5rem 0;
  }
}

.header--2-column {
  -webkit-flex-flow: row wrap;
  -moz-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

.header--inverse .header__primary {
  color: #ffffff;
}

.header--inverse p {
  color: #ffffff;
}

.header p {
  font-size: 1.375rem;
  margin: 0 auto;
  line-height: 2rem;
  text-align: center;
  width: 100%;
  position: relative;
}

.header p.small-text {
  font-size: 1rem;
  line-height: 1.5625rem;
}

@media (min-width: 500px) {
  .header p {
    font-size: 1.125rem;
    line-height: 1.6875rem;
  }
}

@media (min-width: 700px) {
  .header p {
    font-size: 1.375rem;
    line-height: 2rem;
  }
}

@media (min-width: 960px) {
  .header p {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}

@media (min-width: 1200px) {
  .header p {
    font-size: 1.75rem;
    line-height: 2.4375rem;
  }
}

.header .divider:last-child {
  margin-bottom: 0;
}

.hero .header {
  padding: 0;
}

.hero .header p {
  display: none;
  visibility: hidden;
}

@media (min-width: 700px) {
  .hero .header p {
    display: block;
    visibility: visible;
  }
}

@media (min-width: 1200px) {
  .hero .header .divider:last-child {
    margin-bottom: 0;
  }
}

.header .sub-headline a, .header .halo .headline + p a, .halo .header .headline + p a {
  text-decoration: underline;
}

@media (min-width: 960px) {
  .site-search {
    display: inline-block;
    position: relative;
    vertical-align: middle;
  }
}

.site-search__button {
  display: none;
  visibility: hidden;
}

@media (min-width: 960px) {
  .site-search__button {
    padding: 0.625rem;
    display: block;
    visibility: visible;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    font-size: 1rem;
    color: #fdb913;
    background-color: transparent;
    border: none;
    margin: 0;
    cursor: pointer;
    outline: none;
  }
  .site-search__button i {
    vertical-align: middle;
    -webkit-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .site-search__button:hover i,
  .site-search__button:focus i {
    color: #505050;
  }
}

.site-search__panel .container {
  padding: 0;
}

@media (min-width: 960px) {
  .site-search__panel {
    position: fixed;
    right: 0;
    top: 40px;
    overflow: hidden;
    background-color: #f1f1f0;
    width: 0;
    height: 90px;
    -webkit-transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .site-search__panel .container {
    height: 100%;
    padding: 0 0.9375rem;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .site-search__panel i {
    font-size: 0.75rem;
  }
}

@media (min-width: 960px) {
  .shrink .site-search__panel {
    height: 45px;
  }
}

.search--is-on .site-search__panel {
  width: 100%;
}

.site-search__field-group {
  width: 100%;
}

.site-search__field {
  width: 100%;
  padding: 0.875rem 3.125rem 0.875rem 0.9375rem;
  font-size: 1.125rem;
  border: solid 1px #d6d6d6;
  border-left: none;
  border-right: none;
  position: relative;
  outline: none;
  color: #000000;
}

@media (min-width: 960px) {
  .site-search__field {
    padding: 1.25rem 3.125rem 1.25rem 1.5625rem;
    font-size: 1rem;
    visibility: hidden;
    border: none;
    background-color: transparent;
    outline: none;
    -webkit-transition: padding 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: padding 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: padding 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .site-search__field:focus {
    border-bottom: solid 1px #d6d6d6;
  }
}

@media (min-width: 960px) {
  .search--is-on .site-search__field {
    visibility: visible;
  }
}

@media (min-width: 960px) {
  .shrink .site-search__field {
    padding: 0.3125rem 0.625rem;
  }
}

#search_form {
  position: relative;
}

.site-search__submit-button {
  position: absolute;
  right: 0.375rem;
  top: 50%;
  margin-top: -1.125rem;
}

.site-search__submit-button i {
  color: #000000;
  font-size: 1rem;
  padding: 0;
  margin: 0;
  padding: 0.625rem 0.625rem;
}

.site-search__submit-button:hover i,
.site-search__submit-button:focus i {
  color: #fdb913;
}

.goog {
  max-width: 90%;
}

.goog .gsc-control-cse {
  padding: 0;
}

.goog .gsc-above-wrapper-area {
  border: none;
}

.goog .gsc-table-result {
  border-bottom: solid 1px #d6d6d6;
}

.goog .gsc-table-result a.gs-title {
  font-size: 1.375rem;
  font-weight: 300;
}

.goog .gsc-table-result a.gs-title:hover {
  text-decoration: underline;
}

.goog .gsc-table-result a.gs-title b {
  font-size: 1.375rem;
}

.goog .gsc-table-result .gs-snippet {
  font-size: 1rem;
  margin-bottom: 1.25rem;
}

.goog .gsc-results .gsc-cursor-box .gsc-cursor-page {
  text-decoration: none;
  text-align: center;
  display: inline-block;
  min-width: 1rem;
  margin-bottom: 0.5rem;
}

.goog .gs-no-results-result .gs-snippet,
.goog .gs-error-result .gs-snippet {
  padding: 2.8125rem 2.625rem;
  margin-bottom: 2.5rem;
  font-size: 1.125rem;
  background-color: #f1f1f0;
  border: solid 1px #d6d6d6;
  color: #505050;
}

.fixed-cta {
  position: fixed;
  right: 0;
  bottom: 0px;
  width: 100%;
  z-index: 50;
}

@media (min-width: 700px) {
  .fixed-cta {
    display: none;
  }
}

.fixed-cta__button-container {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
}

@media (min-width: 700px) {
  .fixed-cta__button-container {
    position: relative;
    -webkit-flex-flow: column nowrap;
    -moz-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    box-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    -o-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: start;
  }
}

.fixed-cta .btn {
  font-size: 1.25rem;
  padding: 0.5625rem 0;
}

.fixed-cta__info {
  color: #fdb913;
  background-color: #ffffff;
  border: solid 3px #fdb913;
  width: 60%;
}

.fixed-cta__info .fixed-cta__button-text {
  color: #505050;
}

.fixed-cta__chat {
  color: #ffffff;
  background-color: #fdb913;
  border: solid 3px #fdb913;
  border-top: none;
  display: none;
  visibility: hidden;
}

@media (min-width: 700px) {
  .fixed-cta__chat {
    top: 3.125rem;
    display: block;
    visibility: visible;
    border-top: none;
  }
}

.fixed-cta__call {
  background-color: #505050;
  width: 40%;
  border: solid 3px #505050;
  border-right: none;
}

.fixed-cta__call .fixed-cta__button-text {
  color: #ffffff;
}

.fixed-cta__call i {
  color: #fdb913;
}

@media (min-width: 700px) {
  .fixed-cta__call {
    display: none;
    visibility: hidden;
  }
}

.fixed-cta__button-text {
  font-size: 0.8125rem;
  font-weight: normal;
  vertical-align: middle;
  text-transform: uppercase;
}

@media (min-width: 500px) {
  .fixed-cta__button-text {
    font-size: 0.9375rem;
  }
}

.divider {
  width: 2.5rem;
  height: 0.1875rem;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  background-color: #d6d6d6;
}

@media (min-width: 700px) {
  .divider {
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}

@media (min-width: 960px) {
  .divider {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
}

@media (min-width: 1200px) {
  .divider {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

.divider--bumblebee {
  background-color: #fdb913;
}

.divider--trypticon {
  background-color: #505050;
}

.divider--large {
  width: 100%;
  height: 1px;
  background-color: #d6d6d6;
  margin: 1.875rem 0;
}

.image-fader {
  position: relative;
  display: block;
  overflow: hidden;
  cursor: pointer;
}

.image-fader img {
  position: relative;
  display: block;
  width: 100%;
  -webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.image-fader:before {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: #cc4b00;
}

.image-fader:after {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: #cc4b00;
  opacity: 0;
  -webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.image-fader:hover img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}

.image-fader:hover:after {
  opacity: .8;
}

section {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}

@media (min-width: 960px) {
  section {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}

.section--skin-gray {
  background-color: #f1f1f0;
}

.section--no-padding {
  padding: 0;
}

.section--no-padding-top {
  padding-top: 0;
}

.no-hero {
  padding-top: 3.75rem;
}

@media (min-width: 700px) {
  .no-hero {
    padding-top: 6.25rem;
  }
}

@media (min-width: 960px) {
  .no-hero {
    padding-top: 11.875rem;
  }
}

.filter {
  padding-top: 1.875rem;
}

@media (min-width: 700px) {
  .filter {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-align: stretch;
    -moz-box-align: stretch;
    box-align: stretch;
    -webkit-align-items: stretch;
    -moz-align-items: stretch;
    -ms-align-items: stretch;
    -o-align-items: stretch;
    align-items: stretch;
    -ms-flex-align: stretch;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    box-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    -o-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: start;
  }
}

.filter__panel {
  height: 100%;
  z-index: 71;
  overflow-y: auto;
  padding: 60px 20px 20px 20px;
  position: fixed;
  top: 0;
  right: -webkit-calc(-100% - 45px);
  right: calc(-100% - 45px);
  width: -webkit-calc(100% - 45px);
  width: calc(100% - 45px);
  background-color: #ffffff;
  -webkit-transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  -webkit-flex: 0 1 auto;
  -moz-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}

@media (min-width: 400px) {
  .filter__panel {
    width: 20rem;
    right: -20rem;
  }
}

@media (min-width: 700px) {
  .filter__panel {
    position: static;
    right: auto;
    top: auto;
    padding: 0 1.875rem 0 0;
    z-index: auto;
    width: auto;
    -webkit-box-flex: 0;
    -moz-box-flex: 0;
    box-flex: 0;
    -webkit-flex: 0 0 auto;
    -moz-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
}

.filter-panel--is-on .filter__panel {
  right: 0;
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
}

@media (min-width: 700px) {
  .filter-panel--is-on .filter__panel {
    box-shadow: none;
  }
}

.filter__list {
  height: inherit;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 1 auto;
  -moz-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

@media (min-width: 700px) {
  .filter__list {
    border-left: solid 1px #d6d6d6;
    padding-left: 1.875rem;
  }
}

.filter-list-block {
  border-bottom: solid 0.0625rem #d6d6d6;
  padding-bottom: 1.875rem;
  margin-bottom: 0.9375rem;
}

.filter-list-block:last-child {
  border-bottom: none;
}

@media (min-width: 960px) {
  .filter-list-block {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    box-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    -o-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: start;
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
  }
}

.filter-list-block__image {
  width: 100%;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 1 0%;
  -moz-flex: 1 1 0%;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.filter-list-block__sub-heading {
  font-size: 1rem;
  padding-bottom: 1.25rem;
  color: #505050;
}

.filter-list-block__copy {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 1 0%;
  -moz-flex: 1 1 0%;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.filter-list-block__copy .h3 {
  color: #cc4b00;
  padding: 0;
}

.filter-list-block__copy a:hover,
.filter-list-block__copy a:focus {
  text-decoration: underline;
}

@media (min-width: 960px) {
  .filter-list-block__copy {
    padding-left: 1.25rem;
  }
  .filter-list-block__copy .h3 {
    padding-top: 0;
  }
}

.filter-list-block__location {
  display: block;
  font-size: 1rem;
  padding-right: 1.25rem;
  padding-bottom: 0.625rem;
  color: #505050;
}

.filter-list-block__location:last-child {
  padding-right: 0;
}

@media (min-width: 400px) {
  .filter-list-block__location {
    display: inline-block;
    padding-bottom: 0;
  }
}

.filter-label {
  font-size: 1rem;
  font-weight: bold;
  color: #fdb913;
  margin-bottom: 1.25rem;
}

.toggle-filter {
  font-size: 0.875rem;
  color: #fdb913;
  border: none;
  outline: none;
  margin: 0;
  padding: 0;
  vertical-align: middle;
  background-color: transparent;
  cursor: pointer;
  display: block;
  visibility: visible;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
}

.toggle-filter i {
  font-size: 1.875rem;
  vertical-align: middle;
  padding-right: 0.625rem;
}

@media (min-width: 700px) {
  .toggle-filter {
    display: none;
    visibility: hidden;
  }
}

.toggle-filter-link {
  cursor: pointer;
  text-align: right;
  display: block;
  margin-bottom: 1.25rem;
  font-size: 0.9375rem;
}

.toggle-filter-link i {
  padding-left: 0.3125rem;
}

@media (min-width: 700px) {
  .toggle-filter-link {
    display: none;
    visibility: hidden;
  }
}

.filter__link-list {
  min-width: 13.75rem;
}

.filter__link-list li {
  margin-bottom: 0.625rem;
}

.filter__link-list a {
  display: block;
  padding: 0.625rem;
  color: #505050;
}

.filter__link-list .active {
  background-color: #f1f1f0;
}

.avatar {
  background-color: black;
  width: 5.75rem;
  height: 5.75rem;
  border-radius: 50%;
  border: solid 2px orange;
  overflow: hidden;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch;
  -o-align-items: stretch;
  align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
}

.avatar__column {
  height: 100%;
  width: 100%;
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  -webkit-flex: 0 1 auto;
  -moz-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}

.avatar__image {
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.avatar--2-column .avatar__column {
  width: 50%;
}

.avatar__column--split .avatar__image {
  height: 50%;
}

.previous-next {
  padding-top: 1.875rem;
  margin-top: 1.875rem;
  border-top: solid 0.0625rem #d6d6d6;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column wrap;
  -moz-flex-flow: column wrap;
  flex-flow: column wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

@media (min-width: 500px) {
  .previous-next {
    -webkit-flex-flow: row wrap;
    -moz-flex-flow: row wrap;
    flex-flow: row wrap;
  }
}

.previous-next__meta {
  font-size: 1rem;
  margin-bottom: 0.3125rem;
}

@media (min-width: 500px) {
  .previous-next__meta {
    margin-bottom: 0;
  }
}

.previous-next__nav {
  text-transform: uppercase;
  color: #cc4b00;
}

.previous-next__nav-previous,
.previous-next__nav-next {
  color: #505050;
}

.previous-next__nav-previous:hover,
.previous-next__nav-next:hover {
  color: #cc4b00;
}

.previous-next__nav-previous {
  padding-left: 1.875rem;
  padding-right: 0.625rem;
}

.previous-next__nav-previous[disabled^="disabled"] {
  color: #505050;
  opacity: .4;
}

.previous-next__nav-previous span {
  vertical-align: middle;
}

.previous-next__nav-previous i {
  margin-right: 0.625rem;
}

.previous-next__nav-next {
  padding-right: 1.875rem;
  padding-left: 0.625rem;
}

.previous-next__nav-next[disabled^="disabled"] {
  color: #505050;
  opacity: .4;
}

.previous-next__nav-next span {
  vertical-align: middle;
}

.previous-next__nav-next i {
  margin-left: 0.625rem;
}

.inline-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

.inline-list--align-left {
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
}

.inline-list--margins li {
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  margin-bottom: 0.625rem;
}

.inline-list--justified {
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

img.fluid {
  width: 100%;
}

.hide {
  display: none !important;
  visibility: hidden !important;
}

@media (min-width: 960px) {
  .hide--desktop {
    display: none !important;
    visibility: hidden !important;
  }
}

.hide--mobile {
  display: none !important;
  visibility: hidden !important;
}

@media (min-width: 960px) {
  .hide--mobile {
    display: block !important;
    visibility: visible !important;
  }
}

.flexorbox {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
}

.flexorbox.flexorbox--column {
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  box-orient: vertical;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
  -ms-flex-direction: column;
}

.flexorbox.flexorbox--row {
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  flex-direction: row;
  -ms-flex-direction: row;
}

.flexorbox.flexorbox--wrap {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flexorbox.flexorbox--nowrap {
  -webkit-box-lines: single;
  -moz-box-lines: single;
  box-lines: single;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.flexorbox.flexorbox--justify-center {
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

.flexorbox.flexorbox--justify-space {
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

.flexorbox.flexorbox--align-center {
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
}

.flexorbox.flexorbox--align-start {
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
}

.disabled {
  -webkit-filter: grayscale(90%);
  filter: grayscale(90%);
}

.small-device {
  display: none;
}

.small-device i {
  text-align: center;
  font-size: 8.75rem;
  padding-bottom: 1.25rem;
  color: #cc4b00;
}

.small-device p {
  color: #505050;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 0;
  line-height: 1.75rem;
}

@media (min-width: 0px) and (max-width: 319px) {
  .small-device {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    z-index: 90;
    display: block;
    visibility: visible;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: column nowrap;
    -moz-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    box-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    -o-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
  }
}

@media (min-width: 0px) and (max-width: 319px) {
  body,
  html {
    overflow: hidden;
  }
}

.container {
  width: 100%;
  margin: 0 auto;
  padding: 0 0.9375rem;
  -webkit-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (min-width: 960px) {
  .container {
    width: 100%;
  }
}

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

@media (min-width: 2200px) {
  .container {
    width: 1600px;
  }
}

.container.fluid {
  width: 100%;
  padding: 0;
}

.block {
  display: block;
}

.wrapper {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.metabar {
  display: none;
}

@media (min-width: 700px) {
  .metabar {
    display: block;
    height: 45px;
    position: fixed;
    top: 0px;
    right: 1.9375rem;
    z-index: 81;
    text-align: right;
    line-height: 45px;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -moz-box-pack: end;
    box-pack: end;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    -o-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: end;
  }
}

@media (min-width: 960px) {
  .metabar {
    width: 100%;
    height: 40px;
    left: 0px;
    background-color: #f1f1f0;
    border-bottom: solid 1px #d6d6d6;
  }
}

.metabar__item {
  display: inline-block;
  margin: 0 0.75rem;
  font-size: 0.875rem;
  color: #505050;
}

.metabar__item a {
  color: #505050;
}

.metabar__item a:hover {
  color: #fdb913;
}

.metabar__item i {
  padding-left: 0.125rem;
  vertical-align: baseline;
  font-size: 0.8125rem;
  color: #fdb913;
}

@media (min-width: 960px) {
  .metabar__item {
    margin: 0 1rem;
  }
}

#metabar_apply {
  display: none;
}

@media (min-width: 825px) {
  #metabar_apply {
    display: inline-block;
  }
}

#metabar_phone {
  display: none;
}

@media (min-width: 500px) {
  #metabar_phone {
    display: inline-block;
  }
}

.topbar {
  height: 45px;
  width: 100%;
  background-color: #ffffff;
  border-bottom: solid 0.0625rem #d6d6d6;
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 80;
  -webkit-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-sizing: initial;
}

.topbar > .container {
  height: 45px;
  position: relative;
  padding-right: 0;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

@media (min-width: 960px) {
  .topbar > .container {
    padding-right: 0.9375rem;
  }
}

.topbar.shrink {
  height: 45px;
}

.topbar.shrink > .container {
  height: 45px;
}

@media (min-width: 960px) {
  .topbar {
    top: 40px;
    height: 90px;
  }
  .topbar > .container {
    height: 90px;
  }
}

.whopper {
  width: 45px;
  height: 45px;
  padding: 0;
  outline: none;
  cursor: pointer;
  -webkit-box-ordinal-group: 3;
  -moz-box-ordinal-group: 3;
  box-ordinal-group: 3;
  -webkit-order: 3;
  -moz-order: 3;
  order: 3;
  -ms-flex-order: 3;
}

.whopper i {
  font-size: 0.9375rem;
  color: #fdb913;
}

.whopper:hover, .whopper:focus {
  color: #000000;
  background-color: #f1f1f0;
}

.nav--is-on .topbar .whopper {
  background-color: #d6d6d6;
}

.nav--is-on .topbar .whopper i {
  color: #505050;
}

.hidden-text {
  position: absolute;
  top: -200px;
}

.the-pit {
  position: relative;
  right: 0;
  display: block;
  -webkit-transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.nav--is-on .the-pit {
  right: -webkit-calc(100% - 45px);
  right: calc(100% - 45px);
}

@media (min-width: 500px) {
  .nav--is-on .the-pit {
    right: 20rem;
  }
}

@media (min-width: 960px) {
  .nav--is-on .the-pit {
    right: 0;
  }
}

.footer {
  width: 100%;
  padding: 2.5rem 0 0 0;
  background-color: #505050;
  color: #ffffff;
  position: relative;
  right: 0;
  margin-bottom: 3.125rem;
  -webkit-transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: right 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (min-width: 500px) {
  .footer {
    margin-bottom: 0;
  }
}

.nav--is-on .footer {
  right: -webkit-calc(100% - 45px);
  right: calc(100% - 45px);
}

@media (min-width: 500px) {
  .nav--is-on .footer {
    right: 20rem;
  }
}

@media (min-width: 960px) {
  .nav--is-on .footer {
    right: 0;
  }
}

.footer > .container {
  margin-bottom: 1.25rem;
}

.footer .logo {
  width: 100%;
  margin-bottom: 1.875rem;
  display: block;
  text-align: center;
}

.footer .logo img {
  display: inline-block;
}

@media (min-width: 500px) {
  .footer .logo {
    text-align: left;
  }
}

@media (min-width: 1200px) {
  .footer .logo {
    width: auto;
    display: inline-block;
  }
}

@media (min-width: 700px) {
  .footer .container > .block {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: column nowrap;
    -moz-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    box-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    -o-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: start;
  }
}

@media (min-width: 1200px) {
  .footer .container > .block {
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-align: start;
    -moz-box-align: start;
    box-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    -o-align-items: flex-start;
    align-items: flex-start;
    -ms-flex-align: start;
  }
}

.footer__contact {
  width: 100%;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: solid 0.0625rem #626262;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column wrap;
  -moz-flex-flow: column wrap;
  flex-flow: column wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  -webkit-flex: 0 3 auto;
  -moz-flex: 0 3 auto;
  -ms-flex: 0 3 auto;
  flex: 0 3 auto;
}

@media (min-width: 500px) {
  .footer__contact {
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
  }
}

@media (min-width: 1200px) {
  .footer__contact {
    margin-bottom: 0;
    padding-bottom: 0;
    padding-right: 1.25rem;
    border-bottom: none;
    border-right: solid 0.0625rem #626262;
    margin-right: 1.25rem;
    -webkit-flex-flow: column nowrap;
    -moz-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-align: start;
    -moz-box-align: start;
    box-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    -o-align-items: flex-start;
    align-items: flex-start;
    -ms-flex-align: start;
  }
}

.footer__contact-address {
  margin-bottom: 1.25rem;
}

@media (min-width: 500px) {
  .footer__contact-address {
    margin-bottom: 0;
  }
}

@media (min-width: 1200px) {
  .footer__contact-address {
    padding-bottom: 1.25rem;
  }
}

.footer__contact-phone {
  margin-bottom: 1.875rem;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: space-around;
  -moz-justify-content: space-around;
  -ms-justify-content: space-around;
  -o-justify-content: space-around;
  justify-content: space-around;
  -ms-flex-pack: center;
}

.footer__contact-phone .block {
  text-align: center;
  padding: 0 1.25rem;
}

@media (min-width: 500px) {
  .footer__contact-phone {
    margin-bottom: 0;
    -webkit-box-flex: 0;
    -moz-box-flex: 0;
    box-flex: 0;
    -webkit-flex: 0 0 auto;
    -moz-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
  .footer__contact-phone .block {
    padding: 0 0.625rem;
  }
}

@media (min-width: 1200px) {
  .footer__contact-phone {
    padding-bottom: 1.25rem;
  }
  .footer__contact-phone .block {
    text-align: left;
    padding-left: 0;
  }
}

.footer__contact-phone-number {
  color: #fdb913;
}

.footer__contact .btn {
  width: 100%;
  background-color: #454545;
}

.footer__contact .btn:hover {
  background-color: #fdb913;
}

@media (min-width: 500px) {
  .footer__contact .btn {
    width: auto;
    -webkit-box-flex: 0;
    -moz-box-flex: 0;
    box-flex: 0;
    -webkit-flex: 0 0 auto;
    -moz-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-left: 0.625rem;
  }
}

@media (min-width: 960px) {
  .footer__contact .btn {
    margin-left: 0;
  }
}

.footer__links {
  width: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -moz-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  -webkit-flex: 0 1 auto;
  -moz-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}

.footer__links-group {
  width: 50%;
  padding: 0 0.5rem 1.25rem 0;
}

.footer__links-group li {
  padding-bottom: 0.875rem;
}

.footer__links-group a {
  color: #ffffff;
  font-size: 0.8125rem;
}

.footer__links-group a:hover {
  color: #fdb913;
}

.footer__links-group i {
  font-size: 1rem;
  vertical-align: middle;
  margin-right: 0.625rem;
  min-width: 1.25rem;
  text-align: center;
}

@media (min-width: 500px) {
  .footer__links-group {
    width: 25%;
  }
}

@media (min-width: 1200px) {
  .footer__links-group {
    padding-bottom: 0;
    width: auto;
  }
}

.footer__sub-footer {
  padding: 0.625rem 0;
  text-align: center;
  background-color: #454545;
}

.footer__sub-footer .container {
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column wrap;
  -moz-flex-flow: column wrap;
  flex-flow: column wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

.footer__sub-footer-company {
  padding: 0.5625rem 0px;
  font-size: 0.6875rem;
  color: #ffffff;
  -webkit-box-ordinal-group: 2;
  -moz-box-ordinal-group: 2;
  box-ordinal-group: 2;
  -webkit-order: 2;
  -moz-order: 2;
  order: 2;
  -ms-flex-order: 2;
}

.footer__sub-footer-links {
  width: 100%;
}

.footer__sub-footer-links a {
  font-size: 0.75rem;
  color: #ffffff;
  padding: 0.625rem 0.9375rem;
  display: block;
}

.footer__sub-footer-links a:hover {
  text-decoration: underline;
}

.grid-row {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch;
  -o-align-items: stretch;
  align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
}

.grid-row.grid-row--margins [class^="grid-"] {
  margin-right: 0rem;
}

.grid-row.grid-row--margins [class^="grid-"]:last-child {
  margin-right: 0;
}

@media (min-width: 700px) {
  .grid-row {
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    box-orient: horizontal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    flex-direction: row;
    -ms-flex-direction: row;
    -webkit-box-lines: single;
    -moz-box-lines: single;
    box-lines: single;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  .grid-row.grid-row--margins [class^="grid-"] {
    margin-right: 1.875rem;
  }
  .grid-row.grid-row--align-center {
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
  }
}

[class^="grid-"] {
  width: 100%;
  min-width: 0;
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  -webkit-flex: 0 1 auto;
  -moz-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}

@media (min-width: 700px) {
  .grid-1 {
    width: 6.25%;
  }
}

@media (min-width: 700px) {
  .grid-2 {
    width: 12.5%;
  }
}

@media (min-width: 700px) {
  .grid-3 {
    width: 18.75%;
  }
}

@media (min-width: 700px) {
  .grid-4 {
    width: 25%;
  }
}

@media (min-width: 700px) {
  .grid-5 {
    width: 31.25%;
  }
}

@media (min-width: 700px) {
  .grid-6 {
    width: 37.5%;
  }
}

@media (min-width: 700px) {
  .grid-7 {
    width: 43.75%;
  }
}

@media (min-width: 700px) {
  .grid-8 {
    width: 50%;
  }
}

@media (min-width: 700px) {
  .grid-9 {
    width: 56.25%;
  }
}

@media (min-width: 700px) {
  .grid-10 {
    width: 62.5%;
  }
}

@media (min-width: 700px) {
  .grid-11 {
    width: 68.75%;
  }
}

@media (min-width: 700px) {
  .grid-12 {
    width: 75%;
  }
}

@media (min-width: 700px) {
  .grid-13 {
    width: 81.25%;
  }
}

@media (min-width: 700px) {
  .grid-14 {
    width: 87.5%;
  }
}

@media (min-width: 700px) {
  .grid-15 {
    width: 93.75%;
  }
}

@media (min-width: 700px) {
  .grid-16 {
    width: 100%;
  }
}

.grid--aside-right {
  border-left: none;
  padding-left: 0;
  padding-top: 1.875rem;
}

@media (min-width: 700px) {
  .grid--aside-right {
    border-left: solid 1px #d6d6d6;
    padding-left: 1.875rem;
  }
}

.grid--center-vertical {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

.grid-column {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

@media (min-width: 700px) {
  .grid-column {
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
  }
}

.grid-column-2 .grid {
  width: 100%;
}

@media (min-width: 700px) {
  .grid-column-2 .grid {
    width: 50%;
  }
}

.grid-column-3 .grid {
  width: 100%;
}

@media (min-width: 700px) {
  .grid-column-3 .grid {
    width: 33.33333%;
  }
}

.grid-column-6 .grid {
  width: 100%;
}

@media (min-width: 700px) {
  .grid-column-6 .grid {
    width: 16.66666%;
  }
}

@media (min-width: 700px) {
  .grid-column--margins .grid {
    margin-right: 1.875rem;
  }
  .grid-column--margins .grid:last-child {
    margin-right: 0;
  }
}

@media (min-width: 700px) {
  .grid-column .cta {
    margin-top: auto;
    margin-bottom: auto;
  }
}

.halo {
  padding-top: 0;
  padding-bottom: 8.75rem;
  position: relative;
  background-color: #f9f5eb;
}

@media (min-width: 1200px) {
  .halo {
    padding-bottom: 11.25rem;
  }
}

@media (min-width: 2200px) {
  .halo {
    padding-bottom: 13.75rem;
  }
}

.halo .container {
  padding-top: 0;
}

.halo .tagline {
  color: #505050;
  font-size: 1.5rem;
  font-weight: bold;
}

@media (min-width: 960px) {
  .halo .tagline {
    font-size: 2.5rem;
  }
}

.halo .headline + p {
  position: relative;
}

.halo p:last-child:after {
  display: block;
  content: "";
  position: absolute;
  bottom: -2.5rem;
  left: 0px;
  width: 2.5rem;
  height: 2.5rem;
  border-bottom: solid 3px #83cfca;
}

.halo-degree-programs .h2 {
  text-align: center;
}

@media (min-width: 960px) {
  .halo-degree-programs .h2 {
    text-align: left;
  }
}

.halo-degree-programs .header__secondary {
  text-align: center;
}

@media (min-width: 960px) {
  .halo-degree-programs .header__secondary {
    text-align: left;
  }
}

.halo-header {
  border-bottom: solid 2px #ffffff;
  margin-bottom: 2.5rem;
  padding-bottom: 1.25rem;
}

@media (min-width: 960px) {
  .halo-header {
    margin-bottom: 3.75rem;
    padding-bottom: 1.25rem;
  }
}

.halo-header .h1 {
  margin: 0;
  padding: 1.25rem 0;
  line-height: normal;
  text-align: left;
  color: #505050;
}

@media (min-width: 700px) {
  .halo-header .h1 {
    padding: 0;
  }
}

.halo-header__primary {
  font-size: 3.125rem;
  font-weight: 200;
}

@media (min-width: 700px) {
  .halo-header__primary {
    font-size: 6.25rem;
  }
}

@media (min-width: 960px) {
  .halo-header__primary {
    font-size: 9.375rem;
  }
}

.halo-header__amp {
  font-size: 2.875rem;
  font-weight: 300;
}

.halo-header__secondary {
  font-size: 2.25rem;
  font-weight: 300;
}

@media (min-width: 500px) {
  .halo-header__secondary {
    font-size: 2.875rem;
  }
}

.halo--art-design .halo-header__amp,
.halo--art-design .halo-header__secondary {
  color: #b7d433;
}

.halo--business .halo-header__amp,
.halo--business .halo-header__secondary {
  color: #13b5ea;
}

.halo--film-television .halo-header__amp,
.halo--film-television .halo-header__secondary {
  color: #b7d433;
}

.halo--games .halo-header__amp,
.halo--games .halo-header__secondary {
  color: #b7d433;
}

.halo--media-communications .halo-header__amp,
.halo--media-communications .halo-header__secondary {
  color: #b7d433;
}

.halo--music-recording .halo-header__amp,
.halo--music-recording .halo-header__secondary {
  color: #13b5ea;
}

.halo--sports .halo-header__amp,
.halo--sports .halo-header__secondary {
  color: #13b5ea;
}

.halo--web-technology .halo-header__amp,
.halo--web-technology .halo-header__secondary {
  color: #13b5ea;
}

.degree-list-container {
  display: none;
  visibility: hidden;
}

@media (min-width: 700px) {
  .degree-list-container {
    display: block;
    visibility: visible;
  }
}

.degree-list {
  width: 85%;
  padding: 1.875rem;
  list-style: none;
  margin: 0 auto;
  position: relative;
  margin-top: -5.0625rem;
}

.degree-list__title {
  font-size: 1.125rem;
  color: #ffffff;
  padding-bottom: 2.25rem;
}

.degree-list__item {
  margin: 0.9375rem 0;
}

.degree-list__link {
  font-size: 1rem;
  font-weight: 400;
  color: #cc4b00;
  border-bottom: solid 0.0625rem transparent;
  -webkit-transition: border-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: border-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: border-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.halo--art-design .headline {
  color: #b7d433;
}

.halo--art-design .degree-list {
  border: solid 2px #b7d433;
}

.halo--art-design .degree-list__link {
  color: #96af25;
}

.halo--art-design .degree-list__link:hover {
  border-bottom-color: #b7d433;
}

.halo--business .headline {
  color: #13b5ea;
}

.halo--business .degree-list {
  border: solid 2px #13b5ea;
}

.halo--business .degree-list__link {
  color: #0f91bb;
}

.halo--business .degree-list__link:hover {
  border-bottom-color: #13b5ea;
}

.halo--film-television .headline {
  color: #b7d433;
}

.halo--film-television .degree-list {
  border: solid 2px #b7d433;
}

.halo--film-television .degree-list__link {
  color: #96af25;
}

.halo--film-television .degree-list__link:hover {
  border-bottom-color: #b7d433;
}

.halo--games .headline {
  color: #13b5ea;
}

.halo--games .degree-list {
  border: solid 2px #13b5ea;
}

.halo--games .degree-list__link {
  color: #0f91bb;
}

.halo--games .degree-list__link:hover {
  border-bottom-color: #13b5ea;
}

.halo--media-communications .headline {
  color: #b7d433;
}

.halo--media-communications .degree-list {
  border: solid 2px #b7d433;
}

.halo--media-communications .degree-list__link {
  color: #96af25;
}

.halo--media-communications .degree-list__link:hover {
  border-bottom-color: #b7d433;
}

.halo--music-recording .headline {
  color: #13b5ea;
}

.halo--music-recording .degree-list {
  border: solid 2px #13b5ea;
}

.halo--music-recording .degree-list__link {
  color: #0f91bb;
}

.halo--music-recording .degree-list__link:hover {
  border-bottom-color: #13b5ea;
}

.halo--sports .headline {
  color: #b7d433;
}

.halo--sports .degree-list {
  border: solid 2px #b7d433;
}

.halo--sports .degree-list__link {
  color: #96af25;
}

.halo--sports .degree-list__link:hover {
  border-bottom-color: #b7d433;
}

.halo--technology .headline {
  color: #13b5ea;
}

.halo--technology .degree-list {
  border: solid 2px #13b5ea;
}

.halo--technology .degree-list__link {
  color: #0f91bb;
}

.halo--technology .degree-list__link:hover {
  border-bottom-color: #13b5ea;
}

.degree-blocks {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch;
  -o-align-items: stretch;
  align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
}

@media (min-width: 700px) {
  .degree-blocks {
    -webkit-flex-flow: row wrap;
    -moz-flex-flow: row wrap;
    flex-flow: row wrap;
  }
}

@media (min-width: 960px) {
  .degree-blocks {
    -webkit-flex-flow: column nowrap;
    -moz-flex-flow: column nowrap;
    flex-flow: column nowrap;
  }
}

.degree-block {
  width: 100%;
  border: solid 0.1875rem #d6d6d6;
  margin-bottom: 2.5rem;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  -webkit-flex: 0 1 auto;
  -moz-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}

.degree-block .h3 {
  color: #cc4b00;
}

.degree-block .h3 a:hover {
  color: #ff7e33;
}

@media (min-width: 700px) {
  .degree-block {
    width: 48%;
    margin: 1% 1% 1.25rem 1%;
  }
}

@media (min-width: 960px) {
  .degree-block {
    width: 100%;
    margin: 0 0 1.25rem 0;
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
  }
  .degree-block:nth-child(odd) .degree-block__image {
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    box-ordinal-group: 2;
    -webkit-order: 2;
    -moz-order: 2;
    order: 2;
    -ms-flex-order: 2;
  }
}

@media (min-width: 700px) {
  .degree-blocks .degree-block:last-child {
    margin-bottom: 0;
  }
}

.degree-block__image {
  width: 100%;
  overflow: hidden;
  flex: 0 0 auto;
}

.degree-block__image img {
  width: 100%;
}

@media (min-width: 960px) {
  .degree-block__image {
    width: auto;
  }
  .degree-block__image img {
    width: auto;
  }
}

.degree-block__type {
  color: #505050;
  margin-bottom: 1.25rem;
}

.degree-block__copy {
  padding: 0 1.25rem;
}

.degree-block__copy .h3 {
  padding: 1.25rem 0 0 0;
}

@media (min-width: 960px) {
  .degree-block__copy {
    padding: 0 2.5rem;
  }
}

@media (min-width: 1200px) {
  .degree-block__copy {
    padding: 0 3.75rem;
  }
  .degree-block__copy .h3 {
    padding: 0;
  }
}

.degree-block__location {
  font-size: 1rem;
  display: inline-block;
  padding-bottom: 1.25rem;
  padding-right: 1.25rem;
  color: #505050;
}

.related-block {
  position: relative;
  margin-bottom: 1.875rem;
  border-top: solid 10px transparent;
}

.related-block:after {
  font-family: 'FSiconakron';
  font-size: 2.5rem;
  content: "\e905";
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  color: #ffffff;
}

@media (min-width: 700px) {
  .related-block {
    margin-bottom: 0;
  }
}

@media (min-width: 960px) {
  .related-block:after {
    font-size: 3.75rem;
  }
}

@media (min-width: 1200px) {
  .related-block:after {
    right: 1.9375rem;
    bottom: 2.125rem;
  }
}

.related-block__title {
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  font-size: 1.5625rem;
  font-family: "Open Sans", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
  text-transform: uppercase;
  color: #ffffff;
  padding-right: 3.125rem;
  line-height: 1.5625rem;
  z-index: 10;
  -webkit-user-select: none;
  /* Chrome all / Safari all */
  -moz-user-select: none;
  /* Firefox all */
  -ms-user-select: none;
  /* IE 10+ */
  user-select: none;
  /* Likely future */
}

@media (min-width: 960px) {
  .related-block__title {
    font-size: 2.5rem;
    line-height: 2.5rem;
  }
}

@media (min-width: 1200px) {
  .related-block__title {
    font-size: 3.125rem;
    left: 1.9375rem;
    bottom: 1.9375rem;
    line-height: 3.5rem;
    padding-right: 5.625rem;
  }
}

.related-block--springer {
  border-color: #b7d433;
  background-color: #b7d433;
}

.related-block--springer .image-fader {
  background-color: #b7d433;
}

.related-block--sharkticon {
  border-color: #83cfca;
  background-color: #83cfca;
}

.related-block--sharkticon .image-fader {
  background-color: #83cfca;
}

.related-block--ultramagnus {
  border-color: #13b5ea;
  background-color: #13b5ea;
}

.related-block--ultramagnus .image-fader {
  background-color: #13b5ea;
}

.related-block--soundwave {
  border-color: #7c2060;
  background-color: #7c2060;
}

.related-block--soundwave .image-fader {
  background-color: #7c2060;
}

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

.overview-video img {
  display: inline-block;
}

@media (min-width: 960px) {
  .overview-video {
    text-align: left;
  }
}

.overview-degree-type-text {
  font-size: 1rem;
  padding: 1.875rem 0 0 0;
  color: #505050;
}

.overview-degree-type-text strong {
  display: block;
}

@media (min-width: 960px) {
  .overview-degree-type-text {
    font-size: 1.125rem;
  }
}

.launch-box {
  padding: 0;
  background-color: #505050;
  overflow: hidden;
}

.launch-box .container {
  padding: 0;
  height: inherit;
  position: relative;
}

@media (min-width: 960px) {
  .launch-box {
    height: 40.625rem;
  }
}

.launch-box__description {
  margin: 2.5rem;
  text-align: center;
  line-height: 1.75rem;
  color: #ffffff;
  border-bottom: solid 0.0625rem #ffffff;
}

@media (min-width: 500px) {
  .launch-box__description {
    margin: 3.75rem;
  }
}

@media (min-width: 960px) {
  .launch-box__description {
    position: absolute;
    top: 10.5625rem;
    left: 1.25rem;
    width: 16.875rem;
    z-index: 20;
    margin: 0;
  }
}

@media (min-width: 1200px) {
  .launch-box__description {
    left: 5rem;
  }
}

@media (min-width: 2200px) {
  .launch-box__description {
    left: 12.625rem;
  }
}

.launch-box__logo {
  display: inline-block;
  max-width: 20rem;
}

.launch-box__copy {
  padding: 1.25rem;
}

.launch-box__specs {
  padding: 1.875rem 0.9375rem;
  background-color: #ffffff;
  position: relative;
}

@media (min-width: 500px) {
  .launch-box__specs {
    padding-right: 8.125rem;
  }
}

@media (min-width: 700px) {
  .launch-box__specs {
    padding-right: 10rem;
    padding: 2.5rem 0 2.5rem 0.9375rem;
  }
}

@media (min-width: 960px) {
  .launch-box__specs {
    padding-right: 0;
    position: absolute;
    top: 10.625rem;
    left: 23.75rem;
    width: 35.4375rem;
    z-index: 20;
    padding: 0;
    max-height: 17.5rem;
  }
  .launch-box__specs:before {
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 30px;
    background-color: transparent !important;
    background-color: #ffffff;
    background-image: -webkit-linear-gradient(top, #ffffff, rgba(255, 255, 255, 0));
    background-image: linear-gradient(to bottom,#ffffff, rgba(255, 255, 255, 0));
  }
  .launch-box__specs:after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 30px;
    background-color: transparent !important;
    background-color: #ffffff;
    background-image: -webkit-linear-gradient(bottom, #ffffff, rgba(255, 255, 255, 0));
    background-image: linear-gradient(to top,#ffffff, rgba(255, 255, 255, 0));
  }
}

@media (min-width: 1200px) {
  .launch-box__specs {
    left: 29.5rem;
  }
}

@media (min-width: 2200px) {
  .launch-box__specs {
    left: 37.8125rem;
  }
}

.launch-box__specs-wrapper {
  padding: 0 0;
}

@media (min-width: 700px) {
  .launch-box__specs-wrapper {
    padding: 0 1.875rem;
  }
  .launch-box__specs-wrapper .grid-8 {
    width: 40%;
  }
}

@media (min-width: 960px) {
  .launch-box__specs-wrapper {
    max-height: 17.5rem;
    overflow: auto;
  }
  .launch-box__specs-wrapper .grid-8 {
    width: 50%;
  }
}

@media (min-width: 960px) {
  .launch-box__specs-wrapper .grid-row + .grid-row {
    padding-bottom: 1.875rem;
  }
}

.launch-box__specs-title {
  font-size: 1rem;
  font-weight: bold;
  color: #505050;
  padding-bottom: 0.625rem;
}

@media (min-width: 960px) {
  .launch-box__specs-title {
    padding-top: 1.875rem;
  }
}

.launch-box__specs-list {
  list-style: disc outside;
  margin: 0;
  line-height: 1.5625rem;
}

.launch-box__specs-list-item {
  font-size: 0.875rem;
  color: #505050;
  margin-left: 1.25rem;
}

@media (min-width: 500px) {
  .launch-box__specs-list-item {
    font-size: 1rem;
  }
}

.launch-box__specs-image {
  position: absolute;
  right: 0;
  top: 0;
  width: 15.625rem;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 10.5625rem center;
  background-size: 100%;
}

@media (min-width: 400px) {
  .launch-box__specs-image {
    background-position: 9.0625rem center;
  }
}

@media (min-width: 500px) {
  .launch-box__specs-image {
    background-position: 0 center;
    margin-right: 0.9375rem;
    right: -4.375rem;
  }
}

@media (min-width: 700px) {
  .launch-box__specs-image {
    margin-right: initial;
    right: -5.625rem;
  }
}

@media (min-width: 960px) {
  .launch-box__specs-image {
    display: none;
    visibility: hidden;
  }
}

.launch-box--macbook .launch-box__specs-image {
  background-image: url("../../assets/src/img/programs/launchbox-macbook.png");
}

.launch-box--hp .launch-box__specs-image {
  background-image: url("../../assets/src/img/programs/launchbox-hp.png");
}

.launch-box--ipad .launch-box__specs-image {
  background-image: url("../../assets/src/img/programs/launchbox-ipad.png");
}

@media (min-width: 700px) {
  .launch-box__image {
    position: absolute;
    right: 0rem;
    background-repeat: no-repeat;
    background-size: 47.4375rem;
    top: 6.25rem;
    width: 47.4375rem;
    height: 28.625rem;
    z-index: 10;
  }
}

@media (min-width: 700px) {
  .launch-box__image {
    display: none;
    visibility: hidden;
  }
}

@media (min-width: 960px) {
  .launch-box__image {
    right: -9.25rem;
    display: block;
    visibility: visible;
  }
}

@media (min-width: 1200px) {
  .launch-box__image {
    right: 0rem;
  }
}

@media (min-width: 2200px) {
  .launch-box__image {
    right: 16.0625rem;
  }
}

@media (min-width: 700px) {
  .launch-box--macbook .launch-box__image {
    background-image: url("../../assets/src/img/programs/launchbox-macbook.png");
  }
}

@media (min-width: 700px) {
  .launch-box--hp .launch-box__image {
    background-image: url("../../assets/src/img/programs/launchbox-hp.png");
  }
}

@media (min-width: 700px) {
  .launch-box--ipad .launch-box__image {
    background-image: url("../../assets/src/img/programs/launchbox-ipad.png");
  }
}

.launch-box .disclaimer {
  color: #ffffff;
  font-size: 0.75rem;
  margin: 0.9375rem 0.9375rem;
}

@media (min-width: 960px) {
  .launch-box .disclaimer {
    width: 37rem;
    position: absolute;
    bottom: 0.625rem;
    right: 0px;
    padding: 0 0 0 2.5rem;
    font-size: 0.875rem;
    line-height: normal;
  }
}

@media (min-width: 1200px) {
  .launch-box .disclaimer {
    width: 46.125rem;
    font-size: 1rem;
  }
}

@media (min-width: 2200px) {
  .launch-box .disclaimer {
    right: 16.25rem;
  }
}

.schedule-blocks {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -moz-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: space-around;
  -moz-justify-content: space-around;
  -ms-justify-content: space-around;
  -o-justify-content: space-around;
  justify-content: space-around;
  -ms-flex-pack: center;
}

@media (min-width: 1200px) {
  .schedule-blocks {
    -webkit-box-pack: start;
    -moz-box-pack: start;
    box-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    -o-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: start;
  }
}

.schedule-block {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-lines: single;
  -moz-box-lines: single;
  box-lines: single;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch;
  -o-align-items: stretch;
  align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
  width: 100%;
  margin-bottom: 0.625rem;
  background-color: #f1f1f0;
}

@media (min-width: 700px) {
  .schedule-block {
    width: 49%;
    margin-right: 1%;
  }
}

.schedule-block__day {
  background-color: #505050;
  color: #ffffff;
  font-size: 1.875rem;
  width: 3.75rem;
  padding: 1.25rem 0;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
}

@media (min-width: 960px) {
  .schedule-block__day {
    font-size: 2.5rem;
    width: 5rem;
    padding: 1.5625rem 0;
  }
}

.schedule-block__day-text {
  margin: auto;
}

.schedule-block__row-container {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -moz-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-align-self: stretch;
  -moz-align-self: stretch;
  align-self: stretch;
  -ms-flex-item-align: stretch;
}

.schedule-block__row-container .schedule-block__row:only-child {
  border-bottom: none;
}

.schedule-block__row-container .schedule-block__row:last-child {
  border-bottom: none;
}

.schedule-block__row {
  min-height: 3.125rem;
  border-bottom: solid 0.1875rem #ffffff;
  color: #cc4b00;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -moz-flex: 1;
  -ms-flex: 1;
  flex: 1;
  cursor: pointer;
  position: relative;
}

.schedule-block__row:hover .schedule-block__row-button, .schedule-block__row:active .schedule-block__row-button {
  background-color: #cc4b00;
  color: #ffffff;
}

.schedule-block__row:hover .schedule-block__row-button i, .schedule-block__row:active .schedule-block__row-button i {
  color: #ffffff;
}

.schedule-block__row-text {
  font-size: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 3.75rem;
}

.schedule-block__row-button {
  height: 100%;
  width: 50px;
  color: #ffffff;
  position: absolute;
  right: 0;
  top: 0;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.schedule-block__row-button i {
  font-size: 2rem;
  color: #cc4b00;
}

.schedule-totals {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  box-orient: vertical;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
  -ms-flex-direction: column;
  -webkit-box-lines: single;
  -moz-box-lines: single;
  box-lines: single;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
}

@media (min-width: 700px) {
  .schedule-totals {
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    box-orient: horizontal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    flex-direction: row;
    -ms-flex-direction: row;
    -webkit-box-lines: single;
    -moz-box-lines: single;
    box-lines: single;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
  }
}

.schedule-totals__hours,
.schedule-totals__weeks {
  display: inline-block;
  font-size: 1rem;
}

.schedule-totals__hours {
  padding-right: 1.875rem;
}

.course-detail-text {
  font-size: 1rem;
  padding-top: 1.875rem;
  -webkit-columns: 1 auto;
  -moz-columns: 1 auto;
  columns: 1 auto;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px;
}

@media (min-width: 700px) {
  .course-detail-text {
    -webkit-columns: 2 auto;
    -moz-columns: 2 auto;
    columns: 2 auto;
  }
}

@media (min-width: 960px) {
  .course-detail-text {
    padding-top: 3.75rem;
  }
}

.admissions-requirements {
  padding-bottom: 1.875rem;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
}

@media (min-width: 700px) {
  .admissions-requirements {
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
  }
}

.admissions-requirements__block {
  width: 100%;
  cursor: pointer;
}

.admissions-requirements__block:hover .admissions-requirements__title {
  text-decoration: underline;
}

@media (min-width: 700px) {
  .admissions-requirements__block {
    width: 33.33333%;
    margin-right: 1.875rem;
  }
  .admissions-requirements__block:last-child {
    margin-right: 0;
  }
}

.admissions-requirements__image {
  background-color: #cc4b00;
  display: block;
}

.admissions-requirements__image img {
  width: 100%;
  display: block;
}

.admissions-requirements__title {
  text-align: center;
  padding: 2.5rem 0;
  color: #cc4b00;
  font-size: 1.75rem;
  border-bottom: solid 1px #d6d6d6;
}

.admissions-requirements__title .sub-headline, .admissions-requirements__title .halo .headline + p, .halo .admissions-requirements__title .headline + p {
  margin-bottom: 0;
}

.universal-logo {
  float: left;
  padding-right: 1.25rem;
  max-width: 220px;
}

.table {
  border-left: solid 10px #fdb913;
  margin-bottom: 1.875rem;
  color: #505050;
}

.table__row {
  border-bottom: solid 1px #d6d6d6;
  background-color: #f1f1f0;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

.table__cell {
  padding: 1.25rem;
  border-right: solid 1px #ffffff;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 1 auto;
  -moz-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.table__row--label {
  background-color: #ffffff;
  padding-top: 0;
  margin-top: 1.25rem;
  font-weight: bold;
  border-bottom: none;
}

.table__row--label:first-child {
  margin-top: 0;
}

.table__row--label:first-child .table__cell {
  padding-top: 0;
}

.browse-scholarships__toggles {
  padding-bottom: 1.875rem;
}

.browse-scholarships__toggles h2 {
  margin-bottom: 0;
}

.browse-scholarships__block {
  padding-bottom: 1.875rem;
}

.browse-scholarships__image {
  background-color: #cc4b00;
  display: block;
}

.browse-scholarships__image:hover img {
  opacity: .3;
}

.browse-scholarships__image img {
  display: block;
  opacity: 1;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.browse-scholarships__link {
  font-size: 1.375rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  display: block;
}

.scholarships-list-cta .grid-column {
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
  margin-bottom: 1.25rem;
}

.scholarships-list-cta .grid {
  margin-right: 1%;
}

@media (min-width: 700px) {
  .scholarships-list-cta .grid {
    width: 32.33333%;
  }
}

.timer {
  margin: auto;
  color: #ffffff;
  text-align: center;
}

.timer__title {
  font-size: 1.375rem;
}

@media (min-width: 700px) {
  .timer__title {
    font-size: 1.875rem;
  }
}

@media (min-width: 1200px) {
  .timer__title {
    font-size: 2.25rem;
  }
}

.timer__text {
  font-size: 1.125rem;
  padding: 0 0;
}

@media (min-width: 500px) {
  .timer__text {
    padding: 0.625rem 0;
  }
}

@media (min-width: 960px) {
  .timer__text {
    font-size: 1.25rem;
  }
}

@media (min-width: 1200px) {
  .timer__text {
    font-size: 1.375rem;
  }
}

.timer .divider {
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 960px) {
  .timer .divider {
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}

.timer__countdown-block {
  display: inline-block;
  width: 4.375rem;
}

@media (min-width: 500px) {
  .timer__countdown-block {
    width: 6.25rem;
  }
}

@media (min-width: 700px) {
  .timer__countdown-block {
    width: 7.5rem;
  }
}

@media (min-width: 1200px) {
  .timer__countdown-block {
    width: 8.75rem;
  }
}

.timer__countdown-block-value {
  font-size: 2.5rem;
  opacity: 0;
}

@media (min-width: 400px) {
  .timer__countdown-block-value {
    height: 3.125rem;
  }
}

@media (min-width: 500px) {
  .timer__countdown-block-value {
    font-size: 2.5rem;
    height: 3.75rem;
  }
}

@media (min-width: 700px) {
  .timer__countdown-block-value {
    font-size: 3.125rem;
    height: 4.375rem;
  }
}

@media (min-width: 1200px) {
  .timer__countdown-block-value {
    font-size: 3.875rem;
    height: 5rem;
  }
}

.timer__countdown-block-label {
  font-size: 1rem;
}

@media (min-width: 700px) {
  .timer__countdown-block-label {
    font-size: 1.375rem;
  }
}

#Glide-admissions-explore .h1,
#Glide-admissions-explore .header__secondary,
#Glide-admissions-explore p {
  width: 100%;
}

#Glide-admissions-explore #slide-01 .glide__slide-image {
  background-image: url("../../assets/src/img/admissions/slide-01.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

#Glide-admissions-explore #slide-02 .glide__slide-image {
  background-image: url("../../assets/src/img/admissions/slide-02.jpg");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
}

#Glide-admissions-explore #slide-03 .glide__slide-image {
  background-image: url("../../assets/src/img/admissions/slide-03.jpg");
  background-repeat: no-repeat;
  background-position: 0px top;
  background-size: cover;
}

@media (min-width: 960px) {
  #Glide-admissions-explore #slide-03 .glide__slide-image {
    background-position: center top;
  }
}

#Glide-admissions-explore #slide-04 .glide__slide-image {
  background-image: url("../../assets/src/img/admissions/slide-04.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

#Glide-admissions-explore .glide__bullets {
  bottom: 14%;
}

@media (min-width: 960px) {
  #Glide-admissions-explore .glide__bullets {
    bottom: 11%;
  }
}

@media (min-width: 1200px) {
  #Glide-admissions-explore .glide__bullets {
    bottom: 15%;
  }
}

@media (min-width: 2200px) {
  #Glide-admissions-explore .glide__bullets {
    bottom: 20%;
  }
}

.sidebar {
  padding: 7.5rem 0;
  margin-right: 1.875rem;
  padding-right: 1.25rem;
  height: 100%;
  border-right: solid 1px #f1f1f0;
}

.sidebar ul {
  margin: 1.25rem 0;
}

.sidebar ul li {
  padding: 0.625rem;
}

.sidebar ul li.active {
  background-color: #f1f1f0;
}

.dots {
  position: relative;
  z-index: 20;
  background-color: #f9f5eb;
}

.dots .container {
  position: relative;
  height: inherit;
}

.dots__dot {
  border-radius: 50%;
  background-color: gray;
  position: absolute;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  z-index: 20;
  text-align: center;
}

.dots__dot-text-large {
  font-weight: bold;
}

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

.dots__dot--1 {
  width: 290px;
  height: 290px;
}

.dots__dot--1 .dots__dot-text-large {
  font-size: 6.875rem;
  line-height: 6.875rem;
}

.dots__dot--1 .dots__dot-text-small {
  font-size: 1.25rem;
}

@media (min-width: 700px) {
  .dots__dot--1 {
    width: 290px;
    height: 290px;
  }
  .dots__dot--1 .dots__dot-text-large {
    font-size: 6.875rem;
    line-height: 6.875rem;
  }
  .dots__dot--1 .dots__dot-text-small {
    font-size: 1.25rem;
  }
}

@media (min-width: 960px) {
  .dots__dot--1 {
    width: 290px;
    height: 290px;
  }
  .dots__dot--1 .dots__dot-text-large {
    font-size: 6.875rem;
    line-height: 6.875rem;
  }
  .dots__dot--1 .dots__dot-text-small {
    font-size: 1.25rem;
  }
}

@media (min-width: 1200px) {
  .dots__dot--1 {
    width: 290px;
    height: 290px;
  }
  .dots__dot--1 .dots__dot-text-large {
    font-size: 6.875rem;
    line-height: 6.875rem;
  }
  .dots__dot--1 .dots__dot-text-small {
    font-size: 1.25rem;
  }
}

.dots__dot--2 {
  width: 255px;
  height: 255px;
}

.dots__dot--2 .dots__dot-text-large {
  font-size: 6.25rem;
  line-height: 6.25rem;
}

.dots__dot--2 .dots__dot-text-small {
  font-size: 1.25rem;
  line-height: 1.25rem;
}

@media (min-width: 700px) {
  .dots__dot--2 {
    width: 150px;
    height: 150px;
  }
  .dots__dot--2 .dots__dot-text-large {
    font-size: 3.625rem;
    line-height: 3.625rem;
  }
  .dots__dot--2 .dots__dot-text-small {
    font-size: 0.75rem;
    line-height: 0.75rem;
  }
}

@media (min-width: 960px) {
  .dots__dot--2 {
    width: 150px;
    height: 150px;
  }
  .dots__dot--2 .dots__dot-text-large {
    font-size: 3.625rem;
    line-height: 3.625rem;
  }
  .dots__dot--2 .dots__dot-text-small {
    font-size: 0.75rem;
    line-height: 0.75rem;
  }
}

@media (min-width: 1200px) {
  .dots__dot--2 {
    width: 255px;
    height: 255px;
  }
  .dots__dot--2 .dots__dot-text-large {
    font-size: 6.25rem;
    line-height: 6.25rem;
  }
  .dots__dot--2 .dots__dot-text-small {
    font-size: 1.25rem;
    line-height: 1.25rem;
  }
}

.dots__dot--3 {
  width: 225px;
  height: 225px;
}

.dots__dot--3 .dots__dot-text-large {
  font-size: 5.9375rem;
  line-height: 5.9375rem;
}

.dots__dot--3 .dots__dot-text-small {
  font-size: 1rem;
}

@media (min-width: 700px) {
  .dots__dot--3 {
    width: 134px;
    height: 134px;
  }
  .dots__dot--3 .dots__dot-text-large {
    font-size: 3.4375rem;
    line-height: 3.4375rem;
  }
  .dots__dot--3 .dots__dot-text-small {
    font-size: 0.5625rem;
  }
}

@media (min-width: 960px) {
  .dots__dot--3 {
    width: 134px;
    height: 134px;
  }
  .dots__dot--3 .dots__dot-text-large {
    font-size: 3.4375rem;
    line-height: 3.4375rem;
  }
  .dots__dot--3 .dots__dot-text-small {
    font-size: 0.5625rem;
  }
}

@media (min-width: 1200px) {
  .dots__dot--3 {
    width: 225px;
    height: 225px;
  }
  .dots__dot--3 .dots__dot-text-large {
    font-size: 5.9375rem;
    line-height: 5.9375rem;
  }
  .dots__dot--3 .dots__dot-text-small {
    font-size: 1rem;
  }
}

.dots__dot--4 {
  width: 196px;
  height: 196px;
}

.dots__dot--4 .dots__dot-text-large {
  font-size: 3.75rem;
  line-height: 3.75rem;
}

.dots__dot--4 .dots__dot-text-small {
  font-size: 1rem;
}

@media (min-width: 700px) {
  .dots__dot--4 {
    width: 116px;
    height: 116px;
  }
  .dots__dot--4 .dots__dot-text-large {
    font-size: 2.375rem;
    line-height: 2.375rem;
  }
  .dots__dot--4 .dots__dot-text-small {
    font-size: 0.75rem;
  }
}

@media (min-width: 960px) {
  .dots__dot--4 {
    width: 116px;
    height: 116px;
  }
  .dots__dot--4 .dots__dot-text-large {
    font-size: 2.375rem;
    line-height: 2.375rem;
  }
  .dots__dot--4 .dots__dot-text-small {
    font-size: 0.75rem;
  }
}

@media (min-width: 1200px) {
  .dots__dot--4 {
    width: 196px;
    height: 196px;
  }
  .dots__dot--4 .dots__dot-text-large {
    font-size: 3.75rem;
    line-height: 3.75rem;
  }
  .dots__dot--4 .dots__dot-text-small {
    font-size: 1rem;
  }
}

.dots__dot--5 {
  width: 172px;
  height: 172px;
}

.dots__dot--5 .dots__dot-text-large {
  font-size: 3.625rem;
  line-height: 3.625rem;
}

.dots__dot--5 .dots__dot-text-small {
  font-size: 1.125rem;
  line-height: 1.125rem;
}

@media (min-width: 700px) {
  .dots__dot--5 {
    width: 102px;
    height: 102px;
  }
  .dots__dot--5 .dots__dot-text-large {
    font-size: 1.9375rem;
    line-height: 1.9375rem;
  }
  .dots__dot--5 .dots__dot-text-small {
    font-size: 0.75rem;
    line-height: 0.75rem;
  }
}

@media (min-width: 1200px) {
  .dots__dot--5 {
    width: 172px;
    height: 172px;
  }
  .dots__dot--5 .dots__dot-text-large {
    font-size: 3.625rem;
    line-height: 3.625rem;
  }
  .dots__dot--5 .dots__dot-text-small {
    font-size: 1.125rem;
    line-height: 1.125rem;
  }
}

.dots__dot--6 {
  width: 302px;
  height: 302px;
}

@media (min-width: 700px) {
  .dots__dot--6 {
    width: 174px;
    height: 174px;
  }
}

@media (min-width: 960px) {
  .dots__dot--6 {
    width: 174px;
    height: 174px;
  }
}

@media (min-width: 1200px) {
  .dots__dot--6 {
    width: 302px;
    height: 302px;
  }
}

.dots__dot--7 {
  width: 302px;
  height: 302px;
}

@media (min-width: 700px) {
  .dots__dot--7 {
    width: 174px;
    height: 174px;
  }
}

@media (min-width: 960px) {
  .dots__dot--7 {
    width: 256px;
    height: 256px;
  }
}

@media (min-width: 1200px) {
  .dots__dot--7 {
    width: 410px;
    height: 410px;
  }
}

.dots__dot--8 {
  width: 145px;
  height: 145px;
}

@media (min-width: 700px) {
  .dots__dot--8 {
    width: 145px;
    height: 145px;
  }
}

@media (min-width: 960px) {
  .dots__dot--8 {
    width: 102px;
    height: 102px;
    font-size: 0.75rem;
  }
}

@media (min-width: 1200px) {
  .dots__dot--8 {
    width: 145px;
    height: 145px;
  }
}

.dots__dot--9 {
  width: 110px;
  height: 110px;
}

@media (min-width: 700px) {
  .dots__dot--9 {
    width: 110px;
    height: 110px;
  }
}

@media (min-width: 960px) {
  .dots__dot--9 {
    width: 73px;
    height: 73px;
    font-size: 0.75rem;
  }
}

@media (min-width: 1200px) {
  .dots__dot--9 {
    width: 110px;
    height: 110px;
    font-size: 1.25rem;
  }
}

.dots__dot--skin-bumblebee {
  background-color: #fdb913;
  color: #ffffff;
}

.dots__dot--skin-trypticon {
  background-color: #505050;
}

.dots__dot--skin-trypticon .dots__dot-text-large {
  color: #fdb913;
}

.dots__dot--skin-trypticon .dots__dot-text-small {
  color: #ffffff;
}

.dots__dot--skin-trypticon-alt {
  background-color: #505050;
}

.dots__dot--skin-trypticon-alt .dots__dot-text-large {
  color: #ffffff;
}

.dots__dot--skin-trypticon-alt .dots__dot-text-small {
  color: #ffffff;
}

.dots__dot--skin-jetfire {
  background-color: #ffffff;
  color: #505050;
}

.dots__dot--skin-jetfire .dots__dot-text-large {
  color: #fdb913;
}

.dots__dot--skin-jetfire .dots__dot-text-small {
  color: #505050;
}

.dots__dot--skin-jetfire-alt {
  background-color: #ffffff;
}

.dots__dot--skin-jetfire-alt .dots__dot-text-large {
  color: #505050;
  font-size: 5rem;
  line-height: 5rem;
}

.dots__dot--skin-jetfire-alt .dots__dot-text-small {
  color: #505050;
}

#our-campus {
  height: 1432px;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  z-index: 10;
}

@media (min-width: 500px) {
  #our-campus {
    height: 1432px;
  }
}

@media (min-width: 700px) {
  #our-campus {
    height: 500px;
  }
}

@media (min-width: 960px) {
  #our-campus {
    height: 500px;
  }
}

@media (min-width: 1200px) {
  #our-campus {
    height: 880px;
  }
}

@media (min-width: 2200px) {
  #our-campus {
    height: 880px;
  }
}

#our-campus #dot-1 {
  top: 325px;
  left: 37%;
}

@media (min-width: 500px) {
  #our-campus #dot-1 {
    left: 49%;
  }
}

@media (min-width: 700px) {
  #our-campus #dot-1 {
    top: 319px;
    left: 29%;
  }
}

@media (min-width: 960px) {
  #our-campus #dot-1 {
    top: 319px;
    left: 304px;
  }
}

@media (min-width: 1200px) {
  #our-campus #dot-1 {
    top: 549px;
    left: 302px;
  }
}

@media (min-width: 2200px) {
  #our-campus #dot-1 {
    top: 549px;
    left: 304px;
  }
}

#our-campus #dot-2 {
  top: 541px;
  left: -9%;
}

@media (min-width: 500px) {
  #our-campus #dot-2 {
    left: -2%;
  }
}

@media (min-width: 700px) {
  #our-campus #dot-2 {
    top: 69px;
    left: 40%;
  }
}

@media (min-width: 960px) {
  #our-campus #dot-2 {
    top: 69px;
    left: 398px;
  }
}

@media (min-width: 1200px) {
  #our-campus #dot-2 {
    top: 122px;
    left: 461px;
  }
}

@media (min-width: 2200px) {
  #our-campus #dot-2 {
    top: 122px;
    left: 461px;
  }
}

#our-campus #dot-3 {
  top: 769px;
  left: 54%;
}

@media (min-width: 500px) {
  #our-campus #dot-3 {
    left: 54%;
  }
}

@media (min-width: 700px) {
  #our-campus #dot-3 {
    top: 144px;
    left: 72%;
  }
}

@media (min-width: 960px) {
  #our-campus #dot-3 {
    top: 144px;
    left: 658px;
  }
}

@media (min-width: 1200px) {
  #our-campus #dot-3 {
    top: 249px;
    left: 910px;
  }
}

@media (min-width: 2200px) {
  #our-campus #dot-3 {
    top: 249px;
    left: 908px;
  }
}

#our-campus #dot-4 {
  top: 298px;
  left: -5%;
}

@media (min-width: 500px) {
  #our-campus #dot-4 {
    left: 11%;
  }
}

@media (min-width: 700px) {
  #our-campus #dot-4 {
    top: 303px;
    left: 14%;
  }
}

@media (min-width: 960px) {
  #our-campus #dot-4 {
    top: 303px;
    left: 181px;
  }
}

@media (min-width: 1200px) {
  #our-campus #dot-4 {
    top: 522px;
    left: 91px;
  }
}

@media (min-width: 2200px) {
  #our-campus #dot-4 {
    top: 522px;
    left: 91px;
  }
}

#our-campus #dot-5 {
  background-image: url("../../assets/src/img/campus-online/our-campus/dot-image-01.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  top: 1012px;
  left: 19%;
}

@media (min-width: 500px) {
  #our-campus #dot-5 {
    left: 19%;
  }
}

@media (min-width: 700px) {
  #our-campus #dot-5 {
    top: 286px;
    left: 55%;
  }
}

@media (min-width: 960px) {
  #our-campus #dot-5 {
    top: 286px;
    left: 551px;
  }
}

@media (min-width: 1200px) {
  #our-campus #dot-5 {
    top: 492px;
    left: 701px;
  }
}

@media (min-width: 2200px) {
  #our-campus #dot-5 {
    top: 492px;
    left: 700px;
  }
}

#our-campus #dot-6 {
  background-image: url("../../assets/src/img/campus-online/our-campus/dot-image-02.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  top: 23px;
  left: 3%;
}

@media (min-width: 500px) {
  #our-campus #dot-6 {
    left: 18%;
  }
}

@media (min-width: 700px) {
  #our-campus #dot-6 {
    top: 144px;
    left: 18%;
  }
}

@media (min-width: 960px) {
  #our-campus #dot-6 {
    top: 144px;
    left: 231px;
  }
}

@media (min-width: 1200px) {
  #our-campus #dot-6 {
    top: 247px;
    left: 174px;
  }
}

@media (min-width: 2200px) {
  #our-campus #dot-6 {
    top: 247px;
    left: 171px;
  }
}

#our-campus #dot-7 {
  background-image: url("../../assets/src/img/campus-online/our-campus/dot-image-03.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  top: 555px;
  left: 57%;
}

@media (min-width: 500px) {
  #our-campus #dot-7 {
    left: 57%;
  }
}

@media (min-width: 700px) {
  #our-campus #dot-7 {
    top: 78px;
    left: 59%;
  }
}

@media (min-width: 960px) {
  #our-campus #dot-7 {
    top: 78px;
    left: 554px;
  }
}

@media (min-width: 1200px) {
  #our-campus #dot-7 {
    top: 137px;
    left: 728px;
  }
}

@media (min-width: 2200px) {
  #our-campus #dot-7 {
    top: 137px;
    left: 724px;
  }
}

#our-campus #dot-8 {
  top: 843px;
  left: -5%;
}

@media (min-width: 500px) {
  #our-campus #dot-8 {
    left: 14%;
  }
}

@media (min-width: 700px) {
  #our-campus #dot-8 {
    top: 187px;
    left: 56%;
  }
}

@media (min-width: 960px) {
  #our-campus #dot-8 {
    top: 187px;
    left: 526px;
  }
}

@media (min-width: 1200px) {
  #our-campus #dot-8 {
    top: 322px;
    left: 682px;
  }
}

#about {
  height: 1009px;
}

@media (min-width: 400px) {
  #about {
    height: 734px;
  }
}

@media (min-width: 500px) {
  #about {
    height: 780px;
  }
}

@media (min-width: 700px) {
  #about {
    height: 570px;
  }
}

#about #dot-1 {
  width: 200px;
  height: 200px;
  top: 14px;
  left: 13%;
}

#about #dot-1 .dots__dot-text-large {
  font-size: 5rem;
  line-height: 5rem;
}

#about #dot-1 .dots__dot-text-small {
  font-size: 1.125rem;
}

@media (min-width: 400px) {
  #about #dot-1 {
    width: 204px;
    height: 204px;
    top: 277px;
    left: 46%;
  }
  #about #dot-1 .dots__dot-text-large {
    font-size: 6.25rem;
    line-height: 6.25rem;
  }
}

@media (min-width: 500px) {
  #about #dot-1 {
    width: 226px;
    height: 226px;
    top: 303px;
    left: 46%;
  }
}

@media (min-width: 700px) {
  #about #dot-1 {
    width: 204px;
    height: 204px;
    top: 152px;
    left: 214px;
  }
  #about #dot-1 .dots__dot-text-small {
    font-size: 1.125rem;
  }
}

@media (min-width: 960px) {
  #about #dot-1 {
    width: 226px;
    height: 226px;
    top: 219px;
    left: 230px;
  }
  #about #dot-1 .dots__dot-text-small {
    font-size: 1.25rem;
  }
}

@media (min-width: 1200px) {
  #about #dot-1 {
    width: 226px;
    height: 226px;
    top: 165px;
    left: 292px;
  }
}

#about #dot-2 {
  width: 141px;
  height: 141px;
  top: 493px;
  left: 5%;
}

#about #dot-2 .dots__dot-text-large {
  font-size: 2.6875rem;
}

@media (min-width: 400px) {
  #about #dot-2 {
    width: 156px;
    height: 156px;
    top: 39px;
    left: 58%;
  }
}

@media (min-width: 500px) {
  #about #dot-2 {
    width: 172px;
    height: 172px;
    top: 41px;
    left: 57%;
  }
}

@media (min-width: 700px) {
  #about #dot-2 {
    width: 156px;
    height: 156px;
    top: -11px;
    left: 234px;
  }
  #about #dot-2 .dots__dot-text-large {
    font-size: 3.375rem;
  }
  #about #dot-2 .dots__dot-text-small {
    font-size: 1.125rem;
  }
}

@media (min-width: 960px) {
  #about #dot-2 {
    width: 172px;
    height: 172px;
    top: 88px;
    left: 390px;
  }
  #about #dot-2 .dots__dot-text-large {
    font-size: 3.75rem;
  }
  #about #dot-2 .dots__dot-text-small {
    font-size: 1.25rem;
  }
}

@media (min-width: 1200px) {
  #about #dot-2 {
    width: 172px;
    height: 172px;
    top: 47px;
    left: 473px;
  }
}

#about #dot-3 {
  width: 126px;
  height: 126px;
  top: 658px;
  left: 22%;
  background-color: #ffffff;
}

#about #dot-3 .dots__dot-text-large {
  font-size: 3.125rem;
  line-height: 3.125rem;
  color: #fdb913;
}

#about #dot-3 .dots__dot-text-small {
  color: #505050;
}

@media (min-width: 400px) {
  #about #dot-3 {
    width: 203px;
    height: 203px;
    top: 474px;
    left: 24%;
    background-color: #fdb913;
  }
  #about #dot-3 .dots__dot-text-large {
    font-size: 6.25rem;
    line-height: 6.25rem;
    color: #ffffff;
  }
  #about #dot-3 .dots__dot-text-small {
    color: #ffffff;
  }
}

@media (min-width: 500px) {
  #about #dot-3 {
    top: 525px;
    left: 28%;
  }
}

@media (min-width: 700px) {
  #about #dot-3 {
    width: 202px;
    height: 202px;
    top: 357px;
    left: 164px;
  }
  #about #dot-3 .dots__dot-text-small {
    font-size: 1.125rem;
  }
}

@media (min-width: 960px) {
  #about #dot-3 {
    width: 226px;
    height: 226px;
    top: 364px;
    left: 39px;
  }
  #about #dot-3 .dots__dot-text-small {
    font-size: 1.25rem;
  }
}

@media (min-width: 1200px) {
  #about #dot-3 {
    top: 310px;
    left: 98px;
  }
}

#about #dot-4 {
  width: 240px;
  height: 240px;
  top: 253px;
  left: 23%;
}

#about #dot-4 .dots__dot-text-large {
  font-size: 5rem;
  line-height: 5rem;
}

#about #dot-4 .dots__dot-text-small {
  font-size: 1.125rem;
}

@media (min-width: 400px) {
  #about #dot-4 {
    width: 230px;
    height: 230px;
    top: 97px;
    left: 0%;
  }
}

@media (min-width: 500px) {
  #about #dot-4 {
    width: 255px;
    height: 255px;
    top: 107px;
    left: 6%;
  }
}

@media (min-width: 700px) {
  #about #dot-4 {
    width: 230px;
    height: 230px;
    top: 20px;
    left: 2px;
  }
  #about #dot-4 .dots__dot-text-large {
    font-size: 6.1875rem;
  }
  #about #dot-4 .dots__dot-text-small {
    font-size: 1.125rem;
  }
}

@media (min-width: 960px) {
  #about #dot-4 {
    width: 255px;
    height: 255px;
    top: 41px;
    left: 17px;
  }
}

@media (min-width: 1200px) {
  #about #dot-4 {
    top: -47px;
    left: 68px;
  }
}

#about #dot-5 {
  top: 791px;
  left: 37%;
  background-color: #fdb913;
}

#about #dot-5 .dots__dot-text-large {
  line-height: normal;
  color: #ffffff;
}

#about #dot-5 .dots__dot-text-small {
  color: #ffffff;
}

@media (min-width: 400px) {
  #about #dot-5 {
    width: 156px;
    height: 156px;
    top: 339px;
    left: 1%;
    background-color: #505050;
  }
}

@media (min-width: 500px) {
  #about #dot-5 {
    top: 375px;
    left: 7%;
  }
}

@media (min-width: 700px) {
  #about #dot-5 {
    width: 156px;
    height: 156px;
    top: 262px;
    left: 37px;
  }
  #about #dot-5 .dots__dot-text-large {
    font-size: 3.375rem;
  }
  #about #dot-5 .dots__dot-text-small {
    font-size: 1.125rem;
  }
}

@media (min-width: 960px) {
  #about #dot-5 {
    width: 172px;
    height: 172px;
    top: 418px;
    left: 382px;
  }
  #about #dot-5 .dots__dot-text-large {
    font-size: 3.75rem;
  }
  #about #dot-5 .dots__dot-text-small {
    font-size: 1.25rem;
  }
}

@media (min-width: 1200px) {
  #about #dot-5 {
    top: 365px;
    left: 444px;
  }
}

#learning-online {
  background-repeat: no-repeat;
  background-position: center;
  height: 1432px;
}

@media (min-width: 700px) {
  #learning-online {
    height: 500px;
  }
}

@media (min-width: 960px) {
  #learning-online {
    height: 500px;
  }
}

@media (min-width: 1200px) {
  #learning-online {
    height: 880px;
  }
}

#learning-online #dot-1 {
  top: 470px;
  left: -7%;
}

#learning-online #dot-1 .dots__dot-text-large {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

#learning-online #dot-1 .dots__dot-text-small {
  font-size: 1.25rem;
  line-height: 1.375rem;
}

@media (min-width: 400px) {
  #learning-online #dot-1 {
    left: 6%;
  }
}

@media (min-width: 500px) {
  #learning-online #dot-1 {
    left: 6%;
  }
}

@media (min-width: 700px) {
  #learning-online #dot-1 {
    top: 76px;
    left: 36%;
  }
  #learning-online #dot-1 .dots__dot-text-large {
    font-size: 1.375rem;
    line-height: 1.875rem;
  }
  #learning-online #dot-1 .dots__dot-text-small {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 960px) {
  #learning-online #dot-1 {
    left: 348px;
  }
}

@media (min-width: 1200px) {
  #learning-online #dot-1 {
    top: 121px;
    left: 406px;
  }
  #learning-online #dot-1 .dots__dot-text-large {
    font-size: 2.25rem;
    line-height: 2.625rem;
  }
  #learning-online #dot-1 .dots__dot-text-small {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}

#learning-online #dot-2 {
  top: 753px;
  left: 33%;
}

#learning-online #dot-2 .dots__dot-text-large {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

#learning-online #dot-2 .dots__dot-text-small {
  font-size: 1.25rem;
  line-height: 1.375rem;
}

@media (min-width: 700px) {
  #learning-online #dot-2 {
    top: 292px;
    left: 45%;
  }
  #learning-online #dot-2 .dots__dot-text-large {
    font-size: 1.375rem;
    line-height: 1.875rem;
  }
  #learning-online #dot-2 .dots__dot-text-small {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 960px) {
  #learning-online #dot-2 {
    left: 435px;
  }
}

@media (min-width: 1200px) {
  #learning-online #dot-2 {
    top: 473px;
    left: 546px;
  }
  #learning-online #dot-2 .dots__dot-text-large {
    font-size: 2.25rem;
    line-height: 2.625rem;
  }
  #learning-online #dot-2 .dots__dot-text-small {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}

#learning-online #dot-3 {
  top: 1011px;
  left: -5%;
}

#learning-online #dot-3 .dots__dot-text-large {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

#learning-online #dot-3 .dots__dot-text-small {
  font-size: 1.25rem;
  line-height: 1.375rem;
}

@media (min-width: 400px) {
  #learning-online #dot-3 {
    left: 10%;
  }
}

@media (min-width: 700px) {
  #learning-online #dot-3 {
    top: 153px;
    left: 72%;
  }
  #learning-online #dot-3 .dots__dot-text-large {
    font-size: 1.375rem;
    line-height: 1.875rem;
  }
  #learning-online #dot-3 .dots__dot-text-small {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 960px) {
  #learning-online #dot-3 {
    left: 676px;
  }
}

@media (min-width: 1200px) {
  #learning-online #dot-3 {
    top: 250px;
    left: 927px;
  }
  #learning-online #dot-3 .dots__dot-text-large {
    font-size: 2.25rem;
    line-height: 2.625rem;
  }
  #learning-online #dot-3 .dots__dot-text-small {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}

#learning-online #dot-4 {
  background-image: url("../../assets/src/img/campus-online/learning-online/dot-image-01.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  top: 101px;
  left: -12%;
  width: 410px;
  height: 410px;
}

@media (min-width: 400px) {
  #learning-online #dot-4 {
    left: 3%;
  }
}

@media (min-width: 500px) {
  #learning-online #dot-4 {
    left: 7%;
  }
}

@media (min-width: 700px) {
  #learning-online #dot-4 {
    top: 158px;
    left: 6%;
    width: 257px;
    height: 257px;
  }
}

@media (min-width: 960px) {
  #learning-online #dot-4 {
    left: 82px;
  }
}

@media (min-width: 1200px) {
  #learning-online #dot-4 {
    top: 265px;
    left: -15px;
  }
}

#learning-online #dot-5 {
  background-image: url("../../assets/src/img/campus-online/learning-online/dot-image-02.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  top: 584px;
  left: 50%;
}

@media (min-width: 700px) {
  #learning-online #dot-5 {
    top: 165px;
    left: 53%;
  }
}

@media (min-width: 960px) {
  #learning-online #dot-5 {
    left: 506px;
  }
}

@media (min-width: 1200px) {
  #learning-online #dot-5 {
    top: 273px;
    left: 660px;
  }
}

#learning-online #dot-6 {
  background-image: url("../../assets/src/img/campus-online/learning-online/dot-image-03.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  top: 1185px;
  left: 43%;
}

@media (min-width: 700px) {
  #learning-online #dot-6 {
    top: 300px;
    left: 79%;
  }
}

@media (min-width: 960px) {
  #learning-online #dot-6 {
    left: 743px;
  }
}

@media (min-width: 1200px) {
  #learning-online #dot-6 {
    top: 486px;
    left: 1037px;
  }
}

#learning-online #dot-7 {
  color: #505050;
  top: 711px;
  left: 0%;
  width: 145px;
  height: 145px;
}

#learning-online #dot-7 .dots__dot-text-small {
  font-size: 20px;
}

@media (min-width: 400px) {
  #learning-online #dot-7 {
    left: 9%;
  }
}

@media (min-width: 500px) {
  #learning-online #dot-7 {
    left: 13%;
  }
}

@media (min-width: 700px) {
  #learning-online #dot-7 {
    top: 285px;
    left: 34%;
    width: 92px;
    height: 92px;
  }
  #learning-online #dot-7 .dots__dot-text-small {
    font-size: 12px;
  }
}

@media (min-width: 960px) {
  #learning-online #dot-7 {
    top: 282px;
    left: 335px;
  }
}

@media (min-width: 1200px) {
  #learning-online #dot-7 {
    top: 469px;
    left: 392px;
  }
}

#learning-online #dot-8 {
  color: #505050;
  top: 1020px;
  left: 64%;
  width: 110px;
  height: 110px;
}

#learning-online #dot-8 .dots__dot-text-small {
  font-size: 20px;
}

@media (min-width: 400px) {
  #learning-online #dot-8 {
    width: 110px;
    height: 110px;
  }
}

@media (min-width: 500px) {
  #learning-online #dot-8 {
    width: 110px;
    height: 110px;
  }
}

@media (min-width: 700px) {
  #learning-online #dot-8 {
    top: 103px;
    left: 59%;
    width: 72px;
    height: 72px;
  }
  #learning-online #dot-8 .dots__dot-text-small {
    font-size: 12px;
  }
}

@media (min-width: 960px) {
  #learning-online #dot-8 {
    top: 102px;
    left: 561px;
  }
}

@media (min-width: 1200px) {
  #learning-online #dot-8 {
    top: 181px;
    left: 754px;
  }
}

#learning-online #dot-9 {
  color: #505050;
  top: 26px;
  left: 54%;
  width: 113px;
  height: 113px;
}

#learning-online #dot-9 .dots__dot-text-small {
  font-size: 20px;
}

@media (min-width: 700px) {
  #learning-online #dot-9 {
    top: 108px;
    left: 22%;
    width: 72px;
    height: 72px;
  }
  #learning-online #dot-9 .dots__dot-text-small {
    font-size: 12px;
  }
}

@media (min-width: 960px) {
  #learning-online #dot-9 {
    top: 106px;
    left: 224px;
  }
}

@media (min-width: 1200px) {
  #learning-online #dot-9 {
    top: 188px;
    left: 220px;
  }
}

#learning-online #dot-10 {
  top: 912px;
  left: 9%;
  width: 116px;
  height: 116px;
}

#learning-online #dot-10 .dots__dot-text-small {
  font-size: 1.125rem;
}

@media (min-width: 400px) {
  #learning-online #dot-10 {
    left: 9%;
    width: 116px;
    height: 116px;
  }
}

@media (min-width: 500px) {
  #learning-online #dot-10 {
    left: 13%;
    width: 116px;
    height: 116px;
  }
}

@media (min-width: 700px) {
  #learning-online #dot-10 {
    top: 257px;
    left: 62%;
    width: 72px;
    height: 72px;
  }
  #learning-online #dot-10 .dots__dot-text-small {
    font-size: 0.75rem;
  }
}

@media (min-width: 960px) {
  #learning-online #dot-10 {
    left: 591px;
  }
}

@media (min-width: 1200px) {
  #learning-online #dot-10 {
    top: 427px;
    left: 802px;
  }
}

#parallax-01 {
  display: none;
  visibility: hidden;
}

@media (min-width: 700px) {
  #parallax-01 {
    display: block;
    visibility: visible;
    position: absolute;
    top: -100px;
    left: 0px;
    width: 100%;
    height: 120%;
    background-image: url("../../assets/src/img/campus-online/our-campus/parallax-01.png");
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center top;
  }
}

#parallax-02 {
  display: none;
  visibility: hidden;
}

@media (min-width: 700px) {
  #parallax-02 {
    display: block;
    visibility: visible;
    position: absolute;
    top: -100px;
    left: 0px;
    width: 100%;
    height: 120%;
    background-image: url("../../assets/src/img/campus-online/our-campus/parallax-02.png");
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center top;
  }
}

#parallax-03 {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}

@media (min-width: 1200px) {
  #parallax-03 {
    top: 0px;
  }
}

#Glide-campus #slide-01 .glide__slide-image {
  background-image: url("../../assets/src/img/campus-online/campus/slide-01.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

#Glide-campus #slide-02 .glide__slide-image {
  background-image: url("../../assets/src/img/campus-online/campus/slide-02.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

#Glide-campus #slide-03 .glide__slide-image {
  background-image: url("../../assets/src/img/campus-online/campus/slide-03.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

#Glide-campus #slide-04 .glide__slide-image {
  background-image: url("../../assets/src/img/campus-online/campus/slide-04.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

#Glide-campus #slide-05 .glide__slide-image {
  background-image: url("../../assets/src/img/campus-online/campus/slide-05.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

#Glide-campus #slide-06 .glide__slide-image {
  background-image: url("../../assets/src/img/campus-online/campus/slide-06.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

#Glide-our-campus .glide__bullets {
  bottom: 2.5rem;
}

#Glide-our-campus .grid-row,
#Glide-our-campus [class^="grid-"] {
  height: inherit;
}

#Glide-our-campus .grid-split-vertical {
  height: 50%;
}

#Glide-our-campus [class^="grid-"] {
  position: relative;
}

#Glide-our-campus .grid-row {
  -webkit-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
}

#Glide-our-campus .glide__title {
  color: #ffffff;
}

#Glide-our-campus .glide__title--bottom-right {
  position: absolute;
  right: 0px;
  bottom: 0px;
  border-right: solid 10px #fdb913;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

#Glide-our-campus .glide__title--bottom-left {
  position: absolute;
  left: 0px;
  bottom: 0px;
  border-left: solid 10px #fdb913;
  padding-left: 1.25rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

#Glide-our-campus .glide__title--top-left {
  position: absolute;
  left: 0px;
  top: 0px;
  border-left: solid 10px #fdb913;
  padding-left: 1.25rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

#Glide-our-campus .glide__title--top-right {
  position: absolute;
  right: 0px;
  top: 0px;
  border-right: solid 10px #fdb913;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

#Glide-our-campus .slide-image {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.overview--our-campus p {
  display: none;
  visibility: hidden;
}

@media (min-width: 960px) {
  .overview--our-campus p {
    display: block;
    visibility: visible;
  }
}

.overview--our-campus .divider {
  margin-bottom: 0;
}

@media (min-width: 960px) {
  .overview--our-campus .divider {
    margin-bottom: 2.5rem;
  }
}

#map-campus {
  width: 100%;
  height: 18.75rem;
  padding-bottom: 1.875rem;
}

@media (min-width: 700px) {
  #map-campus {
    height: 22.5rem;
  }
}

@media (min-width: 960px) {
  #map-campus {
    height: 28.75rem;
  }
}

@media (min-width: 1200px) {
  #map-campus {
    height: 35rem;
  }
}

.map-campus-legend {
  padding: 0;
  margin: 0 auto;
  list-style-type: none;
  list-style-position: inside;
  max-width: 90%;
  color: #505050;
}

.map-campus-legend li {
  counter-increment: step-counter;
  margin-bottom: 1.25rem;
}

.map-campus-legend li:before {
  content: counter(step-counter);
  margin-right: 0.625rem;
  font-size: 1rem;
  font-weight: bold;
  color: #505050;
  display: inline-block;
  vertical-align: top;
  padding-top: 0.3125rem;
}

.map-campus-legend .block {
  display: inline-block;
  vertical-align: middle;
  max-width: 80%;
}

.map-campus-legend__label {
  font-size: 1.125rem;
  padding-bottom: 0.3125rem;
}

@media (min-width: 700px) {
  .map-campus-legend__label {
    font-size: 1.375rem;
  }
}

.map-campus-legend__description {
  font-size: 0.875rem;
}

@media (min-width: 700px) {
  .map-campus-legend__description {
    font-size: 1rem;
  }
}

#Glide-learning-online.glide--horizontal .glide__bullets {
  bottom: 2.5rem;
}

#Glide-learning-online .container {
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
}

#Glide-learning-online h1 {
  text-align: left;
  padding-left: 0;
  font-size: 1.75rem;
}

@media (min-width: 700px) {
  #Glide-learning-online h1 {
    font-size: 2.875rem;
  }
}

@media (min-width: 1200px) {
  #Glide-learning-online h1 {
    font-size: 3.625rem;
  }
}

#Glide-learning-online p {
  text-align: left;
  display: none;
  visibility: hidden;
}

@media (min-width: 500px) {
  #Glide-learning-online p {
    max-width: 270px;
    display: block;
    visibility: visible;
  }
}

@media (min-width: 700px) {
  #Glide-learning-online p {
    max-width: 430px;
    font-size: 1.125rem;
  }
}

@media (min-width: 1200px) {
  #Glide-learning-online p {
    font-size: 1.375rem;
  }
}

#Glide-learning-online .divider {
  margin-bottom: 0;
}

#Glide-learning-online #slide-01 {
  background-image: url("../../assets/src/img/campus-online/learning-online/slide-01.jpg");
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-01 {
    background-position: 20px 0px;
  }
}

@media (min-width: 960px) {
  #Glide-learning-online #slide-01 {
    background-position: bottom right;
  }
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-01 .block {
    position: absolute;
    left: 15px;
    bottom: 10%;
  }
}

#Glide-learning-online #slide-01 .h1 {
  color: #505050;
}

#Glide-learning-online #slide-01 p {
  color: #505050;
}

#Glide-learning-online #slide-02 {
  background-color: #fdb913;
}

#Glide-learning-online #slide-02 .slide-laptop {
  width: 762px;
  height: 456px;
  background-image: url("../../assets/src/img/campus-online/learning-online/slide-02.png");
  background-repeat: no-repeat;
  background-size: 30%;
  position: absolute;
  left: -87px;
  top: 60px;
  z-index: 1;
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-02 .slide-laptop {
    background-size: 46%;
    left: -47px;
    top: 55px;
  }
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-02 .slide-laptop {
    left: -70px;
  }
}

@media (min-width: 700px) {
  #Glide-learning-online #slide-02 .slide-laptop {
    background-size: 80%;
    left: -250px;
    top: 75px;
  }
}

@media (min-width: 960px) {
  #Glide-learning-online #slide-02 .slide-laptop {
    left: -190px;
    top: 90px;
  }
}

@media (min-width: 1200px) {
  #Glide-learning-online #slide-02 .slide-laptop {
    background-size: 100%;
    left: -57px;
    top: 90px;
  }
}

#Glide-learning-online #slide-02 .block {
  z-index: 2;
  position: absolute;
  right: -15px;
  top: 98px;
}

@media (min-width: 400px) {
  #Glide-learning-online #slide-02 .block {
    right: 0;
  }
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-02 .block {
    top: 120px;
  }
}

@media (min-width: 700px) {
  #Glide-learning-online #slide-02 .block {
    top: 70px;
  }
}

#Glide-learning-online #slide-02 h1 {
  text-align: left;
  padding-left: 0;
  color: #ffffff;
}

#Glide-learning-online #slide-02 p {
  text-align: left;
  color: #ffffff;
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-02 p {
    height: 0px;
    display: none;
    visibility: hidden;
  }
}

@media (min-width: 700px) {
  #Glide-learning-online #slide-02 p {
    height: auto;
    display: block;
    visibility: visible;
    max-width: 376px;
    padding-right: 1.25rem;
  }
}

@media (min-width: 960px) {
  #Glide-learning-online #slide-02 p {
    max-width: 480px;
    padding-right: 0;
  }
}

#Glide-learning-online #slide-03 {
  background-image: url("../../assets/src/img/campus-online/learning-online/slide-03.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-03 {
    background-position: -40px 0px;
  }
}

@media (min-width: 700px) {
  #Glide-learning-online #slide-03 {
    background-position: -170px 0px;
  }
}

@media (min-width: 960px) {
  #Glide-learning-online #slide-03 {
    background-position: bottom right;
  }
}

#Glide-learning-online #slide-03 .block {
  position: absolute;
  left: 15px;
  bottom: 32%;
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-03 .block {
    bottom: 10%;
  }
}

#Glide-learning-online #slide-03 h1 {
  color: #505050;
  text-align: left;
  padding-left: 0;
}

#Glide-learning-online #slide-03 p {
  color: #505050;
  text-align: left;
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-03 p {
    max-width: 320px;
  }
}

@media (min-width: 700px) {
  #Glide-learning-online #slide-03 p {
    max-width: 430px;
  }
}

#Glide-learning-online #slide-04 {
  background-color: #3c302d;
  background-image: url("../../assets/src/img/campus-online/learning-online/slide-04.jpg");
  background-repeat: no-repeat;
  background-position: -60px 0px;
  background-size: cover;
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-04 {
    background-position: -190px 0px;
  }
}

@media (min-width: 700px) {
  #Glide-learning-online #slide-04 {
    background-position: -270px 0px;
  }
}

@media (min-width: 960px) {
  #Glide-learning-online #slide-04 {
    background-position: -240px 0px;
  }
}

@media (min-width: 1200px) {
  #Glide-learning-online #slide-04 {
    background-position: -250px 0px;
  }
}

#Glide-learning-online #slide-04 .block {
  z-index: 2;
  position: absolute;
  bottom: 38px;
  right: -5px;
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-04 .block {
    bottom: 10%;
    max-width: 260px;
  }
}

@media (min-width: 700px) {
  #Glide-learning-online #slide-04 .block {
    bottom: 10%;
    max-width: 280px;
  }
}

@media (min-width: 960px) {
  #Glide-learning-online #slide-04 .block {
    bottom: 80px;
    max-width: 370px;
  }
}

@media (min-width: 1200px) {
  #Glide-learning-online #slide-04 .block {
    bottom: 110px;
    max-width: 460px;
  }
}

#Glide-learning-online #slide-04 h1 {
  text-align: left;
  padding-left: 0;
  color: #ffffff;
  text-shadow: 0px 1px 3px black;
}

@media (min-width: 500px) {
  #Glide-learning-online #slide-04 h1 {
    text-shadow: initial;
  }
}

#Glide-learning-online #slide-04 p {
  text-align: left;
  max-width: 480px;
  color: #ffffff;
}

#Glide-learning-online #slide-04 .divider {
  display: none;
  visibility: hidden;
}

@media (min-width: 700px) {
  #Glide-learning-online #slide-04 .divider {
    display: block;
    visibility: visible;
  }
}

#Glide-about {
  height: 100px;
  margin-top: 3.75rem;
  border: solid 1px #d6d6d6;
  background-image: url("../../assets/src/img/about/slide-01.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

@media (min-width: 500px) {
  #Glide-about {
    height: 150px;
  }
}

@media (min-width: 700px) {
  #Glide-about {
    height: 200px;
  }
}

@media (min-width: 960px) {
  #Glide-about {
    height: 275px;
  }
}

@media (min-width: 1200px) {
  #Glide-about {
    height: 350px;
  }
}

@media (min-width: 2200px) {
  #Glide-about {
    height: 400px;
  }
}

#Glide-about .h1,
#Glide-about p,
#Glide-about .divider,
#Glide-about .header__secondary {
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

#Glide-about .h1 {
  width: 100%;
  padding: 0 3.125rem;
  margin-bottom: 0;
  font-size: 1.375rem;
  text-align: center;
  color: #505050;
}

@media (min-width: 500px) {
  #Glide-about .h1 {
    width: auto;
    padding-left: 3.75rem;
    padding-right: 0;
    margin-bottom: 0.625rem;
    text-align: left;
  }
}

@media (min-width: 700px) {
  #Glide-about .h1 {
    font-size: 2.125rem;
  }
}

@media (min-width: 960px) {
  #Glide-about .h1 {
    padding-left: 5rem;
    font-size: 2.25rem;
  }
}

@media (min-width: 1200px) {
  #Glide-about .h1 {
    font-size: 3.625rem;
  }
}

#Glide-about p {
  max-width: 700px;
  padding-left: 0;
  margin-bottom: 0;
  text-align: left;
  display: none;
  visibility: hidden;
  color: #505050;
}

@media (min-width: 500px) {
  #Glide-about p {
    padding-left: 3.75rem;
  }
}

@media (min-width: 960px) {
  #Glide-about p {
    padding-left: 5rem;
    display: block;
    visibility: visible;
    font-size: 1.125rem;
    line-height: 1.875rem;
  }
}

#Glide-about .divider {
  display: none;
  visibility: hidden;
  margin-left: 5rem;
  margin-bottom: 0;
}

@media (min-width: 960px) {
  #Glide-about .divider {
    display: block;
    visibility: visible;
  }
}

#Glide-about .header__secondary {
  width: 100%;
  padding: 0 3.125rem;
  font-size: 0.875rem;
  color: #cc4b00;
}

@media (min-width: 500px) {
  #Glide-about .header__secondary {
    padding-left: 3.75rem;
    padding-right: 0;
    text-align: left;
    padding-bottom: 0.625rem;
  }
}

@media (min-width: 700px) {
  #Glide-about .header__secondary {
    font-size: 1rem;
  }
}

@media (min-width: 960px) {
  #Glide-about .header__secondary {
    padding-left: 5rem;
  }
}

#Glide-about.glide--horizontal .glide__arrows {
  margin-left: 0;
  width: 100%;
}

#Glide-about.glide--horizontal .glide__arrow.prev {
  left: 15px;
}

#Glide-about.glide--horizontal .glide__arrow.next {
  right: 15px;
}

#Glide-about .glide__slide-wrapper {
  position: relative;
  overflow: hidden;
  border-right: solid 1px #d6d6d6;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  box-align: baseline;
  -webkit-align-items: baseline;
  -moz-align-items: baseline;
  -ms-align-items: baseline;
  -o-align-items: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

#Glide-about .glide__slide {
  background-color: transparent;
}

#Glide-about .glide__slide-image {
  position: absolute;
  right: 0px;
  bottom: 0px;
  width: auto;
  height: auto;
  top: auto;
  left: auto;
  display: none;
}

#Glide-about .glide__slide-image img {
  width: 7.8125rem;
  display: block;
  user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

@media (min-width: 500px) {
  #Glide-about .glide__slide-image {
    display: block;
  }
  #Glide-about .glide__slide-image img {
    width: 14.0625rem;
  }
}

@media (min-width: 700px) {
  #Glide-about .glide__slide-image img {
    width: 16.8125rem;
  }
}

@media (min-width: 960px) {
  #Glide-about .glide__slide-image {
    right: -3.125rem;
  }
  #Glide-about .glide__slide-image img {
    width: 23.125rem;
  }
}

@media (min-width: 1200px) {
  #Glide-about .glide__slide-image {
    right: 0;
  }
  #Glide-about .glide__slide-image img {
    width: 29.4375rem;
  }
}

@media (min-width: 2200px) {
  #Glide-about .glide__slide-image {
    right: 0;
  }
  #Glide-about .glide__slide-image img {
    width: auto;
  }
}

.info-box--alt {
  background-color: #f1f1f0;
  padding: 2.5rem 1.875rem 1.875rem 1.875rem;
  border-top: solid 10px #cc4b00;
}

.info-box__title {
  font-size: 1.75rem;
  color: #505050;
  margin-bottom: 1.25rem;
}

.downloads {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -moz-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch;
  -o-align-items: stretch;
  align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
}

@media (min-width: 700px) {
  .downloads {
    -webkit-box-pack: center;
    -moz-box-pack: center;
    box-pack: center;
    -webkit-justify-content: space-around;
    -moz-justify-content: space-around;
    -ms-justify-content: space-around;
    -o-justify-content: space-around;
    justify-content: space-around;
    -ms-flex-pack: center;
  }
}

.downloads__block {
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  -webkit-flex: 0 1 auto;
  -moz-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  width: 100%;
  margin-bottom: 3.0625rem;
  padding: 0 0.625rem;
}

@media (min-width: 700px) {
  .downloads__block {
    width: 50%;
  }
}

@media (min-width: 960px) {
  .downloads__block {
    width: 33.33333%;
  }
}

.downloads__block img {
  width: 100%;
}

.downloads__link {
  position: relative;
  margin-bottom: 0.625rem;
}

.downloads__link:hover:before {
  opacity: .8;
}

.downloads__link:hover:after {
  opacity: 1;
  top: 50%;
}

.downloads__link:before {
  background-color: #cc4b00;
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 10;
  opacity: 0;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.downloads__link:after {
  opacity: 0;
  color: #ffffff;
  font-size: 3.125rem;
  font-family: 'FSiconakron';
  content: '\e93a';
  position: absolute;
  top: 45%;
  left: 50%;
  width: auto;
  height: auto;
  margin-top: -1.5625rem;
  margin-left: -1.5625rem;
  z-index: 20;
  background-color: transparent;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), top 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), top 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), top 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (min-width: 1200px) {
  .downloads__link:after {
    font-size: 4.375rem;
    margin-top: -2.125rem;
    margin-left: -2.125rem;
  }
}

.downloads__title {
  font-size: 1.5rem;
  color: #505050;
  padding-bottom: 0.4375rem;
}

.downloads__size {
  font-size: 1rem;
  color: #505050;
}

.downloads__links a {
  margin: 0 0.625rem;
  white-space: nowrap;
}

.downloads__links a:hover {
  text-decoration: underline;
}

.faq-block {
  margin-bottom: 1.875rem;
  border-bottom: solid 1px #d6d6d6;
}

.faq-block:last-child {
  border-bottom: none;
}

@media (min-width: 960px) {
  .has-sidebar-right {
    margin-right: 1.875rem;
    padding-right: 1.875rem;
    border-right: solid 1px #d6d6d6;
  }
}

.press-block {
  border-bottom: solid 1px #d6d6d6;
  margin-bottom: 1.875rem;
}

.press-block__date {
  color: #fdb913;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: bold;
  margin-bottom: 0.625rem;
}

.press-block__text {
  padding-bottom: 1.25rem;
}

.press-block--alt {
  background-color: #f1f1f0;
  border-bottom: none;
  padding: 1.875rem;
}

.select-filter {
  display: inline-block;
  background-color: #ffffff;
  padding: 0 0 0 1.875rem;
}

.select-filter__title {
  font-size: 0.875rem;
  font-weight: bold;
  padding-right: 1.25rem;
  color: #505050;
}

.select-filter__select {
  position: relative;
  display: inline-block;
  margin-right: 0.625rem;
}

.select-filter__select:last-child {
  margin-right: 0;
}

.select-filter__select:after {
  font-family: 'FSiconakron' !important;
  content: '\e903';
  position: absolute;
  top: 0.625rem;
  right: 0.3125rem;
  color: #fdb913;
  font-size: 0.625rem;
  z-index: 10;
}

.select-filter select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  border-radius: 0;
  background-color: transparent;
  border: none;
  border-left: solid 1px #d6d6d6;
  border-bottom: solid 1px #d6d6d6;
  width: 7.8125rem;
  outline: none;
  padding: 0.3125rem 0.625rem 0.625rem 0.625rem;
  font-family: "Open Sans", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 0.875rem;
  color: #505050;
  position: relative;
  z-index: 20;
}

.select-filter .btn {
  display: inline-block;
  padding: 0.6875rem 1.5rem;
  text-transform: uppercase;
}

.panel {
  height: 100% !important;
  width: 100% !important;
  padding-bottom: 3.75rem;
  background-color: #ffffff;
}

#panel-indicator {
  width: 100% !important;
  background-color: #505050;
  z-index: 40;
  box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.8);
}

#panel-indicator .container {
  position: relative;
}

.panel-indicator__title {
  display: none;
  visibility: hidden;
}

@media (min-width: 700px) {
  .panel-indicator__title {
    visibility: visible;
    font-size: 1.125rem;
    color: #ffffff;
    font-family: "ITC Lubalin Graph W01";
    height: 100%;
    position: absolute;
    left: 15px;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    box-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    -o-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: start;
  }
}

@media (min-width: 960px) {
  .panel-indicator__title {
    font-size: 1.375rem;
    line-height: 2.25rem;
  }
}

.panel-indicator__dots {
  padding: 1.6875rem 0;
  text-align: center;
  opacity: 0;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.dots-on .panel-indicator__dots {
  opacity: 1;
}

.panel-indicator__dot {
  height: 20px;
  width: 20px;
  display: inline-block;
  vertical-align: middle;
  border-radius: 50%;
  margin: 0 0.3125rem;
  border: solid 2px #fdb913;
  background-color: transparent;
  cursor: pointer;
  position: relative;
  -webkit-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.panel-indicator__dot:first-child {
  margin-left: 0;
}

.panel-indicator__dot:last-child {
  margin-right: 0;
}

.panel-indicator__dot.active {
  background-color: #fdb913;
}

.panel-indicator__dot.active:before {
  width: 27px;
}

.panel-indicator__dot:before {
  position: absolute;
  width: 0px;
  height: 6px;
  top: 50%;
  margin-top: -3px;
  left: -28px;
  content: '';
  background-color: #fdb913;
  -webkit-transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: width 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.panel-indicator__dot:first-child:before {
  display: none;
}

@media (min-width: 500px) {
  .panel-indicator__dot {
    margin: 0 0.625rem;
  }
}

@media (min-width: 500px) {
  .hero-inline--mobile {
    display: none;
    visibility: hidden;
  }
}

.hero-inline--desktop {
  display: none;
  visibility: hidden;
}

@media (min-width: 500px) {
  .hero-inline--desktop {
    display: block;
    visibility: visible;
  }
}

#panel-05 img {
  padding-bottom: 1.875rem;
}

#panel-07 .blockquote {
  margin-top: 0;
}

#panel-08 img {
  padding-top: 1.25rem;
}

#panel-08 .h1 {
  padding-top: 1.875rem;
}

.word-cloud {
  font-family: "ITC Lubalin Graph W01";
  font-size: 1.375rem;
  font-weight: 300;
  line-height: 2.125rem;
  color: #ababab;
}

@media (min-width: 960px) {
  .word-cloud {
    font-size: 1.75rem;
    line-height: 2.75rem;
  }
}

.word-cloud__bullet {
  font-size: 1rem;
}

#map {
  width: 100%;
  height: 100%;
}

.fs-address {
  font-size: 1.25rem;
  line-height: 1.75rem;
  padding-bottom: 0;
  margin-bottom: 0;
}

@media (min-width: 960px) {
  .fs-address {
    font-size: 1.5rem;
    line-height: 2.125rem;
  }
}

#Glide-home .glide__bullets {
  position: relative;
  top: -16.375rem;
  left: 0.9375rem;
  margin: 0 auto;
  width: 100%;
}

#Glide-home .glide__bullet {
  display: block;
  margin-bottom: 0.625rem;
}

#Glide-home .block {
  border-left: solid 1px #ffffff;
  margin-top: -0.5rem;
  margin-left: 2.375rem;
  padding-bottom: 1.25rem;
}

#Glide-home .h1 {
  text-align: left;
  font-size: 2.375rem;
  margin-bottom: 0;
  display: block;
  padding-left: 1.25rem;
}

#Glide-home p {
  text-align: left;
  display: none;
}

#Glide-home a {
  color: #fdb913;
  padding-left: 1.25rem;
  text-transform: uppercase;
  display: block;
}

#Glide-home a:hover, #Glide-home a:focus {
  text-decoration: underline;
}

#Glide-home a i {
  font-size: 0.875rem;
  margin-left: 0.625rem;
  padding-bottom: 0.1875rem;
}

#Glide-home .glide__slide-wrapper .container {
  display: block;
  padding-top: 2.8125rem;
}

@media (min-width: 500px) {
  #Glide-home .glide__bullets {
    top: -18.1875rem;
  }
}

@media (min-width: 700px) {
  #Glide-home .glide__bullets {
    top: -28.8125rem;
  }
  #Glide-home .h1 {
    display: inline-block;
  }
}

@media (min-width: 960px) {
  #Glide-home .glide__bullets {
    width: 100%;
    top: -28.0625rem;
  }
  #Glide-home .block {
    margin-top: 0.375rem;
  }
  #Glide-home .h1 {
    font-size: 3.25rem;
    padding-left: 1.25rem;
  }
  #Glide-home p {
    display: block;
    font-size: 1rem;
    max-width: 37.5rem;
    line-height: 1.5rem;
    padding-left: 1.25rem;
  }
}

@media (min-width: 1200px) {
  #Glide-home .glide__bullets {
    top: -33.6875rem;
    width: 1200px;
  }
  #Glide-home .block {
    margin-top: 1rem;
    margin-left: 2.9375rem;
  }
  #Glide-home .h1 {
    padding-left: 1.875rem;
  }
  #Glide-home p {
    padding-left: 1.875rem;
  }
  #Glide-home a {
    padding-left: 1.875rem;
  }
}

@media (min-width: 2200px) {
  #Glide-home .glide__bullets {
    top: -54.3125rem;
    width: 1600px;
  }
}

@media (min-height: 650px) and (min-width: 1200px) {
  #Glide-home {
    height: 600px;
  }
  #Glide-home .glide__bullets {
    top: -33.6875rem;
  }
}

@media (min-height: 1000px) and (min-width: 1200px) {
  #Glide-home {
    height: 800px;
  }
  #Glide-home .glide__bullets {
    top: -46.25rem;
  }
}

@media (min-height: 1200px) and (min-width: 1200px) {
  #Glide-home {
    height: 850px;
  }
  #Glide-home .glide__bullets {
    top: -49.25rem;
  }
}

#Glide-home #slide-01 .glide__slide-image {
  background-image: url("../../assets/src/img/home/slide-01-mobile.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

@media (min-width: 700px) {
  #Glide-home #slide-01 .glide__slide-image {
    background-image: url("../../assets/src/img/home/slide-01.jpg");
  }
}

#Glide-home #slide-02 .glide__slide-image {
  background-image: url("../../assets/src/img/home/slide-02-mobile.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

@media (min-width: 700px) {
  #Glide-home #slide-02 .glide__slide-image {
    background-image: url("../../assets/src/img/home/slide-02.jpg");
  }
}

#Glide-home #slide-03 .glide__slide-image {
  background-image: url("../../assets/src/img/home/slide-03-mobile.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

@media (min-width: 700px) {
  #Glide-home #slide-03 .glide__slide-image {
    background-image: url("../../assets/src/img/home/slide-03.jpg");
  }
}

#Glide-home #slide-04 .glide__slide-image {
  background-image: url("../../assets/src/img/home/slide-04-mobile.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

@media (min-width: 700px) {
  #Glide-home #slide-04 .glide__slide-image {
    background-image: url("../../assets/src/img/home/slide-04.jpg");
  }
}

#Glide-home #slide-hof-08 .glide__slide-image {
  background-image: url("../../assets/src/img/home/slide-hof-08-mobile.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

@media (min-width: 700px) {
  #Glide-home #slide-hof-08 .glide__slide-image {
    background-image: url("../../assets/src/img/home/slide-hof-08.jpg");
  }
}

.home-angle-tek {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  opacity: .5;
}

.home {
  position: relative;
  padding-bottom: 0;
}

@media (min-width: 960px) {
  .home {
    padding-top: 6.3125rem;
  }
}

.home-explore {
  width: 100%;
  position: relative;
  z-index: 10;
}

.home-explore .container {
  padding: 0;
}

.home-explore button {
  background-color: transparent;
  border: none;
  outline: none;
}

@media (min-width: 700px) {
  .home-explore {
    top: -10rem;
    height: 10rem;
    margin-bottom: -10rem;
  }
}

@media (min-width: 960px) {
  .home-explore {
    top: -10rem;
    height: 10rem;
    margin-bottom: -10rem;
  }
}

@media (min-width: 1200px) {
  .home-explore {
    top: -11.4375rem;
    height: 11.4375rem;
    margin-bottom: -11.4375rem;
  }
}

.home-explore__title {
  color: #505050;
  font-size: 1.25rem;
  font-family: "ITC Lubalin Graph W01";
  padding-bottom: 1.875rem;
  text-align: center;
  display: none;
}

@media (min-width: 700px) {
  .home-explore__title {
    color: #ffffff;
    display: block;
  }
}

@media (min-width: 960px) {
  .home-explore__title {
    font-size: 1.5rem;
  }
}

.home-explore__title--mobile {
  display: block;
  width: 100%;
  position: absolute;
  bottom: 0px;
  padding: 0 1.25rem 1.25rem 1.25rem;
  color: #ffffff;
  font-size: 1rem;
  text-align: center;
  z-index: 10;
}

@media (min-width: 700px) {
  .home-explore__title--mobile {
    display: none;
  }
}

.home-explore__icons {
  width: inherit;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

@media (min-width: 700px) {
  .home-explore__icons {
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    flex-flow: row nowrap;
  }
}

.home-explore__icon-block {
  width: 100%;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 1 auto;
  -moz-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

@media (min-width: 700px) {
  .home-explore__icon-block {
    width: 12.5%;
  }
}

button.home-explore__icon-container {
  display: block;
  width: 100%;
  text-align: left;
  padding: 1.25rem 0.9375rem;
  color: #505050;
  border-bottom: solid 1px #d6d6d6;
  position: static;
  cursor: pointer;
  text-transform: uppercase;
}

button.home-explore__icon-container:hover i.home-explore__icon, button.home-explore__icon-container:focus i.home-explore__icon {
  color: #fdb913;
}

button.home-explore__icon-container:hover .home-explore__icon-label, button.home-explore__icon-container:focus .home-explore__icon-label {
  color: #fdb913;
}

@media (min-width: 700px) {
  button.home-explore__icon-container {
    text-align: center;
    color: #ffffff;
    margin-bottom: 0.625rem;
    padding: 0 0.625rem;
    border-bottom: none;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    box-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    -o-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: start;
    -webkit-flex-flow: column nowrap;
    -moz-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
  }
}

.active button.home-explore__icon-container i.home-explore__icon {
  color: #fdb913;
}

.active button.home-explore__icon-container .home-explore__icon-label {
  color: #fdb913;
}

i.home-explore__icon {
  font-size: 3.75rem;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.9375rem;
  color: #fdb913;
  -webkit-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (min-width: 500px) {
  i.home-explore__icon {
    font-size: 5rem;
  }
}

@media (min-width: 700px) {
  i.home-explore__icon {
    font-size: 3.125rem;
    display: block;
    margin-right: 0;
    padding-bottom: 0.625rem;
    color: #ffffff;
  }
}

@media (min-width: 1200px) {
  i.home-explore__icon {
    font-size: 3.75rem;
  }
}

.home-explore__icon-label {
  color: #505050;
  font-size: 0.9375rem;
  display: inline-block;
  vertical-align: middle;
  -webkit-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (min-width: 500px) {
  .home-explore__icon-label {
    font-size: 1.25rem;
  }
}

@media (min-width: 700px) {
  .home-explore__icon-label {
    display: block;
    color: #ffffff;
    font-size: 0.625rem;
  }
}

@media (min-width: 1200px) {
  .home-explore__icon-label {
    font-size: 0.8125rem;
  }
}

.home-explore__dropdown {
  display: block;
  overflow: hidden;
  height: 0px;
  background-color: #505050;
  -webkit-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

@media (min-width: 700px) {
  .home-explore__dropdown {
    position: absolute;
    left: 0px;
    bottom: -254px;
    width: 100%;
    height: 254px;
    background-color: transparent;
    visibility: hidden;
  }
}

.active .home-explore__dropdown {
  height: 254px;
}

@media (min-width: 700px) {
  .active .home-explore__dropdown {
    z-index: 40;
    visibility: visible;
  }
}

.home-explore-desktop-expand {
  display: none;
  visibility: hidden;
}

@media (min-width: 700px) {
  .home-explore-desktop-expand {
    display: block;
    visibility: visible;
    height: 0px;
    overflow: hidden;
    background-color: #505050;
    box-shadow: inset 0px 0px 8px rgba(0, 0, 0, 0.5);
  }
}

.home-explore__dropdown-outer {
  border: solid 1px #ffffff;
  padding: 0.9375rem;
  margin: 0.9375rem;
  opacity: 0;
  color: #ffffff;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.home-explore__dropdown-outer a {
  font-size: 0.875rem;
  color: #ffffff;
}

.home-explore__dropdown-outer a:hover {
  color: #fdb913;
  text-decoration: underline;
}

.home-explore__dropdown-outer p {
  color: #ffffff;
  font-weight: bold;
}

.home-explore__dropdown-outer ul li {
  display: block;
  margin-right: 0;
  margin-bottom: 0.625rem;
}

@media (min-width: 700px) {
  .home-explore__dropdown-outer {
    padding: 1.25rem;
  }
  .home-explore__dropdown-outer ul li {
    display: inline-block;
    margin-right: 1.25rem;
    margin-bottom: 0.625rem;
  }
}

@media (min-width: 960px) {
  .home-explore__dropdown-outer {
    padding: 1.875rem;
    padding-bottom: 0.625rem;
  }
  .home-explore__dropdown-outer a {
    font-size: 1rem;
  }
  .home-explore__dropdown-outer ul li {
    display: inline-block;
    margin-right: 1.875rem;
    margin-bottom: 0.9375rem;
  }
}

.active .home-explore__dropdown-outer {
  opacity: 1;
}

#explore-button-01.active .home-explore__dropdown {
  height: 290px;
}

@media (min-width: 700px) {
  #explore-button-01.active .home-explore__dropdown {
    height: 254px;
  }
}

#explore-button-02.active .home-explore__dropdown {
  height: 320px;
}

@media (min-width: 700px) {
  #explore-button-02.active .home-explore__dropdown {
    height: 254px;
  }
}

#explore-button-03.active .home-explore__dropdown {
  height: 290px;
}

@media (min-width: 700px) {
  #explore-button-03.active .home-explore__dropdown {
    height: 254px;
  }
}

#explore-button-04.active .home-explore__dropdown {
  height: 210px;
}

@media (min-width: 700px) {
  #explore-button-04.active .home-explore__dropdown {
    height: 254px;
  }
}

#explore-button-05.active .home-explore__dropdown {
  height: 310px;
}

@media (min-width: 700px) {
  #explore-button-05.active .home-explore__dropdown {
    height: 254px;
  }
}

#explore-button-06.active .home-explore__dropdown {
  height: 480px;
}

@media (min-width: 700px) {
  #explore-button-06.active .home-explore__dropdown {
    height: 254px;
  }
}

#explore-button-07.active .home-explore__dropdown {
  height: 450px;
}

@media (min-width: 700px) {
  #explore-button-07.active .home-explore__dropdown {
    height: 254px;
  }
}

#explore-button-08.active .home-explore__dropdown {
  height: 210px;
}

@media (min-width: 700px) {
  #explore-button-08.active .home-explore__dropdown {
    height: 254px;
  }
}

#blog_highlights .container .grid-row:nth-child(2n) .grid-8 {
  display: block !important;
  visibility: visible !important;
}

.current-search-phrase {
  position: relative;
  padding: 2.8125rem 2.625rem;
  margin-bottom: 2.5rem;
  font-size: 1.125rem;
  background-color: #f1f1f0;
  border: solid 1px #d6d6d6;
  color: #505050;
}

.current-search-phrase:after {
  font-family: 'FSiconakron';
  content: '\e901';
  position: absolute;
  right: 2.625rem;
  top: 50%;
  margin-top: -0.375rem;
  font-size: 0.75rem;
  cursor: pointer;
  opacity: 1;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.current-search-phrase:hover:after,
.current-search-phrase:focus:after {
  opacity: .5;
}

.search-result {
  padding-bottom: 1.875rem;
  margin-bottom: 1.875rem;
  border-bottom: solid 1px #d6d6d6;
}

.search-result + .previous-next {
  border-top: none;
  padding-top: 0;
}

#social-icons-connect {
  text-align: center;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -moz-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

@media (min-width: 700px) {
  #social-icons-connect {
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
  }
}

#social-icons-connect .social-icons-connect__container {
  margin-left: 0.3125rem;
  margin-right: 0.3125rem;
  margin-bottom: 0.625rem;
}

@media (min-width: 700px) {
  #social-icons-connect .social-icons-connect__container {
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    margin-bottom: 1.25rem;
  }
}

@media (min-width: 960px) {
  #social-icons-connect .social-icons-connect__container {
    font-size: 70px;
    margin-left: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 1.875rem;
  }
}

@media (min-width: 1200px) {
  #social-icons-connect .social-icons-connect__container {
    margin-left: 1.25rem;
    margin-right: 1.25rem;
    margin-bottom: 2.5rem;
  }
}

#social-icons-connect i {
  font-size: 3.75rem;
  margin-bottom: 0.625rem;
  cursor: pointer;
  -webkit-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (min-width: 960px) {
  #social-icons-connect i {
    font-size: 70px;
  }
}

@media (min-width: 1200px) {
  #social-icons-connect i {
    font-size: 90px;
  }
}

#social-icons-connect i.fs-facebook {
  color: #d6d6d6;
}

#social-icons-connect i.fs-facebook:hover, #social-icons-connect i.fs-facebook:focus {
  color: #3b5998;
}

#social-icons-connect i.fs-youtube-alt2 {
  color: #d6d6d6;
}

#social-icons-connect i.fs-youtube-alt2:hover, #social-icons-connect i.fs-youtube-alt2:focus {
  color: #cc181e;
}

#social-icons-connect i.fs-twitter {
  color: #d6d6d6;
}

#social-icons-connect i.fs-twitter:hover, #social-icons-connect i.fs-twitter:focus {
  color: #00aced;
}

#social-icons-connect i.fs-instagram {
  color: #d6d6d6;
}

#social-icons-connect i.fs-instagram:hover, #social-icons-connect i.fs-instagram:focus {
  color: #ed4956;
}

#social-icons-connect i.fs-linkedin {
  color: #d6d6d6;
}

#social-icons-connect i.fs-linkedin:hover, #social-icons-connect i.fs-linkedin:focus {
  color: #008cc9;
}

#social-icons-connect i.fs-snapchat {
  color: #d6d6d6;
}

#social-icons-connect i.fs-snapchat:hover, #social-icons-connect i.fs-snapchat:focus {
  color: #FFFC00;
}

#social-icons-connect i.fs-tumblr {
  color: #d6d6d6;
}

#social-icons-connect i.fs-tumblr:hover, #social-icons-connect i.fs-tumblr:focus {
  color: #37465d;
}

#social-icons-connect i.fs-pinterest {
  color: #d6d6d6;
}

#social-icons-connect i.fs-pinterest:hover, #social-icons-connect i.fs-pinterest:focus {
  color: #be2026;
}

.blog-highlight {
  position: relative;
  display: block;
  margin-bottom: 1.875rem;
}

.blog-highlight:hover, .blog-highlight:focus {
  cursor: pointer;
}

.blog-highlight:hover .blog-highlight__title, .blog-highlight:focus .blog-highlight__title {
  background-color: #ffffff;
  color: #cc4b00;
}

.blog-highlight__title-container {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end;
  -o-justify-content: flex-end;
  justify-content: flex-end;
  -ms-flex-pack: end;
}

.blog-highlight__title {
  padding: 0.625rem 1.25rem;
  margin-bottom: 1.25rem;
  max-width: 80%;
  text-align: center;
  font-size: 0.875rem;
  background-color: rgba(0, 0, 0, 0.8);
  color: #ffffff;
  border: solid 1px #ffffff;
  -webkit-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (min-width: 960px) {
  .blog-highlight__title {
    padding: 1.25rem 2.5rem;
    font-size: 1rem;
  }
}

.request-info .fixed-cta {
  display: none;
}

@media (min-width: 500px) {
  .request-info .fixed-cta {
    display: block;
  }
}

.request-info footer {
  margin-bottom: 0;
}

.request-info-thankyou .fixed-cta {
  display: none;
}

#iframe_form_request-info {
  height: 1470px;
  width: 100%;
  border: none;
}

@media (min-width: 400px) {
  #iframe_form_request-info {
    height: 1360px;
  }
}

@media (min-width: 500px) {
  #iframe_form_request-info {
    height: 1250px;
  }
}

@media (min-width: 700px) {
  #iframe_form_request-info {
    height: 1640px;
  }
}

@media (min-width: 960px) {
  #iframe_form_request-info {
    height: 1460px;
  }
}

@media (min-width: 1200px) {
  #iframe_form_request-info {
    height: 1360px;
  }
}

@media (min-width: 2200px) {
  #iframe_form_request-info {
    height: 1260px;
  }
}

.award img {
  display: none;
  visibility: hidden;
}

@media (min-width: 700px) {
  .award img {
    display: block;
    visibility: visible;
    margin-left: 20px;
    padding-top: 80px;
    max-width: 261px;
  }
}

.hof-credits {
  background-color: #f1f1f0;
  text-align: center;
}

.hof-credits__title {
  font-size: 1.125rem;
  color: #454545;
  text-transform: uppercase;
  padding-bottom: 1.25rem;
}

@media (min-width: 960px) {
  .hof-credits__title {
    padding-bottom: 1.875rem;
  }
}

.hof-credits .word-cloud {
  color: #454545;
}

#home-inductee .item:first-child {
  margin-right: 5px;
}

#home-inductee .item:last-child {
  margin-left: 5px;
}

.home-inductee__credits {
  font-size: 16px;
  text-align: left;
  margin-top: 10px;
  margin-bottom: 10px;
}

@media (min-width: 700px) {
  .home-inductee__credits {
    font-size: 18px;
    margin-top: 26px;
  }
}

.home-inductee__cta {
  font-size: 16px;
  text-align: left;
  font-weight: bold;
}

@media (min-width: 700px) {
  .home-inductee__cta {
    font-size: 18px;
  }
}

.hof-feature {
  padding: 40px 0;
  background-color: #1C355E;
  background-image: url("/assets/src/img/hall-of-fame/home-bg.jpg");
  background-position: 15%;
  background-repeat: no-repeat;
  background-size: cover;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

@media (min-width: 700px) {
  .hof-feature {
    padding: 60px 0;
    background-attachment: fixed;
  }
}

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

.hof-feature__content img {
  display: inline-block;
  width: auto;
}

@media (min-width: 400px) {
  .hof-feature__content img {
    width: auto;
  }
}

.hof-feature h2 {
  color: #f7941e;
  font-size: 30px;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-top: 60px;
  text-shadow: 1px 1px 1px #000;
}

.hof-feature p {
  color: #505050;
  font-size: 16px;
  line-height: 22px;
  max-width: 900px;
  margin: 40px 0 0 0;
  padding: 0 20px;
}

@media (min-width: 700px) {
  .hof-feature p {
    font-size: 22px;
    line-height: 30px;
  }
}

.hof-feature .btn-bar {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

@media (min-width: 960px) {
  .hof-feature .btn-bar {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}

.hof-feature .btn {
  font-size: 14px;
  background-color: #1C355E;
  color: #ffffff;
  padding: 10px 30px;
  display: inline-block;
  text-decoration: none;
  font-weight: 600;
  text-align: center;
  border: solid 2px #ffffff;
  text-shadow: none;
  -webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hof-feature .btn:hover, .hof-feature .btn:active, .hof-feature .btn:focus {
  background-color: #cc4b00;
  border-color: #cc4b00;
}

.hash-bar {
  background-color: #0e2643;
  text-align: center;
  color: #ffffff;
  padding: 30px 0px;
  font-size: 18px;
}

@media (min-width: 700px) {
  .hash-bar {
    padding: 60px 0;
    font-size: 22px;
  }
}

.youtube-player {
  position: relative;
  padding-bottom: 56.23%;
  /* Use 75% for 4:3 videos */
  height: 0;
  overflow: hidden;
  max-width: 100%;
  background: #000;
}

.youtube-player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  background: transparent;
}

.youtube-player img {
  bottom: 0;
  display: block;
  left: 0;
  margin: auto;
  max-width: 100%;
  width: 100%;
  position: absolute;
  right: 0;
  top: 0;
  border: none;
  height: auto;
  cursor: pointer;
  -webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.youtube-player:hover img {
  -webkit-filter: brightness(75%);
  filter: brightness(75%);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}

.youtube-player .play {
  height: 72px;
  width: 72px;
  left: 50%;
  top: 50%;
  margin-left: -36px;
  margin-top: -36px;
  position: absolute;
  background: url("//i.imgur.com/TxzC70f.png") no-repeat;
  cursor: pointer;
}

.filter--inductees .filter__panel {
  min-width: 15rem;
}

.filter--inductees .filter-list-block {
  border-bottom: none;
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
  padding-bottom: 1.25rem;
}

@media (min-width: 1200px) {
  .filter--inductees .filter-list-block {
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    padding-bottom: 1.875rem;
  }
}

@media (min-width: 960px) {
  .filter--inductees .filter-list-block__image {
    max-width: 433px;
  }
}

.filter--inductees .filter-list-block .h3 {
  font-weight: 300;
  padding-top: 0.625rem;
}

@media (min-width: 960px) {
  .filter--inductees .filter-list-block .h3 {
    padding-top: 0;
  }
}

.filter--inductees .inductee-title {
  color: #505050;
  font-weight: bold;
}

.filter--inductees .inductee-content {
  font-style: italic;
}

.filter--inductees .grid-view .filter-list-block {
  display: block;
}

.filter--inductees .grid-view .filter-list-block__copy {
  padding-left: 0;
}

.filter--inductees .grid-view .filter-list-block__copy .h3 {
  font-size: 1.25rem;
  margin-top: 0.625rem;
}

.filter--inductees .grid-view .filter-list-block__copy .h4,
.filter--inductees .grid-view .filter-list-block__copy .inductee-title,
.filter--inductees .grid-view .filter-list-block__copy .inductee-content,
.filter--inductees .grid-view .filter-list-block__copy .disclaimer {
  display: none;
}

@media (min-width: 500px) {
  .filter--inductees .grid-view {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -moz-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: start;
    -moz-box-align: start;
    box-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    -o-align-items: flex-start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    box-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    -o-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: start;
  }
  .filter--inductees .grid-view .filter-list-block {
    padding: 0.4375rem;
    width: 50%;
  }
}

@media (min-width: 960px) {
  .filter--inductees .grid-view .filter-list-block {
    width: 33.33333%;
  }
}

.toggle-view {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: start;
}

.toggle-view li {
  padding: 0 1.25rem;
  border-right: solid 1px #d6d6d6;
}

.toggle-view li:first-child {
  padding-left: 0;
}

.toggle-view li:last-child {
  padding-right: 0;
  border-right: none;
}

.toggle-view .btn {
  font-weight: normal;
}

.toggle-view a {
  color: #505050;
  display: block;
}

.toggle-view i {
  padding-right: 0.625rem;
  font-size: 1.5rem;
}

.toggle-view .active i {
  color: #fdb913;
}

.toggle-view li:hover i {
  color: #fdb913;
}

.hof-sponsors {
  background-color: #f1f1f0;
}

.hof-sponsors__title {
  font-size: 1.75rem;
  font-weight: 300;
  font-family: "ITC Lubalin Graph W01";
  text-align: center;
  color: #505050;
  margin-bottom: 1.25rem;
}

@media (min-width: 960px) {
  .hof-sponsors__title {
    font-size: 2rem;
  }
}

.hof-sponsors__logos {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

.hof-sponsors__logo img {
  display: block;
  width: 100%;
  padding: 0.3125rem;
}

.hall-of-fame .overview-video {
  margin: 1.25rem 0;
}

.inductee-credit-block {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
}

.sailee {
  position: relative;
  width: 92px;
  margin: 1.875rem 0;
}

.sailee__icon {
  font-size: 180px;
  color: #ababab;
}

.sailee__number {
  position: absolute;
  bottom: 12px;
  left: 50%;
  width: 50px;
  height: 50px;
  margin-left: -25px;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  color: #ababab;
  padding-left: 4px;
}

.inductee-credit-block__text {
  padding-left: 1.875rem;
}

.hall-of-fame .epic-quote {
  margin: 1.875rem 0;
}

.explore-cta {
  margin: 1.875rem 0 3.75rem 0;
}

.explore-cta__image img {
  width: 100%;
  height: auto;
}

.explore-cta__content {
  position: relative;
}

.explore-cta__title {
  position: absolute;
  bottom: 0px;
  border: solid 3px #cc4b00;
  border-bottom: none;
  width: 90%;
  margin: 0 5%;
  padding: 0.9375rem;
  color: #ffffff;
  font-weight: normal;
  font-size: 1.5rem;
}

@media (min-width: 500px) {
  .explore-cta__title {
    font-size: 1.875rem;
  }
}

@media (min-width: 700px) {
  .explore-cta__title {
    font-size: 0.9375rem;
    font-weight: bold;
  }
}

@media (min-width: 960px) {
  .explore-cta__title {
    font-size: 1.5rem;
    font-weight: 200;
  }
}

@media (min-width: 1200px) {
  .explore-cta__title {
    font-size: 1.875rem;
  }
}

.explore-cta__link {
  position: absolute;
  border: solid 3px #cc4b00;
  border-top: none;
  width: 90%;
  margin: 0 5%;
  padding: 0.9375rem;
  font-size: 0.875rem;
  text-decoration: underline;
  color: #505050;
}

@media (min-width: 960px) {
  .explore-cta__link {
    font-size: 1rem;
  }
}

.hof-event-photos__img img {
  display: block;
  width: 100%;
  margin-bottom: 1.25rem;
}

.hof-inductee-grid {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -moz-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

@media (min-width: 960px) {
  .hof-inductee-grid {
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
  }
}

.hof-inductee-grid__block {
  width: -webkit-calc(50% - 0.625rem);
  width: calc(50% - 0.625rem);
  margin-bottom: 1.25rem;
}

@media (min-width: 700px) {
  .hof-inductee-grid__block {
    width: -webkit-calc(33.33333% - 0.625rem);
    width: calc(33.33333% - 0.625rem);
  }
}

@media (min-width: 960px) {
  .hof-inductee-grid__block {
    width: -webkit-calc(16.66666% - 1.25rem);
    width: calc(16.66666% - 1.25rem);
  }
}

.hof-inductee-grid__photo {
  width: 100%;
}

.hof-inductee-grid__name {
  display: block;
  margin: 0.625rem 0;
}

/* This is to fix the height issues out of the box since we are using images as backgrounds */
.glide {
  height: 18.75rem;
  -webkit-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
  -moz-transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
  transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
}

@media (min-width: 500px) {
  .glide {
    height: 20.625rem;
  }
}

@media (min-width: 700px) {
  .glide {
    height: 31.25rem;
  }
}

@media (min-width: 1200px) {
  .glide {
    height: 37.5rem;
  }
}

@media (min-width: 2200px) {
  .glide {
    height: 50rem;
  }
}

.glide__wrapper {
  height: inherit;
}

.glide__slide {
  height: inherit;
  background-color: #000000;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.glide__slide-wrapper {
  height: inherit;
}

.glide__slide-wrapper .container {
  position: relative;
  height: inherit;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column wrap;
  -moz-flex-flow: column wrap;
  flex-flow: column wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

.glide__slide-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s;
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s;
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s;
}

.glide .h1,
.glide .header__secondary {
  text-align: center;
  padding: 0 1.875rem;
  color: #ffffff;
  z-index: 10;
  opacity: 0;
  -webkit-transform: scale(2);
  -moz-transform: scale(2);
  -ms-transform: scale(2);
  -o-transform: scale(2);
  transform: scale(2);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s, opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s;
  -moz-transition: -moz-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s, opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s;
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s, opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s;
}

.glide p {
  text-align: center;
  color: #ffffff;
  z-index: 10;
  opacity: 0;
  font-size: 0.875rem;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s;
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s;
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s;
}

@media (min-width: 700px) {
  .glide p {
    font-size: 1.375rem;
    line-height: 2.125rem;
  }
}

.glide .divider {
  z-index: 10;
  opacity: 0;
  -webkit-transform: scale(1.5) translateY(30px);
  -moz-transform: scale(1.5) translateY(30px);
  -ms-transform: scale(1.5) translateY(30px);
  -o-transform: scale(1.5) translateY(30px);
  transform: scale(1.5) translateY(30px);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s, opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
  -moz-transition: -moz-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s, opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s, opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
}

.glide a {
  opacity: 0;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
  -moz-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
}

.glide--with-content .glide__slide.active .glide__slide-image {
  opacity: .5;
}

.glide--with-content .glide__slide.active .h1,
.glide--with-content .glide__slide.active .header__secondary {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.glide--with-content .glide__slide.active p {
  opacity: 1;
}

.glide--with-content .glide__slide.active .divider {
  -webkit-transform: scale(1) translateY(0px);
  -moz-transform: scale(1) translateY(0px);
  -ms-transform: scale(1) translateY(0px);
  -o-transform: scale(1) translateY(0px);
  transform: scale(1) translateY(0px);
  opacity: 1;
}

.glide--with-content .glide__slide.active a {
  opacity: 1;
}

.glide--horizontal .glide__bullets {
  bottom: 20%;
}

.glide__bullet {
  background-color: transparent;
  border-color: #ffffff;
  border-width: 1px;
}

.glide__bullet.active {
  background-color: #fdb913;
  border-color: #fdb913;
  border-width: 1px;
}

.glide__bullet:hover {
  border-color: #fdb913;
  background-color: #fdb913;
  border-width: 1px;
  border-color: #fdb913;
}

.glide__bullet:focus {
  border-color: #fdb913;
  border-width: 1px;
}

.glide--horizontal .glide__arrow {
  border: none;
  font-size: 40px;
  padding: 0;
  color: #fdb913;
}

.glide--horizontal .glide__arrow:hover {
  color: #fed778;
}

.owl-theme .owl-controls .owl-page span {
  background-color: #d6d6d6;
}

.owl-theme .owl-controls .owl-page.active span, .owl-theme .owl-controls.clickable .owl-page:hover span {
  background-color: #fdb913;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCJfYnJlYWtwb2ludC5zY3NzIiwiYnJlYWtwb2ludC9fc2V0dGluZ3Muc2NzcyIsImJyZWFrcG9pbnQvX2NvbnRleHQuc2NzcyIsImJyZWFrcG9pbnQvX2hlbHBlcnMuc2NzcyIsImJyZWFrcG9pbnQvX3BhcnNlcnMuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9fcXVlcnkuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9fc2luZ2xlLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvc2luZ2xlL19kZWZhdWx0LnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvX2RvdWJsZS5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZGVmYXVsdC1wYWlyLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvZG91YmxlL19kb3VibGUtc3RyaW5nLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvZG91YmxlL19kZWZhdWx0LnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvX3RyaXBsZS5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL3RyaXBsZS9fZGVmYXVsdC5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL19yZXNvbHV0aW9uLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvcmVzb2x1dGlvbi9fcmVzb2x1dGlvbi5zY3NzIiwiYnJlYWtwb2ludC9fbm8tcXVlcnkuc2NzcyIsImJyZWFrcG9pbnQvX3Jlc3BvbmQtdG8uc2NzcyIsImJyZWFrcG9pbnQvX2xlZ2FjeS1zZXR0aW5ncy5zY3NzIiwiYm91cmJvbi9fYm91cmJvbi5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fcHJlZml4ZXIuc2NzcyIsImJvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCJib3VyYm9uL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9faXMtbnVtLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1hcmctcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmVuZGVyLWdyYWRpZW50cy5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19hc3NpZ24uc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19jb2xvci1saWdodG5lc3Muc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19mbGV4LWdyaWQuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19nb2xkZW4tcmF0aW8uc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19ncmlkLXdpZHRoLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL190aW50LXNoYWRlLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLCJib3VyYm9uL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwiYm91cmJvbi9jc3MzL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib3VyYm9uL2NzczMvX2JveC1zaXppbmcuc2NzcyIsImJvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwiYm91cmJvbi9jc3MzL19jb2x1bW5zLnNjc3MiLCJib3VyYm9uL2NzczMvX2ZpbHRlci5zY3NzIiwiYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwiYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsImJvdXJib24vY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLCJib3VyYm9uL2NzczMvX2h5cGhlbnMuc2NzcyIsImJvdXJib24vY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsImJvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJib3VyYm9uL2NzczMvX2tleWZyYW1lcy5zY3NzIiwiYm91cmJvbi9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsImJvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsImJvdXJib24vY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLCJib3VyYm9uL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwiYm91cmJvbi9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCJib3VyYm9uL2NzczMvX3VzZXItc2VsZWN0LnNjc3MiLCJib3VyYm9uL2NzczMvX3BsYWNlaG9sZGVyLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYnV0dG9uLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsImJvdXJib24vYWRkb25zL19kaXJlY3Rpb25hbC12YWx1ZXMuc2NzcyIsImJvdXJib24vYWRkb25zL19lbGxpcHNpcy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2ZvbnQtZmFtaWx5LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9faHRtbDUtaW5wdXQtdHlwZXMuc2NzcyIsImJvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RpbWluZy1mdW5jdGlvbnMuc2NzcyIsImJvdXJib24vYWRkb25zL190cmlhbmdsZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwiYm91cmJvbi9fYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIl9nbG9iYWwuc2NzcyIsImNvbW1vbi9fdHlwb2dyYXBoeS5zY3NzIiwiY29tbW9uL19pY29ucy5zY3NzIiwiY29tbW9uL19sb2dvLnNjc3MiLCJjb21tb24vX3ByaW1hcnktbmF2LnNjc3MiLCJjb21tb24vX2Nsb3NlLXN1cmZhY2Uuc2NzcyIsImNvbW1vbi9fYnV0dG9ucy5zY3NzIiwiY29tbW9uL19saWdodGJveC5zY3NzIiwiY29tbW9uL19mb3JtLnNjc3MiLCJjb21tb24vX2N0YS5zY3NzIiwiY29tbW9uL19hbmdsZS10ZWsuc2NzcyIsImNvbW1vbi9fZmVlZC1ibG9jay5zY3NzIiwiY29tbW9uL190b2dnbGVzLnNjc3MiLCJjb21tb24vX292ZXJ2aWV3LnNjc3MiLCJjb21tb24vX2hlcm8uc2NzcyIsImNvbW1vbi9fZnVsbHNhaWwtYWR2YW50YWdlLnNjc3MiLCJjb21tb24vX3NsYXNoLWhlYWRpbmcuc2NzcyIsImNvbW1vbi9faGVhZGVyLnNjc3MiLCJjb21tb24vX3NpdGUtc2VhcmNoLnNjc3MiLCJjb21tb24vX2ZpeGVkLWN0YS5zY3NzIiwiY29tbW9uL19kaXZpZGVycy5zY3NzIiwiY29tbW9uL19pbWFnZS1mYWRlci5zY3NzIiwiY29tbW9uL19zZWN0aW9ucy5zY3NzIiwiY29tbW9uL19maWx0ZXIuc2NzcyIsImNvbW1vbi9fYXZhdGFyLnNjc3MiLCJjb21tb24vX3ByZXZpb3VzLW5leHQuc2NzcyIsImhlbHBlcnMvX2lubGluZS1saXN0LnNjc3MiLCJoZWxwZXJzL19mbHVpZC1pbWFnZXMuc2NzcyIsImhlbHBlcnMvX2hpZGUuc2NzcyIsImhlbHBlcnMvX2ZsZXhvcmJveC5zY3NzIiwiaGVscGVycy9fZGlzYWJsZWQuc2NzcyIsImhlbHBlcnMvX3NtYWxsLWRldmljZS5zY3NzIiwibGF5b3V0L19jb250YWluZXIuc2NzcyIsImxheW91dC9fYmxvY2suc2NzcyIsImxheW91dC9fd3JhcHBlci5zY3NzIiwibGF5b3V0L19tZXRhYmFyLnNjc3MiLCJsYXlvdXQvX3RvcGJhci5zY3NzIiwibGF5b3V0L190aGUtcGl0LnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwibGF5b3V0L19ncmlkLW8tdHJvbi5zY3NzIiwidW5jb21tb24vaGFsb3MvX2Jhc2Uuc2NzcyIsInVuY29tbW9uL2hhbG9zL19oYWxvLnNjc3MiLCJ1bmNvbW1vbi9oYWxvcy9faGVhZGVyLnNjc3MiLCJ1bmNvbW1vbi9oYWxvcy9fZGVncmVlLWxpc3Quc2NzcyIsInVuY29tbW9uL2hhbG9zL19kZWdyZWUtYmxvY2suc2NzcyIsInVuY29tbW9uL2hhbG9zL19yZWxhdGVkLWJsb2NrLnNjc3MiLCJ1bmNvbW1vbi9wcm9ncmFtcy9fYmFzZS5zY3NzIiwidW5jb21tb24vcHJvZ3JhbXMvX3Byb2dyYW1zLnNjc3MiLCJ1bmNvbW1vbi9wcm9ncmFtcy9fbGF1bmNoLWJveC5zY3NzIiwidW5jb21tb24vcHJvZ3JhbXMvX2NvdXJzZS1zY2hlZHVsZS5zY3NzIiwidW5jb21tb24vcHJvZ3JhbXMvX2NvdXJzZS1kZXRhaWwuc2NzcyIsInVuY29tbW9uL2FkbWlzc2lvbnMvX2Jhc2Uuc2NzcyIsInVuY29tbW9uL2FkbWlzc2lvbnMvX292ZXJ2aWV3LnNjc3MiLCJ1bmNvbW1vbi9hZG1pc3Npb25zL190dWl0aW9uLnNjc3MiLCJ1bmNvbW1vbi9hZG1pc3Npb25zL19zY2hvbGFyc2hpcHMuc2NzcyIsInVuY29tbW9uL2FkbWlzc2lvbnMvX3RpbWVyLnNjc3MiLCJ1bmNvbW1vbi9hZG1pc3Npb25zL19leHBsb3JlLnNjc3MiLCJ1bmNvbW1vbi9zdHlsZS1ndWlkZS9fYmFzZS5zY3NzIiwidW5jb21tb24vY2FtcHVzLW9ubGluZS9fYmFzZS5zY3NzIiwidW5jb21tb24vY2FtcHVzLW9ubGluZS9fZG90cy5zY3NzIiwidW5jb21tb24vY2FtcHVzLW9ubGluZS9fY2FtcHVzLnNjc3MiLCJ1bmNvbW1vbi9jYW1wdXMtb25saW5lL19vdXItY2FtcHVzLnNjc3MiLCJ1bmNvbW1vbi9jYW1wdXMtb25saW5lL19sZWFybmluZy1vbmxpbmUuc2NzcyIsInVuY29tbW9uL2Fib3V0L19iYXNlLnNjc3MiLCJ1bmNvbW1vbi9hYm91dC9fYWJvdXQuc2NzcyIsInVuY29tbW9uL2Fib3V0L19yZXNvdXJjZXMuc2NzcyIsInVuY29tbW9uL2Fib3V0L19mYXEuc2NzcyIsInVuY29tbW9uL2Fib3V0L19wcmVzcy1yb29tLnNjc3MiLCJ1bmNvbW1vbi93ZXJlLWRpZmZlcmVudC9fYmFzZS5zY3NzIiwidW5jb21tb24vd2VyZS1kaWZmZXJlbnQvX3dlcmUtZGlmZmVyZW50LnNjc3MiLCJ1bmNvbW1vbi9jb250YWN0L19iYXNlLnNjc3MiLCJ1bmNvbW1vbi9jb250YWN0L19jb250YWN0LnNjc3MiLCJ1bmNvbW1vbi9ob21lL19iYXNlLnNjc3MiLCJ1bmNvbW1vbi9ob21lL19ob21lLnNjc3MiLCJ1bmNvbW1vbi9zZWFyY2gtcmVzdWx0cy9fYmFzZS5zY3NzIiwidW5jb21tb24vc2VhcmNoLXJlc3VsdHMvX3NlYXJjaC1yZXN1bHRzLnNjc3MiLCJ1bmNvbW1vbi9jb25uZWN0L19iYXNlLnNjc3MiLCJ1bmNvbW1vbi9jb25uZWN0L19jb25uZWN0LnNjc3MiLCJ1bmNvbW1vbi9yZXF1ZXN0LWluZm8vX2Jhc2Uuc2NzcyIsInVuY29tbW9uL3JlcXVlc3QtaW5mby9fcmVxdWVzdC1pbmZvLnNjc3MiLCJ1bmNvbW1vbi9oYWxsLW9mLWZhbWUvX2Jhc2Uuc2NzcyIsInVuY29tbW9uL2hhbGwtb2YtZmFtZS9faG9tZS5zY3NzIiwidW5jb21tb24vaGFsbC1vZi1mYW1lL19pbmR1Y3RlZXMuc2NzcyIsInZlbmRvci1vdmVycmlkZXMvX2dsaWRlLnNjc3MiLCJ2ZW5kb3Itb3ZlcnJpZGVzL19vd2wuc2NzcyIsInRlbXAvX2Jhc2Uuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gU0NTUyBJTVBPUlRTXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWRU5ET1Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcImJyZWFrcG9pbnRcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2JvdXJib25cIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0VUVElOR1Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcInNldHRpbmdzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTU1PTlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0IFwiY29tbW9uL3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJjb21tb24vaWNvbnNcIjtcbkBpbXBvcnQgXCJjb21tb24vbG9nb1wiO1xuQGltcG9ydCBcImNvbW1vbi9wcmltYXJ5LW5hdlwiO1xuQGltcG9ydCBcImNvbW1vbi9jbG9zZS1zdXJmYWNlXCI7XG5AaW1wb3J0IFwiY29tbW9uL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21tb24vbGlnaHRib3hcIjtcbkBpbXBvcnQgXCJjb21tb24vZm9ybVwiO1xuQGltcG9ydCBcImNvbW1vbi9jdGFcIjtcbkBpbXBvcnQgXCJjb21tb24vYW5nbGUtdGVrXCI7XG5AaW1wb3J0IFwiY29tbW9uL2ZlZWQtYmxvY2tcIjtcbkBpbXBvcnQgXCJjb21tb24vdG9nZ2xlc1wiO1xuQGltcG9ydCBcImNvbW1vbi9vdmVydmlld1wiO1xuQGltcG9ydCBcImNvbW1vbi9oZXJvXCI7XG5AaW1wb3J0IFwiY29tbW9uL2Z1bGxzYWlsLWFkdmFudGFnZVwiO1xuQGltcG9ydCBcImNvbW1vbi9zbGFzaC1oZWFkaW5nXCI7XG5AaW1wb3J0IFwiY29tbW9uL2hlYWRlclwiO1xuQGltcG9ydCBcImNvbW1vbi9zaXRlLXNlYXJjaFwiO1xuQGltcG9ydCBcImNvbW1vbi9maXhlZC1jdGFcIjtcbkBpbXBvcnQgXCJjb21tb24vZGl2aWRlcnNcIjtcbkBpbXBvcnQgXCJjb21tb24vaW1hZ2UtZmFkZXJcIjtcbkBpbXBvcnQgXCJjb21tb24vc2VjdGlvbnNcIjtcbkBpbXBvcnQgXCJjb21tb24vZmlsdGVyXCI7XG5AaW1wb3J0IFwiY29tbW9uL2F2YXRhclwiO1xuQGltcG9ydCBcImNvbW1vbi9wcmV2aW91cy1uZXh0XCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhFTFBFUlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcImhlbHBlcnMvaW5saW5lLWxpc3RcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2ZsdWlkLWltYWdlc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvaGlkZVwiO1xuQGltcG9ydCBcImhlbHBlcnMvZmxleG9yYm94XCI7XG5AaW1wb3J0IFwiaGVscGVycy9kaXNhYmxlZFwiO1xuQGltcG9ydCBcImhlbHBlcnMvc21hbGwtZGV2aWNlXCI7XG4vLyBAaW1wb3J0IFwiaGVscGVycy9kZXYtdG9vbHNcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTEFZT1VUXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgXCJsYXlvdXQvY29udGFpbmVyXCI7XG5AaW1wb3J0IFwibGF5b3V0L2Jsb2NrXCI7XG5AaW1wb3J0IFwibGF5b3V0L3dyYXBwZXJcIjtcbkBpbXBvcnQgXCJsYXlvdXQvbWV0YWJhclwiO1xuQGltcG9ydCBcImxheW91dC90b3BiYXJcIjtcbkBpbXBvcnQgXCJsYXlvdXQvdGhlLXBpdFwiO1xuQGltcG9ydCBcImxheW91dC9mb290ZXJcIjtcbkBpbXBvcnQgXCJsYXlvdXQvZ3JpZC1vLXRyb25cIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVU5DT01NT05cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcInVuY29tbW9uL2hhbG9zL2Jhc2VcIjtcbkBpbXBvcnQgXCJ1bmNvbW1vbi9wcm9ncmFtcy9iYXNlXCI7XG5AaW1wb3J0IFwidW5jb21tb24vYWRtaXNzaW9ucy9iYXNlXCI7XG5AaW1wb3J0IFwidW5jb21tb24vc3R5bGUtZ3VpZGUvYmFzZVwiO1xuQGltcG9ydCBcInVuY29tbW9uL2NhbXB1cy1vbmxpbmUvYmFzZVwiO1xuQGltcG9ydCBcInVuY29tbW9uL2Fib3V0L2Jhc2VcIjtcbkBpbXBvcnQgXCJ1bmNvbW1vbi93ZXJlLWRpZmZlcmVudC9iYXNlXCI7XG5AaW1wb3J0IFwidW5jb21tb24vY29udGFjdC9iYXNlXCI7XG5AaW1wb3J0IFwidW5jb21tb24vaG9tZS9iYXNlXCI7XG5AaW1wb3J0IFwidW5jb21tb24vc2VhcmNoLXJlc3VsdHMvYmFzZVwiO1xuQGltcG9ydCBcInVuY29tbW9uL2Nvbm5lY3QvYmFzZVwiO1xuQGltcG9ydCBcInVuY29tbW9uL3JlcXVlc3QtaW5mby9iYXNlXCI7XG5AaW1wb3J0IFwidW5jb21tb24vaGFsbC1vZi1mYW1lL2Jhc2VcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVkVORE9SIE9WRVJSSURFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0IFwidmVuZG9yLW92ZXJyaWRlcy9nbGlkZVwiO1xuQGltcG9ydCBcInZlbmRvci1vdmVycmlkZXMvb3dsXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRFTVBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSWYgeW91IGFyZSBub3QgYSBkZXNpZ24gZW5naW5lZXIgcGxhY2UgeW91ciBjc3MgaGVyZSB0byBiZSBpbnRlZ3JhdGVkXG5AaW1wb3J0IFwidGVtcC9iYXNlXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENIQVQgTElWRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVc2UgdGhpcyBwYXJ0aWFsIHRvIGNvbXBpbGUgdGhlIGNzcyBmaWxlIHRoYXQgaXMgdXBsb2FkZWQgdG8gU2FsZXNmb3JjZVxuLy8gUmVzb3VyY2VzIGZvciB0aGUgQ2hhdCBMaXZlIFBvcHVwXG5cbi8vIEBpbXBvcnQgXCJjb21tb24vY2hhdC1saXZlXCI7XG5cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGFzIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaGFzKCRzZXR0aW5nKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludCwgJHNldHRpbmcpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZXQgU2V0dGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCRzZXR0aW5nKSB7XG4gIEBpZiBicmVha3BvaW50LWhhcygkc2V0dGluZykge1xuICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludCwgJHNldHRpbmcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJEJyZWFrcG9pbnQtU2V0dGluZ3MsICRzZXR0aW5nKTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNldCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaWYgKHN0ci1pbmRleCgkc2V0dGluZywgJy0nKSBvciBzdHItaW5kZXgoJHNldHRpbmcsICdfJykpIGFuZCBzdHItaW5kZXgoJHNldHRpbmcsICcgJykgPT0gbnVsbCB7XG4gICAgQHdhcm4gXCJXb3JkcyBpbiBCcmVha3BvaW50IHNldHRpbmdzIHNob3VsZCBiZSBzZXBhcmF0ZWQgYnkgc3BhY2VzLCBub3QgZGFzaGVzIG9yIHVuZGVyc2NvcmVzLiBQbGVhc2UgcmVwbGFjZSBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzIGJldHdlZW4gd29yZHMgd2l0aCBzcGFjZXMuIFNldHRpbmdzIHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0ZWQgdW50aWwgY2hhbmdlZC5cIjtcbiAgfVxuICAkYnJlYWtwb2ludDogbWFwLW1lcmdlKCRicmVha3BvaW50LCAoJHNldHRpbmc6ICR2YWx1ZSkpICFnbG9iYWw7XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgJGJyZWFrcG9pbnQtY2hhbmdlOiBicmVha3BvaW50LXNldCgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbkBtaXhpbiBia3B0LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuQG1peGluIGJrcHQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVtb3ZlIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAxIHtcbiAgICAkc2V0dGluZ3M6IG50aCgkc2V0dGluZ3MsIDEpO1xuICB9XG5cbiAgQGVhY2ggJHNldHRpbmcgaW4gJHNldHRpbmdzIHtcbiAgICAkYnJlYWtwb2ludDogbWFwLXJlbW92ZSgkYnJlYWtwb2ludCwgJHNldHRpbmcpICFnbG9iYWw7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgJGJyZWFrcG9pbnQtcmVzZXQ6IGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzKTtcbn1cblxuQG1peGluIGJrcHQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gICRicmVha3BvaW50LXJlc2V0OiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncyk7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIEJyZWFrcG9pbnQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpO1xuJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEhhcyBDb250ZXh0XG4vLyBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHlvdSBhcmUgaW5zaWRlIGEgQnJlYWtwb2ludCBxdWVyeVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIHtcbiAgQGlmIGxlbmd0aCgkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50KSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBHZXQgQ29udGV4dFxuLy8gJGZlYXR1cmU6IElucHV0IGZlYXR1cmUgdG8gZ2V0IGl0J3MgY3VycmVudCBNUSBjb250ZXh0LiBSZXR1cm5zIGZhbHNlIGlmIG5vIGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGZlYXR1cmUpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKSB7XG4gICAgJGdldDogbWFwLWdldCgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSk7XG4gICAgLy8gU3BlY2lhbCBoYW5kbGluZyBvZiBuby1xdWVyeSBmcm9tIGdldCBzaWRlIHNvIC9mYWxzZS8gcHJlcGVuZHMgYXJlbid0IHJldHVybmVkXG4gICAgQGlmICRmZWF0dXJlID09ICduby1xdWVyeScge1xuICAgICAgQGlmIHR5cGUtb2YoJGdldCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJGdldCkgPiAxIGFuZCBudGgoJGdldCwgMSkgPT0gZmFsc2Uge1xuICAgICAgICAkZ2V0OiBudGgoJGdldCwgbGVuZ3RoKCRnZXQpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkZ2V0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIGFuZCAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgIEByZXR1cm4gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHNldCBjb250ZXh0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSkge1xuICBAaWYgJHZhbHVlID09ICdtb25vY2hyb21lJyB7XG4gICAgJGZlYXR1cmU6ICdtb25vY2hyb21lJztcbiAgfVxuXG4gICRjdXJyZW50OiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgQGlmICRjdXJyZW50IGFuZCBsZW5ndGgoJGN1cnJlbnQpID09ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgIEB3YXJuIFwiWW91IGhhdmUgYWxyZWFkeSBxdWVyaWVkIGFnYWluc3QgYCN7JGZlYXR1cmV9YC4gVW5leHBlY3RlZCB0aGluZ3MgbWF5IGhhcHBlbiBpZiB5b3UgcXVlcnkgYWdhaW5zdCB0aGUgc2FtZSBmZWF0dXJlIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIGBhbmRgIHF1ZXJ5LiBCcmVha3BvaW50IGlzIG92ZXJ3cml0aW5nIHRoZSBjdXJyZW50IGNvbnRleHQgd2l0aCBgI3skdmFsdWV9YFwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSkge1xuICAgICR2LWhvbGRlcjogKCk7XG4gICAgQGZvciAkaSBmcm9tIDEgdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHYtaG9sZGVyOiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHYtaG9sZGVyKTtcbiAgICBAZm9yICRpIGZyb20gJGxlbmd0aCB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IC0gMSB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHJlc2V0IGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cyB7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWdsb2JhbDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbnZlcnRzIHRoZSBpbnB1dCB2YWx1ZSB0byBCYXNlIEVNc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSkge1xuICAkdmFsdWUtdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIC8vIFdpbGwgY29udmVydCByZWxhdGl2ZSBFTXMgaW50byByb290IEVNcy5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpIGFuZCB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKSA9PSAnbnVtYmVyJyBhbmQgJHZhbHVlLXVuaXQgPT0gJ2VtJyB7XG4gICAgJGJhc2UtdW5pdDogdW5pdChicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSk7XG5cbiAgICBAaWYgJGJhc2UtdW5pdCA9PSAncHgnIG9yICRiYXNlLXVuaXQgPT0gJyUnIG9yICRiYXNlLXVuaXQgPT0gJ2VtJyBvciAkYmFzZS11bml0ID09ICdwdCcge1xuICAgICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKSAvIGJhc2UtY29udmVyc2lvbihicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSkgKiAxZW07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICcje2JyZWFrcG9pbnQtZ2V0KFxcJ2Jhc2UgZm9udCBzaXplXFwnKX0gaXMgbm90IHNldCBpbiB2YWxpZCB1bml0cyBmb3IgZm9udCBzaXplISc7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gYmFzZS1jb252ZXJzaW9uKCR2YWx1ZSkge1xuICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIEBpZiAkdW5pdCA9PSAncHgnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDE2cHggKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJyUnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDEwMCUgKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ2VtJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ3B0JyB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAxMnB0ICogMWVtO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbi8vICAgIEB3YXJuICdFdmVyeXRoaW5nIGlzIHRlcnJpYmxlISBXaGF0IGhhdmUgeW91IGRvbmU/ISc7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIGhhdmUgYSBtaW4vbWF4IHBhaXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWluLW1heC1mZWF0dXJlczogJ2NvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvci1pbmRleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtaGVpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2Utd2lkdGgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9ub2Nocm9tZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzb2x1dGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4tbWF4KCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LW1pbi1tYXgtZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGNhbiBoYXZlIGEgc3RyaW5nIHZhbHVlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXN0cmluZy1mZWF0dXJlczogICdvcmllbnRhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLWFzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbHVtaW5vc2l0eSc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXN0cmluZy12YWx1ZSgkZmVhdHVyZSkge1xuICBAZWFjaCAkaXRlbSBpbiAkYnJlYWtwb2ludC1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiBicmVha3BvaW50LW1pbi1tYXgoJGl0ZW0pIHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWluLSN7JGl0ZW19JyBvciAkZmVhdHVyZSA9PSAnbWF4LSN7JGl0ZW19JyB7XG4gICAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGZlYXR1cmUgPT0gJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBpcyBhIG1lZGlhIHR5cGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWVkaWEtdHlwZXM6ICAnYWxsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JyYWlsbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnZW1ib3NzZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnaGFuZGhlbGQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJpbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvamVjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdzY3JlZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnc3BlZWNoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R0eScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICd0dic7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLW1lZGlhKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRtZWRpYSBpbiAkYnJlYWtwb2ludC1tZWRpYS10eXBlcyB7XG4gICAgQGlmICgkZmVhdHVyZSA9PSAkbWVkaWEpIG9yICgkZmVhdHVyZSA9PSAnbm90ICN7JG1lZGlhfScpIG9yICgkZmVhdHVyZSA9PSAnb25seSAjeyRtZWRpYX0nKSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIHN0YW5kIGFsb25lXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXM6ICdjb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3ItaW5kZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dyaWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vbm9jaHJvbWUnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLXJlc29sdXRpb24oJGZlYXR1cmUpIHtcbiAgJHJlc29sdXRpb25zOiAnZGV2aWNlLXBpeGVsLXJhdGlvJywgJ2Rwcic7XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSB7XG4gICAgJHJlc29sdXRpb25zOiBhcHBlbmQoJHJlc29sdXRpb25zLCAncmVzb2x1dGlvbicpO1xuICB9XG5cbiAgQGVhY2ggJHJlc28gaW4gJHJlc29sdXRpb25zIHtcbiAgICBAaWYgaW5kZXgoJGZlYXR1cmUsICRyZXNvKSBvciBpbmRleCgkZmVhdHVyZSwgJ21pbi0jeyRyZXNvfScpIG9yIGluZGV4KCRmZWF0dXJlLCAnbWF4LSN7JHJlc299Jykge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQYXJzZXIgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJwYXJzZXJzL3F1ZXJ5XCI7XG5AaW1wb3J0IFwicGFyc2Vycy9zaW5nbGVcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL2RvdWJsZVwiO1xuQGltcG9ydCBcInBhcnNlcnMvdHJpcGxlXCI7XG5AaW1wb3J0IFwicGFyc2Vycy9yZXNvbHV0aW9uXCI7XG5cbiRNZW1vLUV4aXN0czogZnVuY3Rpb24tZXhpc3RzKG1lbW8tZ2V0KSBhbmQgZnVuY3Rpb24tZXhpc3RzKG1lbW8tc2V0KTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50KCRxdWVyeSwgJGNvbnRleHRzLi4uKSB7XG4gICRydW46IHRydWU7XG4gICRyZXR1cm46ICgpO1xuXG4gIC8vIEdyYWIgdGhlIE1lbW8gT3V0cHV0IGlmIE1lbW9pemF0aW9uIGNhbiBiZSBhIHRoaW5nXG4gIEBpZiAkTWVtby1FeGlzdHMge1xuICAgICRyZXR1cm46IG1lbW8tZ2V0KGJyZWFrcG9pbnQsIGJyZWFrcG9pbnQgJHF1ZXJ5ICRjb250ZXh0cyk7XG5cbiAgICBAaWYgJHJldHVybiAhPSBudWxsIHtcbiAgICAgICRydW46IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJE1lbW8tRXhpc3RzIG9yICRydW4ge1xuICAgIC8vIEludGVybmFsIFZhcmlhYmxlc1xuICAgICRxdWVyeS1zdHJpbmc6ICcnO1xuICAgICRxdWVyeS1mYWxsYmFjazogZmFsc2U7XG4gICAgJHJldHVybjogKCk7XG5cbiAgICAvLyBSZXNlcnZlIEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRob2xkZXItY29udGV4dDogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjtcbiAgICAkaG9sZGVyLXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50O1xuXG4gICAgLy8gUmVzZXQgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFnbG9iYWw7XG5cblxuICAgIC8vIFRlc3QgdG8gc2VlIGlmIGl0J3MgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuICAgICRvci1saXN0OiBpZihsaXN0LXNlcGFyYXRvcigkcXVlcnkpID09ICdjb21tYScsIHRydWUsIGZhbHNlKTtcblxuXG4gICAgQGlmICgkb3ItbGlzdCA9PSBmYWxzZSBhbmQgYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSBmYWxzZSkge1xuICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkcXVlcnkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbGVuZ3RoOiBsZW5ndGgoJHF1ZXJ5KTtcblxuICAgICAgJGxhc3Q6IG50aCgkcXVlcnksICRsZW5ndGgpO1xuICAgICAgJHF1ZXJ5LWZhbGxiYWNrOiBicmVha3BvaW50LW5vLXF1ZXJ5KCRsYXN0KTtcblxuICAgICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIHtcbiAgICAgICAgJGxlbmd0aDogJGxlbmd0aCAtIDE7XG4gICAgICB9XG5cbiAgICAgIEBpZiAoYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSB0cnVlKSB7XG4gICAgICAgICRtcTogKCk7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkbXE6IGFwcGVuZCgkbXEsIG50aCgkcXVlcnksICRpKSwgY29tbWEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkbXEpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcXVlcnktc3RyaW5nOiAnJztcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkcXVlcnktc3RyaW5nOiAkcXVlcnktc3RyaW5nICsgaWYoJGkgPT0gMSwgJycsICcsICcpICsgYnJlYWtwb2ludC1wYXJzZShudGgoJHF1ZXJ5LCAkaSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHJldHVybjogKCdxdWVyeSc6ICRxdWVyeS1zdHJpbmcsXG4gICAgICAgICdmYWxsYmFjayc6ICRxdWVyeS1mYWxsYmFjayxcbiAgICAgICAgJ2NvbnRleHQgaG9sZGVyJzogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcixcbiAgICAgICAgJ3F1ZXJ5IGNvdW50JzogJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudFxuICAgICk7XG4gICAgQGlmIGxlbmd0aCgkY29udGV4dHMpID4gMCBhbmQgbnRoKCRjb250ZXh0cywgMSkgIT0gZmFsc2Uge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gICAgICB9XG4gICAgICAkY29udGV4dC1tYXA6ICgpO1xuICAgICAgQGVhY2ggJGNvbnRleHQgaW4gJGNvbnRleHRzIHtcbiAgICAgICAgJGNvbnRleHQtbWFwOiBtYXAtbWVyZ2UoJGNvbnRleHQtbWFwLCAoJGNvbnRleHQ6IGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGNvbnRleHQpKSk7XG4gICAgICB9XG4gICAgICAkcmV0dXJuOiBtYXAtbWVyZ2UoJHJldHVybiwgKGNvbnRleHQ6ICRjb250ZXh0LW1hcCkpO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZ2xvYmFsO1xuXG4gICAgQGlmICRNZW1vLUV4aXN0cyB7XG4gICAgICAkaG9sZGVyOiBtZW1vLXNldChicmVha3BvaW50LCBicmVha3BvaW50ICRxdWVyeSAkY29udGV4dHMsICRyZXR1cm4pO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZW5lcmFsIEJyZWFrcG9pbnQgUGFyc2VyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlKCRxdWVyeSkge1xuICAvLyBJbmNyZWFzZSBudW1iZXIgb2YgJ2FuZCcgcXVlcmllc1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50ICsgMSAhZ2xvYmFsO1xuXG4gIC8vIFNldCB1cCBNZWRpYSBUeXBlXG4gICRxdWVyeS1wcmludDogJyc7XG5cbiAgJGZvcmNlLWFsbDogKChicmVha3BvaW50LWdldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnKSA9PSB0cnVlKSBhbmQgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgPT0gJ2FsbCcpKTtcbiAgJGVtcHR5LW1lZGlhOiB0cnVlO1xuICBAaWYgKCRmb3JjZS1hbGwgPT0gdHJ1ZSkgb3IgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgIT0gJ2FsbCcpIHtcbiAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAkcXVlcnktcHJpbnQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJyk7XG4gICAgJGVtcHR5LW1lZGlhOiBmYWxzZTtcbiAgfVxuXG5cbiAgJHF1ZXJ5LXJlc29sdXRpb246IGZhbHNlO1xuXG4gICRxdWVyeS1ob2xkZXI6IGJyZWFrcG9pbnQtcGFyc2UtcXVlcnkoJHF1ZXJ5KTtcblxuXG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggcGFyc2VkIG91dCBxdWVyeSBhbmQgd3JpdGUgaXQgdG8gJHF1ZXJ5LXByaW50XG4gICRmaXJzdDogdHJ1ZTtcblxuICBAZWFjaCAkZmVhdHVyZSBpbiAkcXVlcnktaG9sZGVyIHtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJGZlYXR1cmUpO1xuXG4gICAgLy8gUGFyc2UgYSBzaW5nbGUgZmVhdHVyZVxuICAgIEBpZiAoJGxlbmd0aCA9PSAxKSB7XG4gICAgICAvLyBGZWF0dXJlIGlzIGN1cnJlbnRseSBhIGxpc3QsIGdyYWIgdGhlIGFjdHVhbCB2YWx1ZVxuICAgICAgJGZlYXR1cmU6IG50aCgkZmVhdHVyZSwgMSk7XG5cbiAgICAgIC8vIE1lZGlhIFR5cGUgbXVzdCBieSBjb252ZW50aW9uIGJlIHRoZSBmaXJzdCBpdGVtLCBzbyBpdCdzIHNhZmUgdG8gZmxhdCBvdmVycmlkZSAkcXVlcnktcHJpbnQsIHdoaWNoIHJpZ2h0IG5vdyBzaG91bGQgb25seSBiZSB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlXG4gICAgICBAaWYgKGJyZWFrcG9pbnQtaXMtbWVkaWEoJGZlYXR1cmUpKSB7XG4gICAgICAgIEBpZiAoJGZvcmNlLWFsbCA9PSB0cnVlKSBvciAoJGZlYXR1cmUgIT0gJ2FsbCcpIHtcbiAgICAgICAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICRmZWF0dXJlO1xuICAgICAgICAgICRlbXB0eS1tZWRpYTogZmFsc2U7XG5cbiAgICAgICAgICAvLyBTZXQgQ29udGV4dFxuICAgICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1lZGlhLCAkcXVlcnktcHJpbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSBkb3VibGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDIpIHtcbiAgICAgIEBpZiAoYnJlYWtwb2ludC1pcy1yZXNvbHV0aW9uKCRmZWF0dXJlKSAhPSBmYWxzZSkge1xuICAgICAgICAkcXVlcnktcmVzb2x1dGlvbjogJGZlYXR1cmU7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IG51bGw7XG4gICAgICAgIC8vIElmIGl0J3MgYSBzdHJpbmcvbnVtYmVyIHBhaXIsXG4gICAgICAgIC8vIHdlIGNoZWNrIHRvIHNlZSBpZiBvbmUgaXMgYSBzaW5nbGUtc3RyaW5nIHZhbHVlLFxuICAgICAgICAvLyB0aGVuIHdlIHBhcnNlIGl0IGFzIGEgbm9ybWFsIGRvdWJsZVxuICAgICAgICAkYWxwaGE6IG50aCgkZmVhdHVyZSwgMSk7XG4gICAgICAgICRiZXRhOiBudGgoJGZlYXR1cmUsIDIpO1xuICAgICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRhbHBoYSkgb3IgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRiZXRhKSB7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGFscGhhLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGJldGEsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSB0cmlwbGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDMpIHtcbiAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgIH1cblxuICB9XG5cbiAgQGlmICgkcXVlcnktcmVzb2x1dGlvbiAhPSBmYWxzZSkge1xuICAgICRxdWVyeS1wcmludDogYnJlYWtwb2ludC1idWlsZC1yZXNvbHV0aW9uKCRxdWVyeS1wcmludCwgJHF1ZXJ5LXJlc29sdXRpb24sICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBlYWNoIGZlYXR1cmUgdGhhdCdzIGJlZW4gZGV0ZWN0ZWQgc28gZmFyIGFuZCBhcHBlbmQgJ2ZhbHNlJyB0byB0aGUgdGhlIHZhbHVlIGxpc3QgdG8gaW5jcmVtZW50IHRoZWlyIGNvdW50ZXJzXG4gIEBlYWNoICRmLCAkdiBpbiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyIHtcbiAgICAkdi1ob2xkZXI6ICR2O1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdi1ob2xkZXIpO1xuICAgIEBpZiBsZW5ndGgoJHYtaG9sZGVyKSA8ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgICAgQGZvciAkaSBmcm9tICRsZW5ndGggdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICAgIEBpZiAkZiA9PSAnbWVkaWEnIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiAkcXVlcnktcHJpbnQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1xdWVyeSgkcXVlcnkpIHtcbiAgLy8gUGFyc2UgZmVhdHVyZXMgb3V0IG9mIGFuIGluZGl2aWR1YWwgcXVlcnlcbiAgJGZlYXR1cmUtaG9sZGVyOiAoKTtcbiAgJHF1ZXJ5LWhvbGRlcjogKCk7XG4gICRsZW5ndGg6IGxlbmd0aCgkcXVlcnkpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgIC8vIElmIHdlJ3ZlIGdvdCBhIHN0cmluZy9udW1iZXIsIG51bWJlci9zdHJpbmcsIGNoZWNrIHRvIHNlZSBpZiBpdCdzIGEgdmFsaWQgc3RyaW5nL251bWJlciBwYWlyIG9yIHR3byBzaW5nbGVzXG4gICAgQGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnc3RyaW5nJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIG9yICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ3N0cmluZycpIHtcblxuICAgICAgJG51bWJlcjogJyc7XG4gICAgICAkdmFsdWU6ICcnO1xuXG4gICAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ3N0cmluZycge1xuICAgICAgICAkbnVtYmVyOiBudGgoJHF1ZXJ5LCAyKTtcbiAgICAgICAgJHZhbHVlOiBudGgoJHF1ZXJ5LCAxKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcjogbnRoKCRxdWVyeSwgMSk7XG4gICAgICAgICR2YWx1ZTogbnRoKCRxdWVyeSwgMik7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgdmFsdWUgY2FuIGJlIGEgc2luZ2xlIHZhbHVlLCBjaGVjayB0byBzZWUgaWYgdGhlIG51bWJlciBwYXNzZWQgaW4gaXMgYSB2YWxpZCBpbnB1dCBmb3Igc2FpZCBzaW5nbGUgdmFsdWUuIEZvcnR1bmF0ZWx5LCBhbGwgY3VycmVudCBzaW5nbGUtdmFsdWUgb3B0aW9ucyBvbmx5IGFjY2VwdCB1bml0bGVzcyBudW1iZXJzLCBzbyB0aGlzIGNoZWNrIGlzIGVhc3kuXG4gICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCR2YWx1ZSkge1xuICAgICAgICBAaWYgdW5pdGxlc3MoJG51bWJlcikge1xuICAgICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCR2YWx1ZSwgJG51bWJlciwgc3BhY2UpO1xuICAgICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgaXMgYSBtZWRpYSB0eXBlLCBzcGxpdCB0aGUgcXVlcnlcbiAgICAgIEBpZiBicmVha3BvaW50LWlzLW1lZGlhKCR2YWx1ZSkge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMSkpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMikpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBJZiBpdCdzIG5vdCBhIHNpbmdsZSBmZWF0dXJlLCB3ZSdyZSBqdXN0IGdvaW5nIHRvIGFzc3VtZSBpdCdzIGEgcHJvcGVyIHN0cmluZy92YWx1ZSBwYWlyLCBhbmQgcm9sbCB3aXRoIGl0LlxuICAgICAgQGVsc2Uge1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZCgkdmFsdWUsICRudW1iZXIsIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLy8gSWYgdGhleSdyZSBib3RoIG51bWJlcnMsIHdlIGFzc3VtZSBpdCdzIGEgZG91YmxlIGFuZCByb2xsIHdpdGggdGhhdFxuICAgIEBlbHNlIGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIHtcbiAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgIH1cbiAgICAvLyBJZiB0aGV5J3JlIGJvdGggc3RyaW5ncyBhbmQgbmVpdGhlciBhcmUgc2luZ2xlcywgd2Ugcm9sbCB3aXRoIHRoYXQuXG4gICAgQGVsc2UgaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHtcbiAgICAvLyBJZiB3ZSd2ZSBnb3QgdGhyZWUgaXRlbXMgYW5kIG5vbmUgaXMgYSBsaXN0LCB3ZSBjaGVjayB0byBzZWVcbiAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgIT0gJ2xpc3QnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSAhPSAnbGlzdCcgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMykpICE9ICdsaXN0JyB7XG4gICAgICAvLyBJZiBub25lIG9mIHRoZSBpdGVtcyBhcmUgc2luZ2xlIHN0cmluZyB2YWx1ZXMgYW5kIG5vbmUgb2YgdGhlIHZhbHVlcyBhcmUgbWVkaWEgdmFsdWVzLCB3ZSdyZSBnb29kLlxuICAgICAgQGlmIChub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDEpKSBhbmQgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMykpKSBhbmQgICgobm90IGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDMpKSkpIHtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCRmZWF0dXJlLWhvbGRlciwgbnRoKCRxdWVyeSwgMyksIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBsZXQncyBjaGVjayB0byBzZWUgaWYgdGhlIGZpcnN0IGl0ZW0gaXMgYSBtZWRpYSB0eXBlXG4gICAgICBAZWxzZSBpZiBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAxKSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDIpLCBudGgoJHF1ZXJ5LCAzKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgaXRlbSwgb3IgaWYgaXQncyBub3QgYSBzcGVjaWFsIGNhc2UgZG91YmxlIG9yIHRyaXBsZSwgd2UgY2FuIHNpbXBseSByZXR1cm4gdGhlIHF1ZXJ5LlxuICBAcmV0dXJuICRxdWVyeTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwic2luZ2xlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgZmVhdHVyZSB0aGF0IGNhbiBzdGFuZCBhbG9uZSwgd2UgbGV0IGl0XG4gIEBpZiAoYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSkge1xuICAgICRwYXJzZWQ6ICRmZWF0dXJlO1xuICAgIC8vIFNldCBDb250ZXh0XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICRmZWF0dXJlKTtcbiAgfVxuICAvLyBJZiBpdCdzIG5vdCBhIHN0YW5kIGFsb25lIGZlYXR1cmUsIHdlIHBhc3MgaXQgb2ZmIHRvIHRoZSBkZWZhdWx0IGhhbmRsZXIuXG4gIEBlbHNlIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpO1xuICB9XG5cbiAgQHJldHVybiAkbGVhZGVyICsgJygnICsgJHBhcnNlZCArICcpJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpIHtcbiAgJGRlZmF1bHQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IGZlYXR1cmUnKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZGVmYXVsdCwgJGZlYXR1cmUpO1xuXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIGFuZCAodHlwZS1vZigkZmVhdHVyZSkgPT0gJ251bWJlcicpIHtcbiAgICBAcmV0dXJuICcjeyRkZWZhdWx0fTogI3ticmVha3BvaW50LXRvLWJhc2UtZW0oJGZlYXR1cmUpfSc7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJyN7JGRlZmF1bHR9OiAjeyRmZWF0dXJlfSc7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHQtcGFpclwiO1xuQGltcG9ydCBcImRvdWJsZS9kb3VibGUtc3RyaW5nXCI7XG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gICRmaXJzdDogbnRoKCRmZWF0dXJlLCAxKTtcbiAgJHNlY29uZDogbnRoKCRmZWF0dXJlLCAyKTtcblxuICAvLyBJZiB3ZSd2ZSBnb3QgdHdvIG51bWJlcnMsIHdlIGtub3cgd2UgbmVlZCB0byB1c2UgdGhlIGRlZmF1bHQgcGFpciBiZWNhdXNlIHRoZXJlIGFyZSBubyBtZWRpYSBxdWVyaWVzIHRoYXQgaGFzIGEgbWVkaWEgZmVhdHVyZSB0aGF0IGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCRmaXJzdCkgPT0gJ251bWJlcicgYW5kIHR5cGUtb2YoJHNlY29uZCkgPT0gJ251bWJlcicge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdC1wYWlyKCRmaXJzdCwgJHNlY29uZCk7XG4gIH1cbiAgLy8gSWYgdGhleSBhcmUgYm90aCBzdHJpbmdzLCB3ZSBzZW5kIGl0IHRocm91Z2ggdGhlIHN0cmluZyBwYXJzZXJcbiAgQGVsc2UgaWYgdHlwZS1vZigkZmlyc3QpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKCRzZWNvbmQpID09ICdzdHJpbmcnIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuICAvLyBJZiBpdCdzIGEgc3RyaW5nL251bWJlciBwYWlyLCB3ZSBwYXJzZSBpdCBhcyBhIG5vcm1hbCBkb3VibGVcbiAgQGVsc2Uge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLWRlZmF1bHQoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxlYWRlciArICRwYXJzZWQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0LXBhaXIoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRkZWZhdWx0OiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBwYWlyJyk7XG4gICRtaW46ICcnO1xuICAkbWF4OiAnJztcblxuICAvLyBTb3J0IGludG8gbWluIGFuZCBtYXhcbiAgJG1pbjogbWluKCRmaXJzdCwgJHNlY29uZCk7XG4gICRtYXg6IG1heCgkZmlyc3QsICRzZWNvbmQpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1pbi0jeyRkZWZhdWx0fSwgJG1pbik7XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1heC0jeyRkZWZhdWx0fSwgJG1heCk7XG5cbiAgLy8gTWFrZSB0aGVtIEVNcyBpZiBuZWVkIGJlXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIHtcbiAgICAkbWluOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1pbik7XG4gICAgJG1heDogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtYXgpO1xuICB9XG5cbiAgQHJldHVybiAnKG1pbi0jeyRkZWZhdWx0fTogI3skbWlufSkgYW5kIChtYXgtI3skZGVmYXVsdH06ICN7JG1heH0pJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRmZWF0dXJlOiAnJztcbiAgJHZhbHVlOiAnJztcblxuICAvLyBUZXN0IHRvIHNlZSB3aGljaCBpcyB0aGUgZmVhdHVyZSBhbmQgd2hpY2ggaXMgdGhlIHZhbHVlXG4gIEBpZiAoYnJlYWtwb2ludC1zdHJpbmctdmFsdWUoJGZpcnN0KSA9PSB0cnVlKSB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2UgaWYgKGJyZWFrcG9pbnQtc3RyaW5nLXZhbHVlKCRzZWNvbmQpID09IHRydWUpIHtcbiAgICAkZmVhdHVyZTogJHNlY29uZDtcbiAgICAkdmFsdWU6ICRmaXJzdDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJOZWl0aGVyICN7JGZpcnN0fSBub3IgI3skc2Vjb25kfSBpcyBhIHZhbGlkIG1lZGlhIHF1ZXJ5IG5hbWUuXCI7XG4gIH1cblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJHZhbHVlKTtcblxuICBAcmV0dXJuICcoI3skZmVhdHVyZX06ICN7JHZhbHVlfSknO1xufSIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1kZWZhdWx0KCRmaXJzdCwgJHNlY29uZCkge1xuICAkZmVhdHVyZTogJyc7XG4gICR2YWx1ZTogJyc7XG5cbiAgQGlmIHR5cGUtb2YoJGZpcnN0KSA9PSAnc3RyaW5nJyB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICRmZWF0dXJlOiAkc2Vjb25kO1xuICAgICR2YWx1ZTogJGZpcnN0O1xuICB9XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSk7XG5cbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkge1xuICAgICR2YWx1ZTogYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSk7XG4gIH1cblxuICBAcmV0dXJuICcoI3skZmVhdHVyZX06ICN7JHZhbHVlfSknXG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInRyaXBsZS9kZWZhdWx0XCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXRyaXBsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJHBhcnNlZDogJyc7XG4gICRsZWFkZXI6ICcnO1xuXG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIHNlcGFyYXRlIHRoZSBzdHJpbmcgZmVhdHVyZXMgZnJvbSB0aGUgdmFsdWUgbnVtYmVyc1xuICAkc3RyaW5nOiBudWxsO1xuICAkbnVtYmVyczogbnVsbDtcbiAgQGVhY2ggJHZhbCBpbiAkZmVhdHVyZSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gc3RyaW5nIHtcbiAgICAgICRzdHJpbmc6ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiB0eXBlLW9mKCRudW1iZXJzKSA9PSAnbnVsbCcge1xuICAgICAgICAkbnVtYmVyczogJHZhbDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcnM6IGFwcGVuZCgkbnVtYmVycywgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkc3RyaW5nLCBudGgoJG51bWJlcnMsIDEpLCBudGgoJG51bWJlcnMsIDIpKTtcblxuICBAcmV0dXJuICRsZWFkZXIgKyAkcGFyc2VkO1xuXG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkZmVhdHVyZSwgJGZpcnN0LCAkc2Vjb25kKSB7XG5cbiAgLy8gU29ydCBpbnRvIG1pbiBhbmQgbWF4XG4gICRtaW46IG1pbigkZmlyc3QsICRzZWNvbmQpO1xuICAkbWF4OiBtYXgoJGZpcnN0LCAkc2Vjb25kKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtaW4tI3skZmVhdHVyZX0sICRtaW4pO1xuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtYXgtI3skZmVhdHVyZX0sICRtYXgpO1xuXG4gIC8vIE1ha2UgdGhlbSBFTXMgaWYgbmVlZCBiZVxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtaW4pO1xuICAgICRtYXg6IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWF4KTtcbiAgfVxuXG4gIEByZXR1cm4gJyhtaW4tI3skZmVhdHVyZX06ICN7JG1pbn0pIGFuZCAobWF4LSN7JGZlYXR1cmV9OiAjeyRtYXh9KSc7XG59XG4iLCJAaW1wb3J0IFwicmVzb2x1dGlvbi9yZXNvbHV0aW9uXCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWJ1aWxkLXJlc29sdXRpb24oJHF1ZXJ5LXByaW50LCAkcXVlcnktcmVzb2x1dGlvbiwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykgYW5kICRxdWVyeS1yZXNvbHV0aW9uIHtcbiAgICAkcmVzb2x1dGlvbnM6IGJyZWFrcG9pbnQtbWFrZS1yZXNvbHV0aW9ucygkcXVlcnktcmVzb2x1dGlvbik7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCRyZXNvbHV0aW9ucyk7XG4gICAgJHF1ZXJ5LWhvbGRlcjogJyc7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgJHF1ZXJ5OiAnI3skcXVlcnktcHJpbnR9ICN7JGxlYWRlcn0je250aCgkcmVzb2x1dGlvbnMsICRpKX0nO1xuICAgICAgQGlmICRpID09IDEge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiAkcXVlcnk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6ICcjeyRxdWVyeS1ob2xkZXJ9LCAjeyRxdWVyeX0nO1xuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmV0dXJuIHdpdGggYXR0YWNoZWQgcmVzb2x1dGlvblxuICAgIEByZXR1cm4gJHF1ZXJ5LXByaW50O1xuICB9XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1tYWtlLXJlc29sdXRpb25zKCRyZXNvbHV0aW9uKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkcmVzb2x1dGlvbik7XG5cbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgJGZlYXR1cmU6ICcnO1xuICAgICR2YWx1ZTogJyc7XG5cbiAgICAvLyBGaW5kIHdoaWNoIGlzIG51bWJlclxuICAgIEBpZiB0eXBlLW9mKG50aCgkcmVzb2x1dGlvbiwgMSkpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogbnRoKCRyZXNvbHV0aW9uLCAxKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHZhbHVlOiBudGgoJHJlc29sdXRpb24sIDIpO1xuICAgIH1cblxuICAgIC8vIERldGVybWluZSBtaW4vbWF4L3N0YW5kYXJkXG4gICAgQGlmIGluZGV4KCRyZXNvbHV0aW9uLCAnbWluLXJlc29sdXRpb24nKSB7XG4gICAgICAkZmVhdHVyZTogJ21pbi0nO1xuICAgIH1cbiAgICBAZWxzZSBpZiBpbmRleCgkcmVzb2x1dGlvbiwgJ21heC1yZXNvbHV0aW9uJykge1xuICAgICAgJGZlYXR1cmU6ICdtYXgtJztcbiAgICB9XG5cbiAgICAkc3RhbmRhcmQ6ICcoI3skZmVhdHVyZX1yZXNvbHV0aW9uOiAjeyR2YWx1ZX0pJztcblxuICAgIC8vIElmIHdlJ3JlIG5vdCBkZWFsaW5nIHdpdGggZHBweCxcbiAgICBAaWYgdW5pdCgkdmFsdWUpICE9ICdkcHB4JyB7XG4gICAgICAkYmFzZTogOTZkcGk7XG4gICAgICBAaWYgdW5pdCgkdmFsdWUpID09ICdkcGNtJyB7XG4gICAgICAgICRiYXNlOiAyNDMuODRkcGNtO1xuICAgICAgfVxuICAgICAgLy8gV3JpdGUgb3V0IGZlYXR1cmUgdGVzdHNcbiAgICAgICR3ZWJraXQ6ICcnO1xuICAgICAgJG1vejogJyc7XG4gICAgICAkd2Via2l0OiAnKC13ZWJraXQtI3skZmVhdHVyZX1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAkbW96OiAnKCN7JGZlYXR1cmV9LW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAvLyBBcHBlbmQgdG8gb3V0cHV0XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHN0YW5kYXJkLCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHdlYmtpdCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRtb3osIHNwYWNlKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogJyc7XG4gICAgICAkbW96OiAnJztcbiAgICAgICR3ZWJraXQ6ICcoLXdlYmtpdC0jeyRmZWF0dXJlfWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRtb3o6ICcoI3skZmVhdHVyZX0tbW96LWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRmYWxsYmFjazogJygjeyRmZWF0dXJlfXJlc29sdXRpb246ICN7JHZhbHVlIC8gMWRwcHggKiA5NmRwaX0pJztcbiAgICAgIC8vIEFwcGVuZCB0byBvdXRwdXRcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkc3RhbmRhcmQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkd2Via2l0LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJG1veiwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRmYWxsYmFjaywgc3BhY2UpO1xuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbm8tcXVlcnkoJHF1ZXJ5KSB7XG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gJ2xpc3QnIHtcbiAgICAka2V5d29yZDogbnRoKCRxdWVyeSwgMSk7XG5cbiAgICBAaWYgdHlwZS1vZigka2V5d29yZCkgPT0gJ3N0cmluZycgYW5kICgka2V5d29yZCA9PSAnbm8tcXVlcnknIG9yICRrZXl3b3JkID09ICdubyBxdWVyeScgb3IgJGtleXdvcmQgPT0gJ2ZhbGxiYWNrJykge1xuICAgICAgQHJldHVybiBudGgoJHF1ZXJ5LCAyKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCB0aGUgQnJlYWtwb2ludHMgdmFyaWFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcbiRCUkVBS1BPSU5UUzogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVzcG9uZC10byBBUEkgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHJlc3BvbmQtdG8oJGNvbnRleHQsICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGlmIGxlbmd0aCgkYnJlYWtwb2ludHMpID4gMCBhbmQgbGVuZ3RoKCRCUkVBS1BPSU5UUykgPT0gMCB7XG4gICAgQHdhcm4gXCJJbiBvcmRlciB0byBhdm9pZCB2YXJpYWJsZSBuYW1lc3BhY2UgY29sbGlzaW9ucywgd2UgaGF2ZSB1cGRhdGVkIHRoZSB3YXkgdG8gYWRkIGJyZWFrcG9pbnRzIGZvciByZXNwb25kLXRvLiBQbGVhc2UgY2hhbmdlIGFsbCBpbnN0YW5jZXMgb2YgYCRicmVha3BvaW50czogYWRkLWJyZWFrcG9pbnQoKWAgdG8gYEBpbmNsdWRlIGFkZC1icmVha3BvaW50KClgLiBUaGUgYGFkZC1icmVha3BvaW50KClgIGZ1bmN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLlwiO1xuICAgICRCUkVBS1BPSU5UUzogJGJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICAgJGJyZWFrcG9pbnRzOiAoKSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJEJSRUFLUE9JTlRTKSAhPSAnbWFwJyB7XG4gICAgLy8gSnVzdCBpbiBjYXNlIHNvbWVvbmUgd3JpdGVzIGdpYmJlcmlzaCB0byB0aGUgJGJyZWFrcG9pbnRzIHZhcmlhYmxlLlxuICAgIEB3YXJuIFwiWW91ciBicmVha3BvaW50cyBhcmVuJ3QgYSBtYXAhIGByZXNwb25kLXRvYCBleHBlY3RzIGEgbWFwLiBQbGVhc2UgY2hlY2sgdGhlIHZhbHVlIG9mICRCUkVBS1BPSU5UUyB2YXJpYWJsZS5cIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRjb250ZXh0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXAtZ2V0KCRCUkVBS1BPSU5UUywgJGNvbnRleHQpLCAkbm8tcXVlcnkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkY29udGV4dCkge1xuICAgIEB3YXJuIFwiYCN7JGNvbnRleHR9YCBpc24ndCBhIGRlZmluZWQgYnJlYWtwb2ludCEgUGxlYXNlIGFkZCBpdCB1c2luZyBgJGJyZWFrcG9pbnRzOiBhZGQtYnJlYWtwb2ludChgI3skY29udGV4dH1gLCAkdmFsdWUpO2BcIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJZb3UgaGF2ZW4ndCBjcmVhdGVkIGFueSBicmVha3BvaW50cyB5ZXQhIE1ha2Ugc29tZSBhbHJlYWR5ISBgQGluY2x1ZGUgYWRkLWJyZWFrcG9pbnQoJG5hbWUsICRia3B0KWBcIjtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEFkZCBCcmVha3BvaW50IHRvIEJyZWFrcG9pbnRzXG4vLyBUT0RPOiBSZW1vdmUgZnVuY3Rpb24gaW4gbmV4dCByZWxlYXNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJGJrcHQsICRvdmVyd3JpdGU6IGZhbHNlKSB7XG4gICRvdXRwdXQ6ICgkbmFtZTogJGJrcHQpO1xuXG4gIEBpZiBsZW5ndGgoJGJyZWFrcG9pbnRzKSA9PSAwIHtcbiAgICBAcmV0dXJuICRvdXRwdXQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSBhbmQgJG92ZXJ3cml0ZSAhPSB0cnVlIHtcbiAgICAgIEB3YXJuIFwiWW91IGFscmVhZHkgaGF2ZSBhIGJyZWFrcG9pbnQgbmFtZWQgYCN7JG5hbWV9YCwgcGxlYXNlIGNob29zZSBhbm90aGVyIGJyZWFrcG9pbnQgbmFtZSwgb3IgcGFzcyBpbiBgJG92ZXJ3cml0ZTogdHJ1ZWAgdG8gb3ZlcndyaXRlIHRoZSBwcmV2aW91cyBicmVha3BvaW50LlwiO1xuICAgICAgQHJldHVybiAkYnJlYWtwb2ludHM7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSBvciAkb3ZlcndyaXRlID09IHRydWUge1xuICAgICAgQHJldHVybiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkb3V0cHV0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFkZC1icmVha3BvaW50KCRuYW1lLCAkYmtwdCwgJG92ZXJ3cml0ZTogZmFsc2UpIHtcbiAgJG91dHB1dDogKCRuYW1lOiAkYmtwdCk7XG5cbiAgQGlmIGxlbmd0aCgkQlJFQUtQT0lOVFMpID09IDAge1xuICAgICRCUkVBS1BPSU5UUzogJG91dHB1dCAhZ2xvYmFsO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkbmFtZSkgYW5kICRvdmVyd3JpdGUgIT0gdHJ1ZSB7XG4gICAgICBAd2FybiBcIllvdSBhbHJlYWR5IGhhdmUgYSBicmVha3BvaW50IG5hbWVkIGAjeyRuYW1lfWAsIHBsZWFzZSBjaG9vc2UgYW5vdGhlciBicmVha3BvaW50IG5hbWUsIG9yIHBhc3MgaW4gYCRvdmVyd3JpdGU6IHRydWVgIHRvIG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgYnJlYWtwb2ludC5cIjtcbiAgICAgICRCUkVBS1BPSU5UUzogJEJSRUFLUE9JTlRTICFnbG9iYWw7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRuYW1lKSBvciAkb3ZlcndyaXRlID09IHRydWUge1xuICAgICAgJEJSRUFLUE9JTlRTOiBtYXAtbWVyZ2UoJEJSRUFLUE9JTlRTLCAkb3V0cHV0KSAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuXG5AZnVuY3Rpb24gZ2V0LWJyZWFrcG9pbnQoJG5hbWU6IGZhbHNlKSB7XG4gIEBpZiAkbmFtZSA9PSBmYWxzZSB7XG4gICAgQHJldHVybiAkQlJFQUtQT0lOVFM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkQlJFQUtQT0lOVFMsICRuYW1lKTtcbiAgfVxufVxuIiwiQG1peGluIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nIHtcbiAgJGxlZ2FjeVZhcnM6IChcbiAgICAnZGVmYXVsdC1tZWRpYSc6ICdkZWZhdWx0IG1lZGlhJyxcbiAgICAnZGVmYXVsdC1mZWF0dXJlJzogJ2RlZmF1bHQgZmVhdHVyZScsXG4gICAgJ2ZvcmNlLW1lZGlhLWFsbCc6ICdmb3JjZSBhbGwgbWVkaWEgdHlwZScsXG4gICAgJ3RvLWVtcyc6ICd0byBlbXMnLFxuICAgICdyZXNvbHV0aW9ucyc6ICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnLFxuICAgICduby1xdWVyaWVzJzogJ25vIHF1ZXJpZXMnLFxuICAgICduby1xdWVyeS1mYWxsYmFja3MnOiAnbm8gcXVlcnkgZmFsbGJhY2tzJyxcbiAgICAnYmFzZS1mb250LXNpemUnOiAnYmFzZSBmb250IHNpemUnLFxuICAgICdsZWdhY3ktc3ludGF4JzogJ2xlZ2FjeSBzeW50YXgnXG4gICk7XG5cbiAgQGVhY2ggJGxlZ2FjeSwgJG5ldyBpbiAkbGVnYWN5VmFycyB7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtJyArICRsZWdhY3kpIHtcbiAgICAgIEB3YXJuIFwiSW4gb3JkZXIgdG8gYXZvaWQgdmFyaWFibGUgbmFtc3BhY2UgY29sbGlzaW9ucywgd2UgaGF2ZSB1cGRhdGVkIHRoZSB3YXkgdG8gY2hhbmdlIHNldHRpbmdzIGZvciBCcmVha3BvaW50LiBQbGVhc2UgY2hhbmdlIGFsbCBpbnN0YW5jZXMgb2YgYCRicmVha3BvaW50LSN7JGxlZ2FjeX06IHt7c2V0dGluZ319YCB0byBgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJyN7JG5ld30nLCB7e3NldHRpbmd9fSlgLiBWYXJpYWJsZSBzZXR0aW5ncywgYXMgd2VsbCBhcyB0aGlzIHdhcm5pbmcgd2lsbCBiZSBkZXByZWNhdGVkIGluIGEgZnV0dXJlIHJlbGVhc2UuXCJcbiAgICB9XG4gIH07XG5cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIEhhbmQgY29ycmVjdCBlYWNoIHNldHRpbmdcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWRlZmF1bHQtbWVkaWEnKSBhbmQgJGJyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYSAhPSBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZGVmYXVsdCBtZWRpYScsICRicmVha3BvaW50LWRlZmF1bHQtbWVkaWEpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZScpIGFuZCAkYnJlYWtwb2ludC1kZWZhdWx0LWZlYXR1cmUgIT0gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgZmVhdHVyZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZGVmYXVsdCBmZWF0dXJlJywgJGJyZWFrcG9pbnQtZGVmYXVsdC1mZWF0dXJlKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwnKSBhbmQgJGJyZWFrcG9pbnQtZm9yY2UtbWVkaWEtYWxsICE9IGJyZWFrcG9pbnQtZ2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnLCAkYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LXRvLWVtcycpIGFuZCAkYnJlYWtwb2ludC10by1lbXMgIT0gYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgndG8gZW1zJywgJGJyZWFrcG9pbnQtdG8tZW1zKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1yZXNvbHV0aW9ucycpIGFuZCAkYnJlYWtwb2ludC1yZXNvbHV0aW9ucyAhPSBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnLCAkYnJlYWtwb2ludC1yZXNvbHV0aW9ucyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbm8tcXVlcmllcycpIGFuZCAkYnJlYWtwb2ludC1uby1xdWVyaWVzICE9IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdubyBxdWVyaWVzJywgJGJyZWFrcG9pbnQtbm8tcXVlcmllcyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzJykgYW5kICRicmVha3BvaW50LW5vLXF1ZXJ5LWZhbGxiYWNrcyAhPSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdubyBxdWVyeSBmYWxsYmFja3MnLCAkYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWJhc2UtZm9udC1zaXplJykgYW5kICRicmVha3BvaW50LWJhc2UtZm9udC1zaXplICE9IGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnYmFzZSBmb250IHNpemUnLCAkYnJlYWtwb2ludC1iYXNlLWZvbnQtc2l6ZSk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCcpIGFuZCAkYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4ICE9IGJyZWFrcG9pbnQtZ2V0KCdsZWdhY3kgc3ludGF4Jykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdsZWdhY3kgc3ludGF4JywgJGJyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCk7XG4gIH1cbn0iLCIvLyBTZXR0aW5nc1xuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG4vLyBDdXN0b20gSGVscGVyc1xuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvaXMtbnVtXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XG5cbi8vIEN1c3RvbSBGdW5jdGlvbnNcbkBpbXBvcnQgXCJmdW5jdGlvbnMvYXNzaWduXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbG9yLWxpZ2h0bmVzc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9mbGV4LWdyaWRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZ29sZGVuLXJhdGlvXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2dyaWQtd2lkdGhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbW9kdWxhci1zY2FsZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1lbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1yZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc3RyaXAtdW5pdHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdGludC1zaGFkZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdW5wYWNrXCI7XG5cbi8vIENTUzMgTWl4aW5zXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImNzczMvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImNzczMvY2FsY1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zaXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3VzZXItc2VsZWN0XCI7XG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xuXG4vLyBBZGRvbnMgJiBvdGhlciBtaXhpbnNcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uXCI7XG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LWZhbWlseVwiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvaHRtbDUtaW5wdXQtdHlwZXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuLy8gU29vbiB0byBiZSBkZXByZWNhdGVkIE1peGluc1xuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwiLy8gVmFyaWFibGUgc2V0dGluZ3MgZm9yIC9hZGRvbnMvcHJlZml4ZXIuc2Nzc1xuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0OyAvLyByZXF1aXJlZCBmb3Iga2V5ZnJhbWUgbWl4aW5cbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuIiwiJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogJ3B4JyAnY20nICdtbScgJyUnICdjaCcgJ3BpY2EnICdpbicgJ2VtJyAncmVtJyAncHQnICdwYycgJ2V4JyAndncnICd2aCcgJ3ZtaW4nICd2bWF4JywgJ2RlZycsICdyYWQnLCAnZ3JhZCcsICd0dXJuJztcbiAgJHVuaXRzOiAgIDFweCAgMWNtICAxbW0gIDElICAxY2ggIDFwaWNhICAxaW4gIDFlbSAgMXJlbSAgMXB0ICAxcGMgIDFleCAgMXZ3ICAxdmggIDF2bWluICAxdm1heCwgIDFkZWcsICAxcmFkLCAgMWdyYWQsIDF0dXJuO1xuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XG5cbiAgQGlmIG5vdCAkaW5kZXgge1xuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xufVxuIiwiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9pcy1udW0oJGNoYXIpIHtcbiAgJHZhbHVlczogJzAnICcxJyAnMicgJzMnICc0JyAnNScgJzYnICc3JyAnOCcgJzknIDAgMSAyIDMgNCA1IDYgNyA4IDk7XG4gICRpbmRleDogaW5kZXgoJHZhbHVlcywgJGNoYXIpO1xuICBAcmV0dXJuIGlmKCRpbmRleCwgdHJ1ZSwgZmFsc2UpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xuICAkb2Zmc2V0OiBudWxsO1xuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcbiAgfVxuXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XG4gIH1cblxuICBAaWYgJG9mZnNldCB7XG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xuICAkaGFzLWFuZ2xlOiBfaXMtbnVtKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAwKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDAsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEgKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMCwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkRzEsICRHMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkRzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRHMiB7XG4gICAgICAgICAgICAkRzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcblxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xuXG4gIC8vIEFkZCBjb21tYVxuICBAaWYgKCRzcGVjICE9ICcgICcpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIlxuICB9XG5cbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcblxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xuXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRwcmUtc3BlYzogbnVsbDtcbiAgJHNwZWM6IG51bGw7XG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgQGlmICR2ZW5kb3Ige1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XG4gIH1cbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XG4gIH1cbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xuICAgICAgJHZhbHVlOiBudWxsO1xuICAgIH1cbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XG4gIH1cbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xuICAvLyBNYXRyaWNlc1xuICAkc3RyaW5nczogJzAnICcxJyAnMicgJzMnICc0JyAnNScgJzYnICc3JyAnOCcgJzknO1xuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XG5cbiAgLy8gUmVzdWx0XG4gICRyZXN1bHQ6IDA7XG4gICRkaXZpZGVyOiAwO1xuICAkbWludXM6IGZhbHNlO1xuXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy0nIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGl2aWRlcjogMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcbiAgICAgIH1cblxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xuXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xuICAgICAgfVxuXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG59XG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XG4gICRsaXN0IDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn0iLCIvLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFya1xuLy8gUmV0dXJucyBhIGJvb2xlYW5cbi8vIE1vcmUgZGV0YWlscyBoZXJlIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG5cbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xuXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAuNjtcbn1cbiIsIi8vIEZsZXhpYmxlIGdyaWRcbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XG4gICR3aWR0aDogJGNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xufVxuXG4vLyBGbGV4aWJsZSBndXR0ZXJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuLy8gVGhlICRmZy1jb2x1bW4sICRmZy1ndXR0ZXIgYW5kICRmZy1tYXgtY29sdW1ucyB2YXJpYWJsZXMgbXVzdCBiZSBkZWZpbmVkIGluIHlvdXIgYmFzZSBzdHlsZXNoZWV0IHRvIHByb3Blcmx5IHVzZSB0aGUgZmxleC1ncmlkIGZ1bmN0aW9uLlxuLy8gVGhpcyBmdW5jdGlvbiB0YWtlcyB0aGUgZmx1aWQgZ3JpZCBlcXVhdGlvbiAodGFyZ2V0IC8gY29udGV4dCA9IHJlc3VsdCkgYW5kIHVzZXMgY29sdW1ucyB0byBoZWxwIGRlZmluZSBlYWNoLlxuLy9cbi8vIFRoZSBjYWxjdWxhdGlvbiBwcmVzdW1lcyB0aGF0IHlvdXIgY29sdW1uIHN0cnVjdHVyZSB3aWxsIGJlIG1pc3NpbmcgdGhlIGxhc3QgZ3V0dGVyOlxuLy9cbi8vICAgLS0gY29sdW1uIC0tIGd1dHRlciAtLSBjb2x1bW4gLS0gZ3V0dGVyIC0tIGNvbHVtblxuLy9cbi8vICAkZmctY29sdW1uOiA2MHB4OyAgICAgICAgICAgICAvLyBDb2x1bW4gV2lkdGhcbi8vICAkZmctZ3V0dGVyOiAyNXB4OyAgICAgICAgICAgICAvLyBHdXR0ZXIgV2lkdGhcbi8vICAkZmctbWF4LWNvbHVtbnM6IDEyOyAgICAgICAgICAvLyBUb3RhbCBDb2x1bW5zIEZvciBNYWluIENvbnRhaW5lclxuLy9cbi8vICBkaXYge1xuLy8gICAgd2lkdGg6IGZsZXgtZ3JpZCg0KTsgICAgICAgIC8vIHJldHVybnMgKDMxNXB4IC8gOTk1cHgpID0gMzEuNjU4MjklO1xuLy8gICAgbWFyZ2luLWxlZnQ6IGZsZXgtZ3V0dGVyKCk7IC8vIHJldHVybnMgKDI1cHggLyA5OTVweCkgPSAyLjUxMjU2JTtcbi8vXG4vLyAgICBwIHtcbi8vICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgyLCA0KTsgIC8vIHJldHVybnMgKDE0NXB4IC8gMzE1cHgpID0gNDYuMDMxNzQ2JTtcbi8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLyAgICAgIG1hcmdpbjogZmxleC1ndXR0ZXIoNCk7ICAvLyByZXR1cm5zICgyNXB4IC8gMzE1cHgpID0gNy45MzY1MDglO1xuLy8gICAgfVxuLy9cbi8vICAgIGJsb2NrcXVvdGUge1xuLy8gICAgICBmbG9hdDogbGVmdDtcbi8vICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgyLCA0KTsgLy8gcmV0dXJucyAoMTQ1cHggLyAzMTVweCkgPSA0Ni4wMzE3NDYlO1xuLy8gICAgfVxuLy8gIH0iLCJAZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJHZhbHVlLCAkaW5jcmVtZW50LCAkZ29sZGVuKVxufVxuIiwiQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG59XG5cbi8vIFRoZSAkZ3ctY29sdW1uIGFuZCAkZ3ctZ3V0dGVyIHZhcmlhYmxlcyBtdXN0IGJlIGRlZmluZWQgaW4geW91ciBiYXNlIHN0eWxlc2hlZXQgdG8gcHJvcGVybHkgdXNlIHRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uLlxuLy9cbi8vICAkZ3ctY29sdW1uOiAxMDBweDsgICAgICAgICAvLyBDb2x1bW4gV2lkdGhcbi8vICAkZ3ctZ3V0dGVyOiA0MHB4OyAgICAgICAgICAvLyBHdXR0ZXIgV2lkdGhcbi8vXG4vLyAgZGl2IHtcbi8vICAgIHdpZHRoOiBncmlkLXdpZHRoKDQpOyAgICAvLyByZXR1cm5zIDUyMHB4O1xuLy8gICAgbWFyZ2luLWxlZnQ6ICRndy1ndXR0ZXI7IC8vIHJldHVybnMgNDBweDtcbi8vICB9XG4iLCIvLyBTY2FsaW5nIFZhcmlhYmxlc1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XG4kb2N0YXZlOiAgICAgICAgICAgMjtcbiRtYWpvci10ZW50aDogICAgICAyLjU7XG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XG4kbWFqb3ItdHdlbGZ0aDogICAgMztcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xuXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkdmFsdWUsICRpbmNyZW1lbnQsICRyYXRpbykge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cblxuICAkYmFzZTogJGVtLWJhc2U7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsIi8vIFNydGlwcyB0aGUgdW5pdHMgZnJvbSBhIHZhbHVlLiBlLmcuIDEycHggLT4gMTJcblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWwpIHtcbiAgQHJldHVybiAoJHZhbCAvICgkdmFsICogMCArIDEpKTtcbn1cbiIsIi8vIEFkZCBwZXJjZW50YWdlIG9mIHdoaXRlIHRvIGEgY29sb3JcbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnQpe1xuICBAcmV0dXJuIG1peCh3aGl0ZSwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG5cbi8vIEFkZCBwZXJjZW50YWdlIG9mIGJsYWNrIHRvIGEgY29sb3JcbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KXtcbiAgQHJldHVybiBtaXgoYmxhY2ssICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XG5cdCRuZXctcHJvcHM6ICgpO1xuXHRcblx0QGVhY2ggJHByb3AgaW4gJHByb3BzIHtcblx0XHQkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xuXHR9XG5cblx0QHJldHVybiAkbmV3LXByb3BzO1xufVxuXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xuXHQvLyBwdXQgb3RoZXIgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgcHJlZml4ZWQgaGVyZSBhc3dlbGxcblx0QGlmICR2ZW5kb3IgYW5kICRwcm9wID09IHRyYW5zZm9ybSB7XG5cdFx0QHJldHVybiB1bnF1b3RlKCctJyskdmVuZG9yKyctJyskcHJvcCk7XG5cdH1cblx0QGVsc2Uge1xuXHRcdEByZXR1cm4gJHByb3A7XG5cdH1cbn0iLCIvLyBDb252ZXJ0IHNob3J0aGFuZCB0byB0aGUgNC12YWx1ZSBzeW50YXhcblxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH1cbiAgQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9XG4gIEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG5cbiIsIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuLy8gT2ZmaWNpYWwgYW5pbWF0aW9uIHNob3J0aGFuZCBwcm9wZXJ0eS5cbkBtaXhpbiBhbmltYXRpb24gKCRhbmltYXRpb25zLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIEluZGl2aWR1YWwgQW5pbWF0aW9uIFByb3BlcnRpZXNcbkBtaXhpbiBhbmltYXRpb24tbmFtZSAoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uICgkbW90aW9ucy4uLikge1xuLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50ICgkdmFsdWVzLi4uKSB7XG4vLyBpbmZpbml0ZSB8IDxudW1iZXI+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24gKCRkaXJlY3Rpb25zLi4uKSB7XG4vLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlICgkc3RhdGVzLi4uKSB7XG4vLyBydW5uaW5nIHwgcGF1c2VkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkgKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSAoJG1vZGVzLi4uKSB7XG4vLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBhcHBlYXJhbmNlICgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZmFjZS12aXNpYmlsaXR5IG1peGluXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxuLy8gbm90YXRpb24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRiYWNrZ3JvdW5kLXN0cjogaWYoJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0LCBudGgoJGJhY2tncm91bmQsIDEpLCAkYmFja2dyb3VuZCk7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAwLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJhY2tncm91bmRzOiBhcHBlbmQoJHdlYmtpdC1iYWNrZ3JvdW5kcywgJHdlYmtpdC1iYWNrZ3JvdW5kLCBjb21tYSk7XG4gICAgJHNwZWMtYmFja2dyb3VuZHM6ICAgYXBwZW5kKCRzcGVjLWJhY2tncm91bmRzLCAgICRzcGVjLWJhY2tncm91bmQsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZDogJHdlYmtpdC1iYWNrZ3JvdW5kcztcbiAgYmFja2dyb3VuZDogJHNwZWMtYmFja2dyb3VuZHM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kLWltYWdlIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZCBpbWFnZXMgd2l0aFxuLy8gZ3JhZGllbnRzLCBvciBmb3Igc3RyaW5naW5nIG11bHRpcGxlIGdyYWRpZW50cyB0b2dldGhlci5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlcy4uLikge1xuICAkd2Via2l0LWltYWdlczogKCk7XG4gICRzcGVjLWltYWdlczogKCk7XG5cbiAgQGVhY2ggJGltYWdlIGluICRpbWFnZXMge1xuICAgICR3ZWJraXQtaW1hZ2U6ICgpO1xuICAgICRzcGVjLWltYWdlOiAoKTtcblxuICAgIEBpZiAodHlwZS1vZigkaW1hZ2UpID09IHN0cmluZykge1xuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkaW1hZ2UsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkaW1hZ2UsIDAsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICRpbWFnZTtcbiAgICAgICAgICAkc3BlYy1pbWFnZTogJGltYWdlO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogIG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHdlYmtpdC1pbWFnZXM6IGFwcGVuZCgkd2Via2l0LWltYWdlcywgJHdlYmtpdC1pbWFnZSwgY29tbWEpO1xuICAgICRzcGVjLWltYWdlczogICBhcHBlbmQoJHNwZWMtaW1hZ2VzLCAgICRzcGVjLWltYWdlLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6ICR3ZWJraXQtaW1hZ2VzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkc3BlYy1pbWFnZXM7XG59XG4iLCJAbWl4aW4gYm9yZGVyLWltYWdlKCRib3JkZXJzLi4uKSB7XG4gICR3ZWJraXQtYm9yZGVyczogKCk7XG4gICRzcGVjLWJvcmRlcnM6ICgpO1xuXG4gIEBlYWNoICRib3JkZXIgaW4gJGJvcmRlcnMge1xuICAgICR3ZWJraXQtYm9yZGVyOiAoKTtcbiAgICAkc3BlYy1ib3JkZXI6ICgpO1xuICAgICRib3JkZXItdHlwZTogdHlwZS1vZigkYm9yZGVyKTtcblxuICAgIEBpZiAkYm9yZGVyLXR5cGUgPT0gc3RyaW5nIG9yIGxpc3Qge1xuICAgICAgJGJvcmRlci1zdHI6IGlmKCRib3JkZXItdHlwZSA9PSBsaXN0LCBudGgoJGJvcmRlciwgMSksICRib3JkZXIpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRib3JkZXItc3RyLCAwLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDAsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAgICRzcGVjLWJvcmRlcjogJGJvcmRlcjtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAgICRzcGVjLWJvcmRlcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAkYm9yZGVyO1xuICAgIH1cblxuICAgICR3ZWJraXQtYm9yZGVyczogYXBwZW5kKCR3ZWJraXQtYm9yZGVycywgJHdlYmtpdC1ib3JkZXIsIGNvbW1hKTtcbiAgICAkc3BlYy1ib3JkZXJzOiAgIGFwcGVuZCgkc3BlYy1ib3JkZXJzLCAgICRzcGVjLWJvcmRlciwgICBjb21tYSk7XG4gIH1cblxuICAtd2Via2l0LWJvcmRlci1pbWFnZTogJHdlYmtpdC1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1pbWFnZTogJHNwZWMtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4vL0V4YW1wbGVzOlxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpIDIwIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSAyMCAzMCA0MCA1MCBzdHJldGNoIHJvdW5kKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShyYWRpYWwtZ3JhZGllbnQodG9wLCBjb3Zlciwgb3JhbmdlLCB5ZWxsb3csIG9yYW5nZSkpO1xuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gU2hvcnRoYW5kIEJvcmRlci1yYWRpdXMgbWl4aW5zXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci10b3AtbGVmdC1yYWRpdXMsICRyYWRpaSwgc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci10b3AtcmlnaHQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGlpKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMsICRyYWRpaSwgc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItdG9wLWxlZnQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMsICRyYWRpaSwgc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xufVxuIiwiQG1peGluIGJveC1zaXppbmcgKCRib3gpIHtcbi8vICBjb250ZW50LWJveCB8IGJvcmRlci1ib3ggfCBpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06ICAgICAgICAgY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4vLyBhdXRvIHx8IGludGVnZXJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcbi8vIG5vcm1hbCB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XG4vLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcbi8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgJGZ1bmN0aW9uLCB3ZWJraXQgc3BlYyk7XG59XG5cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwLjApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gIGZsZXggfCBpbmxpbmUtZmxleFxuICAgIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgICAgICAvLyAyMDA5XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICAgICAgZGlzcGxheTogYm94O1xuXG4gICAgICAgIC8vIDIwMTJcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyAyMDExIChJRSAxMClcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogJHZhbHVlO1xuICAgIH1cbn1cblxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXggKGRlY2ltYWwgfCB3aWR0aCBkZWNpbWFsKVxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xuXG4gICAgLy8gR3JhYiBmbGV4LWdyb3cgZm9yIG9sZGVyIGJyb3dzZXJzLlxuICAgICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gICAgLy8gMjAwOVxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkZmxleC1ncm93LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gICAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKSAgICAgIFxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XG5cbiAgICAvLyBBbHQgdmFsdWVzLlxuICAgICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgICAkZGlyZWN0aW9uOiBcIm5vcm1hbFwiO1xuXG4gICAgQGlmICR2YWx1ZSA9PSByb3cge1xuICAgICAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcInJvdy1yZXZlcnNlXCIge1xuICAgICAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICAgICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcbiAgICAgICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIH1cblxuICAgIC8vIDIwMDlcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBcInJldmVyc2VcIiB7XG4gICAgICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuXG4gICAgLy8gMjAxMlxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgICAvLyAyMDExIChJRSAxMClcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1saW5lcyAoc2luZ2xlIHwgbXVsdGlwbGUpXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcblxuICAgIC8vIEFsdCB2YWx1ZXMuXG4gICAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICAgIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAgICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICAgIH1cblxuICAgIEBlbHNlaWYgJHZhbHVlID09IHdyYXAge1xuICAgICAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcbiAgICAgICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gICAgLy8gMjAwOVxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gICAgLy8gMjAxMlxuICAgIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gICAgLy8gMjAxMSAoSUUgMTApXG4gICAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1iYXNpcywgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQgKCR2YWx1ZTogZmxleC1zdGFydCkge1xuXG4gICAgLy8gQWx0IHZhbHVlcy5cbiAgICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gICAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICAgIH1cblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgICAgICRhbHQtdmFsdWU6IGp1c3RpZnk7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgICAgICRhbHQtdmFsdWU6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyAyMDA5XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgICAvLyAyMDEyXG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAgIC8vIDIwMTEgKElFIDEwKVxuICAgIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgICAkYWx0LXZhbHVlOiAkdmFsdWU7XG5cbiAgICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAgICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gICAgfSAgICBcblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgICB9XG5cbiAgICAvLyAyMDA5XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gICAgLy8gMjAxMlxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbiAgICBcbiAgICAvLyAyMDExIChJRSAxMClcbiAgICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTsgICAgXG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICAgIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gICAgfSAgICBcblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gICAgfVxuXG4gICAgLy8gMjAxMlxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTEgKElFIDEwKVxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xufVxuXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWNvbnRlbnQoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICAgIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gICAgfSAgICBcblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICAgICAkdmFsdWUtMjAxMToganVzdGlmeTtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAgICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XG4gICAgfVxuXG4gICAgLy8gMjAxMlxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTEgKElFIDEwKVxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XG59XG5cbiIsIi8vIE9yZGVyIG9mIHRoZSBpbmNsdWRlcyBtYXR0ZXJzLCBhbmQgaXQgaXM6IG5vcm1hbCwgYm9sZCwgaXRhbGljLCBib2xkK2l0YWxpYy5cblxuQG1peGluIGZvbnQtZmFjZSgkZm9udC1mYW1pbHksICRmaWxlLXBhdGgsICR3ZWlnaHQ6IG5vcm1hbCwgJHN0eWxlOiBub3JtYWwsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuXG4gICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgIHNyYzogZm9udC11cmwoJyN7JGZpbGUtcGF0aH0uZW90Jyk7XG4gICAgICBzcmM6IGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXgnKSAgICAgICAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgIGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LndvZmYnKSAgICAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgZm9udC11cmwoJyN7JGZpbGUtcGF0aH0udHRmJykgICAgICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgICAgZm9udC11cmwoJyN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fScpIGZvcm1hdCgnc3ZnJyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBzcmM6IHVybCgnI3skZmlsZS1wYXRofS5lb3QnKTtcbiAgICAgIHNyYzogdXJsKCcjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXgnKSAgICAgICAgICAgICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LndvZmYnKSAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICB1cmwoJyN7JGZpbGUtcGF0aH0udHRmJykgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICB1cmwoJyN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fScpICAgICAgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvbnQgZmVhdHVyZSBzZXR0aW5ncyBtaXhpbiBhbmQgcHJvcGVydHkgZGVmYXVsdC5cbi8vIEV4YW1wbGVzOiBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJsaWdhXCIpO1xuLy8gICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcImxudW1cIiBmYWxzZSk7XG4vLyAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mZWF0dXJlLXNldHRpbmdzKFwicG51bVwiIDEsIFwia2VyblwiIDApO1xuLy8gICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcInNzMDFcIiwgXCJzczAyXCIpO1xuXG5AbWl4aW4gZm9udC1mZWF0dXJlLXNldHRpbmdzKCRzZXR0aW5ncy4uLikge1xuICBAaWYgbGVuZ3RoKCRzZXR0aW5ncykgPT0gMCB7ICRzZXR0aW5nczogbm9uZTsgfVxuICBAaW5jbHVkZSBwcmVmaXhlcihmb250LWZlYXR1cmUtc2V0dGluZ3MsICRzZXR0aW5ncywgd2Via2l0IG1veiBtcyBzcGVjKTtcbn0iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbi8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn0iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7cm91bmQoJHJhdGlvKjk2KX1kcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAjeyRyYXRpb31kcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcblxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XG4gICAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XG4gIH1cbn1cbiIsIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkRzEsICRHMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRHMTA6ICRHOTsgJEc5OiAkRzg7ICRHODogJEc3OyAkRzc6ICRHNjsgJEc2OiAkRzU7XG4gICAgICRHNTogJEc0OyAkRzQ6ICRHMzsgJEczOiAkRzI7ICRHMjogJEcxOyAkRzE6ICRwb3M7XG4gICAgICRwb3M6IG51bGw7XG4gIH1cblxuICBAaWYgJHBvcyB7XG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gICRmdWxsOiAkRzEsICRHMiwgJEczLCAkRzQsICRHNSwgJEc2LCAkRzcsICRHOCwgJEc5LCAkRzEwO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJEcxLCAxKTtcblxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRHMSwgICAgICAgICRHMixcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkRzEsICRHMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkRzE6ICBudGgoJGRhdGEsIDEpO1xuICAkRzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgJyN7JHNoYXBlLXNpemV9LCAnLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsICcjeyRwb3N9LCAnLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsICdhdCAjeyRwb3N9JywgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9ICcgJykgYW5kICgkcG9zID09IG51bGwpLCAnI3skc2hhcGUtc2l6ZS1zcGVjfSwgJywgJyN7JHNoYXBlLXNpemUtc3BlY30gJyk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodW5xdW90ZSgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwicmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xuLy8gIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4vLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcbi8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSAoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uICgkcHJvcGVydGllcy4uLikge1xuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICAgICRtb3o6IGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgICAkc3BlYzogYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGxpc3RzIGZvciBub24tcHJlZml4ZWQgdHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogIGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5ICgkcHJvcGVydGllcy4uLikge1xuICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCAnd2Via2l0Jyk7XG4gICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsICdtb3onKTtcbiAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uICgkbW90aW9ucy4uLikge1xuLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiB1c2VyLXNlbGVjdCgkYXJnOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkYXJnLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG59XG5cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG5cbi8vIFNpbXBsZSBCdXR0b25cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBtaXhpbiBzaW1wbGUoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTE0JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtOCUsICAkbGlnaHRuZXNzOiAgMTUlKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDE1JSwgJGxpZ2h0bmVzczogLTE4JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA4JSwgJGxpZ2h0bmVzczogLTE0JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG5cbi8vIFNoaW55IEJ1dHRvblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuXG4vLyBQaWxsIEJ1dHRvblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuXG5cbi8vIEZsYXQgQnV0dG9uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiA3cHggMThweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCl7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDQlLCAkbGlnaHRuZXNzOiA1JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItYWN0aXZlOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1hY3RpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCIvLyBNb2Rlcm4gbWljcm8gY2xlYXJmaXggcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY29udGFpbiBmbG9hdHMgd2l0aG91dCBhZGRpbmcgYWRkaXRpb25hbCBtYXJrdXAuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTpcbi8vXG4vLyAgICAvLyBDb250YWluIGFsbCBmbG9hdHMgd2l0aGluIC53cmFwcGVyXG4vLyAgICAud3JhcHBlciB7XG4vLyAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8gICAgICAuY29udGVudCxcbi8vICAgICAgLnNpZGViYXIge1xuLy8gICAgICAgIGZsb2F0IDogbGVmdDtcbi8vICAgICAgfVxuLy8gICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTp0YWJsZTtcbiAgICBjbGVhcjpib3RoO1xuICB9XG59XG5cbi8vIEFja25vd2xlZGdlbWVudHNcbi8vIEJlYXQgKnRoYXQqIGNsZWFyZml4OiBbVGhpZXJyeSBLb2JsZW50el0oaHR0cDovL3d3dy5jc3MtMTAxLm9yZy9hcnRpY2xlcy9jbGVhcmZpeC9sYXRlc3QtbmV3LWNsZWFyZml4LXNvLWZhci5waHApXG4iLCIvLyBkaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHNcbi8vIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vL1xuLy8gQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vIC0tLS0tLVxuLy8gbWFyZ2luLXJpZ2h0OiAwO1xuLy8gbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vIG1hcmdpbi1sZWZ0OiAwO1xuLy9cbi8vIC0gb3IgLVxuLy9cbi8vIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLyAtLS0tLS1cbi8vIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vXG4vLyAtLS0tLS1cbi8vXG4vLyBOb3RlOiBZb3UgY2FuIGFsc28gdXNlIGZhbHNlIGluc3RlYWQgb2YgbnVsbFxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJEE6IG50aCggJHZhbHMsIDEgKTtcbiAgJEI6IGlmKCBsZW5ndGgoJHZhbHMpIDwgMiwgJEEsIG50aCgkdmFscywgMikpO1xuICAkQzogaWYoIGxlbmd0aCgkdmFscykgPCAzLCAkQSwgbnRoKCR2YWxzLCAzKSk7XG4gICREOiBpZiggbGVuZ3RoKCR2YWxzKSA8IDIsICRBLCBudGgoJHZhbHMsIGlmKCBsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkgKSk7XG5cbiAgQGlmICRBID09IDAgeyAkQTogMCB9XG4gIEBpZiAkQiA9PSAwIHsgJEI6IDAgfVxuICBAaWYgJEMgPT0gMCB7ICRDOiAwIH1cbiAgQGlmICREID09IDAgeyAkRDogMCB9XG5cbiAgQGlmICRBID09ICRCIGFuZCAkQSA9PSAkQyBhbmQgJEEgPT0gJEQgeyAkb3V0cHV0OiAkQSAgICAgICAgICB9XG4gIEBlbHNlIGlmICRBID09ICRDIGFuZCAkQiA9PSAkRCAgICAgICAgIHsgJG91dHB1dDogJEEgJEIgICAgICAgfVxuICBAZWxzZSBpZiAkQiA9PSAkRCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRBICRCICRDICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkQSAkQiAkQyAkRCB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgLy8gcHJvcDogdG9wL2JvdHRvbSByaWdodC9sZWZ0XG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuXG4gICAgLy8gcHJvcDogdG9wIHJpZ2h0L2xlZnQgYm90dG9tXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cblxuICAgIC8vIHByb3A6IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuXG4gIC8vIHByb3A6IHRvcC9yaWdodC9ib3R0b20vbGVmdFxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIkZ2VvcmdpYTogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFRhaG9tYSwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBDb25zb2xhcywgQ291cmllciwgbW9ub3NwYWNlO1xuJHZlcmRhbmE6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjtcbiIsIkBtaXhpbiBoaWRlLXRleHQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gR2VuZXJhdGUgYSB2YXJpYWJsZSAoJGFsbC10ZXh0LWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSB0ZXh0LWJhc2VkIGlucHV0LCBleGNsdWRpbmcgdGV4dGFyZWEuXG4vLyBodHRwOi8vZGl2ZWludG9odG1sNS5vcmcvZm9ybXMuaHRtbFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcblxuICAgICAgICAgICAgICAvLyBXZWJraXQgJiBHZWNrbyBtYXkgY2hhbmdlIHRoZSBkaXNwbGF5IG9mIHRoZXNlIGluIHRoZSBmdXR1cmVcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXSc7XG5cbi8vIEJhcmUgaW5wdXRzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCk7XG5cbi8vIEhvdmVyIFBzZXVkby1jbGFzc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogYXNzaWduLWlucHV0cygkaW5wdXRzLWxpc3QsIGhvdmVyKTtcblxuLy8gRm9jdXMgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgZm9jdXMpO1xuXG5cblxuLy8gWW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOlxuLy8gI3skYWxsLXRleHQtaW5wdXRzfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfVxuXG4vLyBFeGFtcGxlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyAgICN7JGFsbC10ZXh0LWlucHV0c30sIHRleHRhcmVhIHtcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4vLyAgIH1cblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEdlbmVyYXRlIGEgdmFyaWFibGUgKCRhbGwtYnV0dG9uLWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSBidXR0b24tYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyBidXR0b24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWJ1dHRvbi1saXN0OiAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgYWN0aXZlKTtcblxuXG5cbi8vIFlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTpcbi8vICN7JGFsbC1idXR0b24taW5wdXRzfVxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtYnV0dG9uLWlucHV0cy1mb2N1c31cbi8vICN7JGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZX1cblxuLy8gRXhhbXBsZVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gICAjeyRhbGwtYnV0dG9uLWlucHV0c30sIGJ1dHRvbiB7XG4vLyAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuLy8gICB9XG4iLCJAbWl4aW4gcG9zaXRpb24gKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICRyaWdodDogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAaWYgKCR0b3AgYW5kICR0b3AgPT0gYXV0bykgb3IgKHR5cGUtb2YoJHRvcCkgPT0gbnVtYmVyKSB7XG4gICAgdG9wOiAkdG9wO1xuICB9XG5cbiAgQGlmICgkcmlnaHQgYW5kICRyaWdodCA9PSBhdXRvKSBvciAodHlwZS1vZigkcmlnaHQpID09IG51bWJlcikge1xuICAgIHJpZ2h0OiAkcmlnaHQ7XG4gIH1cblxuICBAaWYgKCRib3R0b20gYW5kICRib3R0b20gPT0gYXV0bykgb3IgKHR5cGUtb2YoJGJvdHRvbSkgPT0gbnVtYmVyKSB7XG4gICAgYm90dG9tOiAkYm90dG9tO1xuICB9XG5cbiAgQGlmICgkbGVmdCBhbmQgJGxlZnQgPT0gYXV0bykgb3IgKHR5cGUtb2YoJGxlZnQpID09IG51bWJlcikge1xuICAgIGxlZnQ6ICRsZWZ0O1xuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAkcmFkaWksIHdlYmtpdCBtcyBzcGVjKTtcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFZhcmlhYmxlcyBsb2NhdGVkIGluIC9zZXR0aW5ncy9fcHJlZml4ZXIuc2Nzc1xuXG5AbWl4aW4gcHJlZml4ZXIgKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgaGlkcGkge1xuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuXG4gIH1cbn1cbiIsIkBtaXhpbiBzaXplKCRzaXplKSB7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgMSk7XG4gICR3aWR0aDogJGhlaWdodDtcblxuICBAaWYgbGVuZ3RoKCRzaXplKSA+IDEge1xuICAgICRoZWlnaHQ6IG50aCgkc2l6ZSwgMik7XG4gIH1cblxuICBAaWYgJGhlaWdodCA9PSBhdXRvIG9yICh0eXBlLW9mKCRoZWlnaHQpID09IG51bWJlciBhbmQgbm90IHVuaXRsZXNzKCRoZWlnaHQpKSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG5cbiAgQGlmICR3aWR0aCA9PSBhdXRvIG9yICh0eXBlLW9mKCR3aWR0aCkgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJHdpZHRoKSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH1cbn1cbiIsIi8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtbydlZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Jlc291cmNlcy9kZW1vcy9lZmZlY3QvZWFzaW5nLmh0bWxcblxuLy8gRUFTRSBJTlxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbi8vIEVBU0UgT1VUXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuLy8gRUFTRSBJTiBPVVRcbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwiQG1peGluIHRyaWFuZ2xlICgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuXG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuXG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbn1cbiIsIkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgd29yZC13cmFwOiAkd3JhcDtcblxuICBAaWYgJHdyYXAgPT0gYnJlYWstd29yZCB7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH1cbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFRoZXNlIG1peGlucy9mdW5jdGlvbnMgYXJlIGRlcHJlY2F0ZWRcbi8vIFRoZXkgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IE1BSk9SIHZlcnNpb24gcmVsZWFzZVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIGlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQHdhcm4gXCJpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIFNFVFRJTkdTXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT05UXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmb250LXNpemU6IDE2cHg7XG4kY3VzdG9tLWZvbnQtMTogJ09wZW4gU2FucycsICdIZWx2ZXRpY2FOZXVlLUxpZ2h0JywgJ0hlbHZldGljYSBOZXVlIExpZ2h0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmO1xuJGN1c3RvbS1mb250LTI6ICdJVEMgTHViYWxpbiBHcmFwaCBXMDEnO1xuJGljb25ha3JvbjogJ0ZTaWNvbmFrcm9uJztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVFJBTlNJVElPTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGdsb2JhbC1lYXNpbmc6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZ2xvYmFsLXRpbWluZzogLjVzO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT0xPUlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmFzZVxuJGNvbG9yLWhvdHJvZDpcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCNjYzRiMDA7IC8vICNlNjU0MDBcbiRjb2xvci1idW1ibGViZWU6ICAgICAgICAgICAgICAgICAgICAgICAjZmRiOTEzO1xuJGNvbG9yLWpldGZpcmU6ICAgICAgICAgICAgICAgICAgICAgICAgICNmZmZmZmY7XG4kY29sb3Itc2t5d2FycDogICAgICAgICAgICAgICAgICAgICAgICAgIzAwMDAwMDtcbiRjb2xvci13cmVjay1nYXI6XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0I2Y5ZjVlYjtcbiRjb2xvci1zdGFyc2NyZWFtOlx0XHRcdFx0XHRcdFx0XHRcdFx0XHQjZjFmMWYwO1xuJGNvbG9yLW1lZ2F0cm9uOiAgICAgICAgICAgICAgICAgICAgIFx0XHQjZDZkNmQ2O1xuJGNvbG9yLXRyeXB0aWNvbjogICAgICAgICAgICAgICAgICAgICAgICM1MDUwNTA7XG4kY29sb3ItZGV2YXN0YXRvcjogICAgIFx0XHRcdFx0XHRcdFx0XHRcdCM0NTQ1NDU7XG4kY29sb3ItcHJvd2w6XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCM2MjYyNjI7XG4kY29sb3ItZ3JpbWxvY2s6XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0I2FiYWJhYjtcblxuJGNvbG9yLXNoYXJrdGljb246ICAgICAgICAgICAgICAgICAgICAgICM4M2NmY2E7XG4kY29sb3ItdWx0cmFtYWdudXM6ICAgICAgICAgICAgICAgICAgICAgIzEzYjVlYTtcbiRjb2xvci1zcHJpbmdlcjpcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQjYjdkNDMzO1xuJGNvbG9yLXNvdW5kd2F2ZTpcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQjN2MyMDYwO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCUkVBS1BPSU5UU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTdGFuZGFyZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbW9iaWxlLWxhcmdlOlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0NDAwcHg7XHQgLy8gPz9cbiR0YWJsZXQtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweDsgICAvLyBnYmFcbiR0YWJsZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3MDBweDsgICAvLyAzZHNcbiRicC04MjU6XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ4MjVweDsgICAvLyBQb3NzaWJsZSBuYW1lIGNoYW5nZSB0byB0aGlzXG4kbmFycm93OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTYwcHg7ICAgLy8gbmVzIFxuJGRlc2t0b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyMDBweDsgIC8vIGdhbWVjdWJlXG4kd2lkZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjIwMHB4OyAgLy8gd2lpXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNJWkUgVkFSSUFCTEVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjb250YWluZXItd2lkdGgtbmFycm93Olx0XHRcdFx0XHRcdFx0XHQxMDAlO1xuJGNvbnRhaW5lci13aWR0aC1kZXNrdG9wOiBcdFx0XHRcdFx0XHRcdDEyMDBweDtcbiRjb250YWluZXItd2lkdGgtd2lkZTpcdFx0XHRcdFx0XHRcdFx0XHQxNjAwcHg7XG4kdG9wYmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgNDVweDtcbiR0b3BiYXItaGVpZ2h0LWxhcmdlOiAgICAgICAgICAgICAgICAgICA5MHB4O1xuJHByaW1hcnktbmF2LWRyb3Bkb3duLWhlaWdodDogICAgICAgICAgIDkwcHg7XG4kbWV0YWJhci1oZWlnaHQ6XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0NDBweDtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gWi1JTkRFWCBNQVBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHotaW5kZXgtZmxhdDogMDtcbiR6LWluZGV4LTE6ICAgIDEwO1x0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XG4kei1pbmRleC0yOiAgICAyMDtcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcbiR6LWluZGV4LTM6ICAgIDMwO1xuJHotaW5kZXgtNDogICAgNDA7XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gV2UncmUgRGlmZmVyZW50IEJhclxuJHotaW5kZXgtNTogICAgNTA7XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gRml4ZWQgQ1RBXG4kei1pbmRleC02OiAgICA2MDtcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAvLyBEcm9wZG93blxuJHotaW5kZXgtNzogICAgNzA7XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgLy8gQ2xvc2UgU3VyZmFjZVxuJHotaW5kZXgtNzE6ICAgNzE7XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gUHJvZ3JhbSBGaWx0ZXJcbiR6LWluZGV4LTg6ICAgIDgwOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvcGJhclxuJHotaW5kZXgtODE6XHQgODE7XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gTWV0YWJhclxuJHotaW5kZXgtOTogICAgOTA7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gTW9kYWwvTGlnaHRib3hcbiR6LWluZGV4LTEwOiAgIDEwMDsgICAgICAgICAgICAgICAgICAgICAgIC8vIE92ZXJsYXlcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSUNPTiBWQVJJQUJMRVMgKGljb21vb24pXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRpY29tb29uLWZvbnQtcGF0aDogXCJmb250c1wiICFkZWZhdWx0O1xuXG4kZnMtcGVuY2lsOiBcIlxcZTkxOFwiO1xuJGZzLXNhaWxlZTogXCJcXGU5MTdcIjtcbiRmcy1pY29uLWxpc3Qtc29saWQ6IFwiXFxlOTE0XCI7XG4kZnMtaWNvbi1saXN0LW91dGxpbmU6IFwiXFxlOTE1XCI7XG4kZnMtaWNvbi1ncmlkLXNvbGlkOiBcIlxcZTkxNlwiO1xuJGZzLWljb24tZ3JpZC1vdXRsaW5lOiBcIlxcZTkxM1wiO1xuJGZzLXZpcnR1YWwtdG91cjI6IFwiXFxlOTEyXCI7XG4kZnMtbGV2ZWxzOiBcIlxcZTkwYlwiO1xuJGZzLWNoZXZyb24tbGFyZ2U6IFwiXFxlOTBhXCI7XG4kZnMtYmFyczogXCJcXGU5MDZcIjtcbiRmcy1zZWFyY2g6IFwiXFxlOTM4XCI7XG4kZnMtYXJ0LWRlc2lnbjogXCJcXGU5MjdcIjtcbiRmcy1idXNpbmVzczogXCJcXGU5MjhcIjtcbiRmcy1maWxtLXRlbGV2aXNpb246IFwiXFxlOTI5XCI7XG4kZnMtZ2FtZXM6IFwiXFxlOTJhXCI7XG4kZnMtbWVkaWEtY29tbXVuaWNhdGlvbnM6IFwiXFxlOTJiXCI7XG4kZnMtbXVzaWMtcmVjb3JkaW5nOiBcIlxcZTkyY1wiO1xuJGZzLXNwb3J0czogXCJcXGU5MmRcIjtcbiRmcy13ZWItdGVjaG5vbG9neTogXCJcXGU5MmVcIjtcbiRmcy15b3V0dWJlLWFsdDI6IFwiXFxlOTBkXCI7XG4kZnMtc25hcGNoYXQ6IFwiXFxlOTBlXCI7XG4kZnMtZmFjZWJvb2s6IFwiXFxlOTFmXCI7XG4kZnMtZmFjZWJvb2stYWx0OiBcIlxcZTkzMlwiO1xuJGZzLWdvZ2dsZXBsdXM6IFwiXFxlOTIwXCI7XG4kZnMtZ29vZ2xlcGx1cy1hbHQ6IFwiXFxlOTMzXCI7XG4kZnMtaW5zdGFncmFtOiBcIlxcZTkwZlwiO1xuJGZzLWluc3RhZ3JhbS1hbHQ6IFwiXFxlOTEwXCI7XG4kZnMtbGlua2VkaW46IFwiXFxlOTIyXCI7XG4kZnMtbGlua2VkaW4tYWx0OiBcIlxcZTkzNVwiO1xuJGZzLXBpbnRlcmVzdDogXCJcXGU5MjNcIjtcbiRmcy10dW1ibHI6IFwiXFxlOTI0XCI7XG4kZnMtdHdpdHRlcjogXCJcXGU5MjVcIjtcbiRmcy10d2l0dGVyLWFsdDogXCJcXGU5MzZcIjtcbiRmcy15b3V0dWJlLWFsdDogXCJcXGU5MzdcIjtcbiRmcy12aXJ0dWFsLXRvdXI6IFwiXFxlOTExXCI7XG4kZnMtY2FsbC1ib3JkZXItdGhpY2s6IFwiXFxlOTFlXCI7XG4kZnMtcGhvbmU6IFwiXFxlOTM5XCI7XG4kZnMtdGFsay1ib3JkZXItdGhpY2s6IFwiXFxlOTFkXCI7XG4kZnMtY2hhdDogXCJcXGU5MmZcIjtcbiRmcy1kb3dubG9hZDogXCJcXGU5M2FcIjtcbiRmcy1wbGF5LWJ1dHRvbjogXCJcXGU5MWJcIjtcbiRmcy1pbmZvOiBcIlxcZTkzMFwiO1xuJGZzLWFuZ2xlLWRvd246IFwiXFxlOTAzXCI7XG4kZnMtYXJyb3ctbGVmdC1ib2xkOiBcIlxcZTkwMFwiO1xuJGZzLWFycm93LXJpZ2h0LWJvbGQ6IFwiXFxlOTFjXCI7XG4kZnMtYXJyb3ctbGVmdDogXCJcXGU5MDRcIjtcbiRmcy1hcnJvdy1yaWdodDogXCJcXGU5MDVcIjtcbiRmcy1idWxsZXQtdHJpOiBcIlxcZTkwMlwiO1xuJGZzLWNoZWNrOiBcIlxcZTkwY1wiO1xuJGZzLWNsb3NlOiBcIlxcZTkwMVwiO1xuJGZzLWNsb3NlLWFsdDogXCJcXGU5MzFcIjtcbiRmcy1zbGFzaC1idWxsZXQ6IFwiXFxlOTA4XCI7XG4kZnMtc2xhc2gtdGlsZTogXCJcXGU5MDlcIjtcbiRmcy1sb2dvLWJhZGdlOiBcIlxcZTkwN1wiO1xuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIEdMT0JBTFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUkVTRVRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUkVNT1ZFIFRBUCBISUxJR0hUXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmhlYWRlcixcbmFzaWRlLFxuc2VjdGlvbixcbmRpdixcbnNwYW4sXG5pbnB1dCxcbnRleHRhcmVhLFxuYnV0dG9uLFxuc2VsZWN0LFxuYSB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSFRNTCAvIEJPRFlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaHRtbCB7XG5cblx0Ly8gVGhpcyBzdG9wcyB0aGUgYW5ub3lpbmcgZm9udC1ib2xkIGVmZmVjdCBpbiBkcm9wZG93bnMgb2YgcHJpbWFyeSBuYXZcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmJvZHkge1xuXG5cdC8vIEJhc2Vcblx0Zm9udC1zaXplOiAkZm9udC1zaXplO1xuXHRmb250LWZhbWlseTogJGN1c3RvbS1mb250LTE7XG5cdG1hcmdpbjogMDtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ly8gU2tpblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMSU5LU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5hIHtcblx0XG5cdC8vIEJhc2Vcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogJGNvbG9yLWhvdHJvZDtcblx0b3BhY2l0eTogMTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcblx0Ly8gVHJhbnNpdGlvblxuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcsIGNvbG9yICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcbn1cblxucCBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhFQURJTkdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaDEsXG5oMixcbmgzIHtcblx0bWFyZ2luOiAwO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMSVNUU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG51bCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSU1BR0VTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERJU0NMQUlNRVJTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5kaXNjbGFpbWVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRmb250LXNpemU6IHJlbSgxNCk7XG5cdHBhZGRpbmctbGVmdDogcmVtKDQwKTtcblx0bWFyZ2luOiByZW0oMjApIDA7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGZvbnQtZmFtaWx5OiAnRlNpY29uYWtyb24nO1xuXHRcdGNvbnRlbnQ6ICdcXGU5MDgnO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwcHg7XG5cdFx0bGVmdDogMHB4O1xuXHRcdGNvbG9yOiAkY29sb3ItaG90cm9kO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ0xFQVJGSVhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJRlJBTUVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmlmcmFtZSB7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUEFERElORyAvIE1BUkdJTiAtIE9QVElPTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5vLXBhZGRpbmcge1xuXHRwYWRkaW5nOiAwIDAgMCAwICFpbXBvcnRhbnQ7XG59XG5cbi5uby1wYWRkaW5nLXRvcCB7XG5cdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5uby1tYXJnaW5zIHtcblx0bWFyZ2luOiAwIDAgMCAwICFpbXBvcnRhbnQ7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNQQU4gUkVQTEFDRU1FTlQgLSBSZXBsYWNlZCB0byByZW1lZHkgdGhlIHNoaXR0eSBSZWRhdG9yIG9uIENyYWZ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zcGFuIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gVFlQT0dSQVBIWVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSEVBRElOR1Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLmgxXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oMSB7XG5cdGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZvbnQtMjtcblx0Zm9udC1zaXplOiByZW0oMzYpO1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRtYXJnaW46IDAgMCByZW0oMjApIDA7XG5cdHBhZGRpbmc6IDA7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oNTgpO1xuXHR9XG59XG5cbi8vIC5oMlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaDIge1xuXHRmb250LWZhbWlseTogJGN1c3RvbS1mb250LTI7XG5cdGZvbnQtc2l6ZTogcmVtKDM0KTtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdGxldHRlci1zcGFjaW5nOiByZW0oMik7XG5cdG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRmb250LXNpemU6IHJlbSg1Mik7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcblx0fVxufVxuXG4vLyAuaDNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmgzIHtcblx0Zm9udC1zaXplOiByZW0oMjIpO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCByZW0oMjApIDA7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjgpO1xuXHR9XG59XG5cbi8vIC5oNFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaDQge1xuXHRmb250LXNpemU6IHJlbSgxOCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCByZW0oMjApIDA7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xufVxuXG4vLyBIZWFkbGluZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGVhZGxpbmUge1xuXHRmb250LWZhbWlseTogJGN1c3RvbS1mb250LTE7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRmb250LXNpemU6IHJlbSgyNCk7XG4gIGxpbmUtaGVpZ2h0OiByZW0oMzQpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDAgMCByZW0oMjApIDA7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDMyKTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDQwKTtcblx0fVxufVxuXG4vLyBTdWIgSGVhZGxpbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnN1Yi1oZWFkbGluZSB7XG5cdGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZvbnQtMTtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0bWFyZ2luOiAwIDAgcmVtKDIwKSAwO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDI0KTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQQVJBR1JBUEhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMjYpO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0bWFyZ2luOiAwIDAgcmVtKDIwKSAwO1xuXHRmb250LXNpemU6IHJlbSgxNCk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdH1cbn1cblxuLy8gU2lkZSBwYWRkaW5nIGZvciBwYXJhZ3JhcGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNpZGUtcGFkZGluZyB7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDUlO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDUlO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEVQSUMgVEVYVFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZXBpYy10ZXh0IHtcblx0Zm9udC1zaXplOiByZW0oMjIpO1xuXHRsaW5lLWhlaWdodDogcmVtKDMyKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDMwKTtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRmb250LXNpemU6IHJlbSgyOCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSg0MCk7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU01BTEwgVEVYVFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc21hbGwtdGV4dCB7XG5cdGZvbnQtc2l6ZTogcmVtKDE0KTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTEFSR0UgVEVYVFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGFyZ2UtdGV4dCB7XG5cdGZvbnQtc2l6ZTogcmVtKDQ0KTtcblx0Ji5za2luLWhvdHJvZCB7XG5cdFx0Y29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVUxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnVsIHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0bGkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxNCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgyNik7XG5cdH1cbn1cblxuLnVsLS1idWxsZXRzIHtcblx0bGlzdC1zdHlsZTogaW5zaWRlO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFxuXHRsaSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctbGVmdDogcmVtKDIwKTtcblx0fVxuXHRsaTpiZWZvcmUge1xuXHRcdGZvbnQtZmFtaWx5OiAkaWNvbmFrcm9uO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogMDtcblx0XHRjb250ZW50OiBcIlxcZTkwMlwiO1xuXHRcdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHRhIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4udWwtLWJ1bGxldHMtc2tpbi1ncmF5IHtcblx0bGk6YmVmb3JlIHtcblx0XHRjb2xvcjogJGNvbG9yLWdyaW1sb2NrO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTFVNTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5ld3NwYXBlci1jb2x1bW5zIHtcblx0QGluY2x1ZGUgY29sdW1ucygxIGF1dG8pO1xuXHRcblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRAaW5jbHVkZSBjb2x1bW5zKDIgYXV0byk7XG5cdH1cbn1cblxuLy8gVGhpcyBtb2RpZmllciBpcyBtYWlubHkgZm9yIHRoZSBjYW1wdXMgbWFwIHBhZ2Vcbi5uZXdzcGFwZXItY29sdW1ucy0tMy1jb2x1bW5zIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdEBpbmNsdWRlIGNvbHVtbnMoMyBhdXRvKTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTS0lOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2tpbi1ob3Ryb2Qge1xuXHRjb2xvcjogJGNvbG9yLWhvdHJvZDtcbn1cblxuLnNraW4tdWx0cmFtYWdudXMge1xuXHRjb2xvcjogJGNvbG9yLXVsdHJhbWFnbnVzO1xufVxuXG4uc2tpbi1qZXRmaXJlIHtcblx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTSURFIFBBRCBURVhUXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zaWRlcGFkLXRleHQge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRtYXgtd2lkdGg6IDYwJTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBURVhUIEFMSUdOTUVOVFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4udGV4dC1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJMT0NLIFFVT1RFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ibG9ja3F1b3RlIHtcblx0Ym9yZGVyLWxlZnQ6IHNvbGlkIDNweCAkY29sb3ItYnVtYmxlYmVlO1xuXHRwYWRkaW5nOiByZW0oMTApIHJlbSgxMCkgcmVtKDEwKSByZW0oMjApO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblx0bWFyZ2luLXRvcDogcmVtKDIwKTtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcblxuXHQvLyBUaGlzIGZpeGVzIHRoZSBDcmFmdCBSZWRhY3RvciBwYXJhZ3JhcGggaXNzdWVcblx0cCB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRwYWRkaW5nOiByZW0oMTApIHJlbSgxMCkgcmVtKDEwKSByZW0oMzApO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0XHRtYXJnaW4tdG9wOiByZW0oMzApO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG5cdH1cbn1cblxuLmJsb2NrcXVvdGVfX3NpZyB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRtYXJnaW4tdG9wOiByZW0oMjApO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFUElDIFFVT1RFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5lcGljLXF1b3RlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRmb250LWZhbWlseTogJGN1c3RvbS1mb250LTI7XG5cdGZvbnQtc2l6ZTogcmVtKDIyKTtcblx0bGluZS1oZWlnaHQ6IHJlbSgzMCk7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdHBhZGRpbmc6IDAgcmVtKDIwKTtcblx0Y29sb3I6ICRjb2xvci1ncmltbG9jaztcblx0XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnXFwyMDFDJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogcmVtKC0xMCk7XG5cdFx0dG9wOiByZW0oNyk7XG5cdFx0Y29sb3I6ICRjb2xvci1zdGFyc2NyZWFtO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDY4KTtcblx0XHRmb250LWZhbWlseTogJGN1c3RvbS1mb250LTI7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjgpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMzYpO1xuXHR9XG59XG5cbi5lcGljLXF1b3RlX19zaWcge1xuXHRwYWRkaW5nLXRvcDogcmVtKDIwKTtcblx0cGFkZGluZy1ib3R0b206IHJlbSgyMCk7XG5cdGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZvbnQtMTtcblx0Zm9udC1zaXplOiByZW0oMTYpO1x0XG5cdGxpbmUtaGVpZ2h0OiByZW0oMjQpO1x0XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xufVxuXG4uZXBpYy1xdW90ZS0tdWx0cmFtYWdudXMge1xuXHRjb2xvcjogJGNvbG9yLXVsdHJhbWFnbnVzO1xufVxuXG4uZXBpYy1xdW90ZS0tc3ByaW5nZXIge1xuXHRjb2xvcjogJGNvbG9yLXNwcmluZ2VyO1xufVxuXG4uZXBpYy1xdW90ZS0tYnVtYmxlYmVlIHtcblx0JjpiZWZvcmUge1xuXHRcdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0lDIFRFWFQgU1RZTEVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ib2xkIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi51cHBlcmNhc2Uge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIFRZUE9HUkFQSFlcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGh0dHBzOi8vaWNvbW9vbi5pby9hcHBcbi8vIFRoZSBzdHlsZXMgYmVsb3cgYXJlIGZyb20gdGhlaXIgZXhwb3J0IG9mIHRoZSBmb250XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIElDT01PT04gRk9OVCBPVkVSUklERVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZm9udC1mYWNlKFwiRlNpY29uYWtyb25cIiwgXCIvYXNzZXRzL3NyYy9mb250cy9GU2ljb25ha3JvblwiKTtcblxuLmZzIHtcblx0Zm9udC1mYW1pbHk6ICdGU2ljb25ha3JvbicgIWltcG9ydGFudDtcblx0c3BlYWs6IG5vbmU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBvcmlnIGJhc2VsaW5lXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU3R5bGVzIGNvcGllZCBmcm9tIGljb21vb24gYXBwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mcy1wZW5jaWwge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLXBlbmNpbDtcbiAgfVxufVxuLmZzLXNhaWxlZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtc2FpbGVlO1xuICB9XG59XG4uZnMtaWNvbi1saXN0LXNvbGlkIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1pY29uLWxpc3Qtc29saWQ7XG4gIH1cbn1cbi5mcy1pY29uLWxpc3Qtb3V0bGluZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtaWNvbi1saXN0LW91dGxpbmU7XG4gIH1cbn1cbi5mcy1pY29uLWdyaWQtc29saWQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWljb24tZ3JpZC1zb2xpZDtcbiAgfVxufVxuLmZzLWljb24tZ3JpZC1vdXRsaW5lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1pY29uLWdyaWQtb3V0bGluZTtcbiAgfVxufVxuLmZzLXZpcnR1YWwtdG91cjIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLXZpcnR1YWwtdG91cjI7XG4gIH1cbn1cbi5mcy1sZXZlbHMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWxldmVscztcbiAgfVxufVxuLmZzLWNoZXZyb24tbGFyZ2Uge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWNoZXZyb24tbGFyZ2U7XG4gIH1cbn1cbi5mcy1iYXJzIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1iYXJzO1xuICB9XG59XG4uZnMtc2VhcmNoIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1zZWFyY2g7XG4gIH1cbn1cbi5mcy1hcnQtZGVzaWduIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1hcnQtZGVzaWduO1xuICB9XG59XG4uZnMtYnVzaW5lc3Mge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWJ1c2luZXNzO1xuICB9XG59XG4uZnMtZmlsbS10ZWxldmlzaW9uIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1maWxtLXRlbGV2aXNpb247XG4gIH1cbn1cbi5mcy1nYW1lcyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtZ2FtZXM7XG4gIH1cbn1cbi5mcy1tZWRpYS1jb21tdW5pY2F0aW9ucyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtbWVkaWEtY29tbXVuaWNhdGlvbnM7XG4gIH1cbn1cbi5mcy1tdXNpYy1yZWNvcmRpbmcge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLW11c2ljLXJlY29yZGluZztcbiAgfVxufVxuLmZzLXNwb3J0cyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtc3BvcnRzO1xuICB9XG59XG4uZnMtd2ViLXRlY2hub2xvZ3kge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLXdlYi10ZWNobm9sb2d5O1xuICB9XG59XG4uZnMteW91dHViZS1hbHQyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy15b3V0dWJlLWFsdDI7XG4gIH1cbn1cbi5mcy1zbmFwY2hhdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtc25hcGNoYXQ7XG4gIH1cbn1cbi5mcy1mYWNlYm9vayB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtZmFjZWJvb2s7XG4gIH1cbn1cbi5mcy1mYWNlYm9vay1hbHQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWZhY2Vib29rLWFsdDtcbiAgfVxufVxuLmZzLWdvZ2dsZXBsdXMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWdvZ2dsZXBsdXM7XG4gIH1cbn1cbi5mcy1nb29nbGVwbHVzLWFsdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtZ29vZ2xlcGx1cy1hbHQ7XG4gIH1cbn1cbi5mcy1pbnN0YWdyYW0ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWluc3RhZ3JhbTtcbiAgfVxufVxuLmZzLWluc3RhZ3JhbS1hbHQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWluc3RhZ3JhbS1hbHQ7XG4gIH1cbn1cbi5mcy1saW5rZWRpbiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtbGlua2VkaW47XG4gIH1cbn1cbi5mcy1saW5rZWRpbi1hbHQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWxpbmtlZGluLWFsdDtcbiAgfVxufVxuLmZzLXBpbnRlcmVzdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtcGludGVyZXN0O1xuICB9XG59XG4uZnMtdHVtYmxyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy10dW1ibHI7XG4gIH1cbn1cbi5mcy10d2l0dGVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy10d2l0dGVyO1xuICB9XG59XG4uZnMtdHdpdHRlci1hbHQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLXR3aXR0ZXItYWx0O1xuICB9XG59XG4uZnMteW91dHViZS1hbHQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLXlvdXR1YmUtYWx0O1xuICB9XG59XG4uZnMtdmlydHVhbC10b3VyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy12aXJ0dWFsLXRvdXI7XG4gIH1cbn1cbi5mcy1jYWxsLWJvcmRlci10aGljayB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtY2FsbC1ib3JkZXItdGhpY2s7XG4gIH1cbn1cbi5mcy1waG9uZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtcGhvbmU7XG4gIH1cbn1cbi5mcy10YWxrLWJvcmRlci10aGljayB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtdGFsay1ib3JkZXItdGhpY2s7XG4gIH1cbn1cbi5mcy1jaGF0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1jaGF0O1xuICB9XG59XG4uZnMtZG93bmxvYWQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWRvd25sb2FkO1xuICB9XG59XG4uZnMtcGxheS1idXR0b24ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLXBsYXktYnV0dG9uO1xuICB9XG59XG4uZnMtaW5mbyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtaW5mbztcbiAgfVxufVxuLmZzLWFuZ2xlLWRvd24ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWFuZ2xlLWRvd247XG4gIH1cbn1cbi5mcy1hcnJvdy1sZWZ0LWJvbGQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWFycm93LWxlZnQtYm9sZDtcbiAgfVxufVxuLmZzLWFycm93LXJpZ2h0LWJvbGQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWFycm93LXJpZ2h0LWJvbGQ7XG4gIH1cbn1cbi5mcy1hcnJvdy1sZWZ0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1hcnJvdy1sZWZ0O1xuICB9XG59XG4uZnMtYXJyb3ctcmlnaHQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZzLWFycm93LXJpZ2h0O1xuICB9XG59XG4uZnMtYnVsbGV0LXRyaSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtYnVsbGV0LXRyaTtcbiAgfVxufVxuLmZzLWNoZWNrIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1jaGVjaztcbiAgfVxufVxuLmZzLWNsb3NlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1jbG9zZTtcbiAgfVxufVxuLmZzLWNsb3NlLWFsdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtY2xvc2UtYWx0O1xuICB9XG59XG4uZnMtc2xhc2gtYnVsbGV0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1zbGFzaC1idWxsZXQ7XG4gIH1cbn1cbi5mcy1zbGFzaC10aWxlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmcy1zbGFzaC10aWxlO1xuICB9XG59XG4uZnMtbG9nby1iYWRnZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZnMtbG9nby1iYWRnZTtcbiAgfVxufVxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gTE9HT1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkxPQ0tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxvZ28ge1xuXHRcblx0Ly8gQmFzZVxuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiByZW0oMjYpO1xuXG5cdC8vIFN0b3AgY2hyb21lIG9wYWNpdHkgaG92ZXIgYnVnXG5cdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVaKDApKTtcblxuXHQvLyBUcmFuc2l0aW9uXG5cdG9wYWNpdHk6IDE7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cblx0Ly8gQWNjZXNzaWJpbGl0eTogaG92ZXIgc3RhdGUgaXMgdGhlIHNhbWUgYXMgZm9jdXMuIEZvciBub3dcblx0b3V0bGluZTogbm9uZTtcblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0b3BhY2l0eTogLjU7XG5cdH1cblxuXHQvLyBDb25zdHJhaW4gdGhlIHNpemUgb2YgdGhlIGltYWdlIGFuZCBjaGFuZ2UgZGlzcGxheSBmcm9tIGlubGluZSB0byBibG9jayBmb3IgbGF5b3V0XG5cdGltZyB7XG5cdFx0aGVpZ2h0OiByZW0oMjYpO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gUFJJTUFSWSBOQVZcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnByaW1hcnktbmF2IHtcblx0XG5cdC8vIE1ha2Ugc3VyZSB0aGVyZSBpcyByb29tIGZvciB0aGUgV0hPUFBFUiEgbWVudSBidXR0b25cblx0QGluY2x1ZGUgY2FsYyh3aWR0aCwgXCIxMDAlIC0gI3skdG9wYmFyLWhlaWdodH1cIik7XG5cdC8vIHdpZHRoOiAxMDAlO1xuXHRcblx0Ly8gUG9zaXRpb24gYW5kIHNpemVcblx0QGluY2x1ZGUgY2FsYyhoZWlnaHQsIFwiMTAwJSAtICN7JHRvcGJhci1oZWlnaHR9XCIpO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogJHRvcGJhci1oZWlnaHQ7XG5cdEBpbmNsdWRlIGNhbGMocmlnaHQsIFwiLTEwMCUgKyAjeyR0b3BiYXItaGVpZ2h0fVwiKTtcblxuXHQvLyBPdmVyZmxvd1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXG5cdC8vIFNraW5cblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN0YXJzY3JlYW07XG5cblx0Ly8gSW5pdGlhbCB2aXNpYmlsaXR5XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHQvLyBUcmFuc2l0aW9uXG5cdEBpbmNsdWRlIHRyYW5zaXRpb24ocmlnaHQgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcsIHZpc2liaWxpdHkgJGdsb2JhbC10aW1pbmcsIHRyYW5zZm9ybSAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHR3aWR0aDogcmVtKDMyMCk7XG5cdFx0cmlnaHQ6IHJlbSgtMzIwKTtcblx0fVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuICBcdFxuICBcdC8vIFJlc2V0IFdpZHRoXG4gIFx0d2lkdGg6IGF1dG87XG4gIFx0aGVpZ2h0OiBhdXRvO1xuICBcdG1heC13aWR0aDogaW5pdGlhbDtcbiAgXHRyaWdodDogYXV0bztcbiAgXHR0b3A6IGF1dG87XG5cbiAgXHQvLyBNYWtlIG5hdiB2aXNpYmxlXG4gIFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBcdC8vIFJlc2V0IHBvc2l0aW9uIG9mIHRoZSBuYXZcbiAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLyBOQVYgSVMgT05cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdi0taXMtb24gLnByaW1hcnktbmF2IHtcblx0XG5cdC8vIE1vdmUgZnJvbSBvZmYtY2FudmFzIHRvIG9uXG5cdHJpZ2h0OiAwO1xuXHRcblx0Ly8gTWFrZSBQcmltYXJ5IE5hdiB2aXNpYmxlXG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cblx0Ly8gU2hhZG93XG5cdGJveC1zaGFkb3c6IHJlbSgwKSByZW0oNCkgcmVtKDQpIDAgcmdiYSgwLDAsMCwuMyk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJPRFkgQ0xBU1Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVGhpcyBzdG9wcyB0aGUgcGFnZSBmcm9tIHNjcm9sbGluZyBvbiBkZXNrdG9wIHdoZW4gdGhlIG5hdiBpcyBvcGVuXG4ubmF2LS1pcy1vbiB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNIUklOS1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2hyaW5rIHtcblx0LnByaW1hcnktbmF2IC5wcmltYXJ5LW5hdl9fZHJvcGRvd24ge1xuXHRcdHRvcDogJHRvcGJhci1oZWlnaHQgKyAkbWV0YWJhci1oZWlnaHQ7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTkFWIEJMT0NLXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wcmltYXJ5LW5hdl9fYmxvY2sge1xuXG5cdHdpZHRoOiAxMDAlO1xuXG5cdGJvcmRlci10b3A6IHNvbGlkIHJlbSgxKSAkY29sb3ItbWVnYXRyb247XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIHJlbSgxKSAkY29sb3ItamV0ZmlyZTtcblx0Y29sb3I6ICRjb2xvci1tZWdhdHJvbjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuICBcdHdpZHRoOiBhdXRvO1xuICBcdHBhZGRpbmc6IDAgcmVtKDEwKTtcbiAgXHRib3JkZXI6IG5vbmU7XG4gIFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG4gIFx0cGFkZGluZzogMCByZW0oMTUpO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE5BViBCVVRUT05cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnByaW1hcnktbmF2X19idXR0b24sXG4ucHJpbWFyeS1uYXZfX2xpbmsge1xuXHRcblx0Ly8gQmFzZVxuXHRwYWRkaW5nOiByZW0oMTQpIHJlbSgxNSkgcmVtKDE0KSByZW0oMTUpO1xuXHRtYXJnaW46IDA7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHQvLyBVc2VkIHRvIHN0eWxlIHRoZSBuYXRpdmUgYnV0dG9uIGVsZW1lbnRcblx0Ym9yZGVyOiBub25lO1xuXHRmb250LXNpemU6IHJlbSgxOCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuXHRAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcblxuXHQvLyBTa2luXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zdGFyc2NyZWFtO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblxuXHQvLyBGb3IgcG9zaXRpb25pbmcgdGhlIGljb24gb24gb2ZmLWNhbnZhcyBtZW51XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQvLyBEcm9wZG93biBJbmRpY2F0b3IgSWNvblxuXHQ+IGkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDBweDtcblx0XHRyaWdodDogMHB4O1xuXHRcdHdpZHRoOiByZW0oNDUpO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDUyKTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC1zaXplOiByZW0oNik7XG5cdFx0Y29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0QGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihjZW50ZXIpO1xuXHRcdEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGVaKDBkZWcpKTtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcblx0fVxuXG5cdC8vIEhvdmVyIENvbG9yXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRcdD4gaSB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0XHR9XG5cdH1cblxuXHQvLyBDaGFuZ2UgZm9jdXMgb3V0bGluZVxuXHQmOmZvY3VzLFxuXHQmLmFjdGl2ZSB7XG5cdFx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHQ+IGkge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRcdH1cblx0fVxuXHQvLyBPbmx5IHJvdGF0ZSB3aGVuIGFjdGl2ZVxuXHQmLmFjdGl2ZSA+IGkge1xuXHRcdEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGVaKDE4MGRlZykpO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuICAvLyBOQVJST1dcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG4gIFx0Zm9udC1zaXplOiByZW0oMTQpO1xuICBcdHBhZGRpbmc6IDA7XG4gIFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgXHQ+IGkge1xuICBcdFx0Ly8gcGFkZGluZy1sZWZ0OiByZW0oNSk7XG4gIFx0XHRwYWRkaW5nOiByZW0oNSk7XG4gIFx0XHRwb3NpdGlvbjogc3RhdGljO1xuICBcdFx0dG9wOiBhdXRvO1xuICBcdFx0cmlnaHQ6IGF1dG87XG4gIFx0XHRoZWlnaHQ6IGF1dG87XG4gIFx0XHR3aWR0aDogYXV0bztcbiAgXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG4gIFx0XHQmOmJlZm9yZSB7XG4gIFx0XHRcdG1hcmdpbjogYXV0bztcbiAgXHRcdH1cbiAgXHR9XG5cbiAgXHQmOmZvY3VzLFxuICBcdCYuYWN0aXZlIHtcbiAgXHRcdD4gaSB7XG4gIFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBcdFx0fVxuICBcdH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEUk9QRE9XTlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucHJpbWFyeS1uYXZfX2Ryb3Bkb3duIHtcblxuXHQvLyBJbml0aWFsIHZpc2liaWxpdHkgaGlkZGVuXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0cGFkZGluZy1ib3R0b206IHJlbSgyMCk7XG5cblx0Ly8gU2tpblx0XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblxuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKHRvcCAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cblx0LmNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cbiAgLy8gTkFSUk9XXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXG4gIFx0Ly8gQmFzZVxuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cblx0XHQvLyBQb3NpdGlvblxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRsZWZ0OiAwO1xuICBcdHRvcDogJHRvcGJhci1oZWlnaHQtbGFyZ2UgKyAkbWV0YWJhci1oZWlnaHQ7XG5cbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsMCwwLC4zKTtcblxuICBcdC5jb250YWluZXIge1xuICBcdFx0cGFkZGluZzogMCByZW0oMTUpO1xuICBcdH1cbiAgfVxufVxuXG4vLyBNZW51IEl0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wcmltYXJ5LW5hdl9fZHJvcGRvd24taXRlbSB7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlOyAvLyBmb3IgcG9zaXRpb24gb2YgdGhlIGJvcmRlciBlZmZlY3Rcblx0bWFyZ2luOiAwO1xuXG5cdCY6aG92ZXIgYTphZnRlciB7XG5cdFx0d2lkdGg6IDRweDtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IHJlbSgyMCk7XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHR9XG5cdFx0Jjpob3ZlciBhOmFmdGVyIHtcblx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdG1hcmdpbi1yaWdodDogcmVtKDQwKTtcblx0fVxufVxuXG4vLyBNZW51IExpbmtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wcmltYXJ5LW5hdl9fZHJvcGRvd24tbGluayB7XG5cblx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRmb250LXNpemU6IHJlbSgxNCk7XG5cdHBhZGRpbmc6IHJlbSgxMCkgcmVtKDEyKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQvLyBDcmVhdGUgdGhlIGJvdHRvbSBib3JkZXIgZWZmZWN0XG5cdCY6YWZ0ZXIge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHR0b3A6IDA7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRib3gtc2l6aW5nOiBpbml0aWFsO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZywgaGVpZ2h0ICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0cGFkZGluZzogcmVtKDEwKSAwO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRoZWlnaHQ6IDBweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0dG9wOiBhdXRvO1xuXHRcdFx0Ym90dG9tOiAwcHg7XG5cdFx0XHRsZWZ0OiAwcHg7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0fVxufVxuXG4vLyBUaXRsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnByaW1hcnktbmF2X19kcm9wZG93bi10aXRsZSB7XG5cblx0cGFkZGluZzogcmVtKDE1KTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdHBhZGRpbmc6IHJlbSgzMCkgcmVtKDE1KSByZW0oNykgMDtcblx0fVxufVxuXG4vLyBUaXRsZSBMaW5rXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucHJpbWFyeS1uYXZfX2Ryb3Bkb3duLXRpdGxlLWxpbmsge1xuXHRmb250LXNpemU6IHJlbSgxOCk7XG5cdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0aSB7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0oMzApO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyAuMjVzLCBvcGFjaXR5ICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nIC4yNXMpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjIpO1xuXHR9XG59XG5cbi8vIEFuaW1hdGUgdGhlIEljb25cbi5kcm9wZG93bi0taXMtb24gLnByaW1hcnktbmF2X19kcm9wZG93bi10aXRsZS1saW5rIGkge1xuXHRwYWRkaW5nLWxlZnQ6IHJlbSg1KTtcblx0b3BhY2l0eTogMTtcbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBDTE9TRSBTVVJGQUNFXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCQVNFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jbG9zZS1zdXJmYWNlIHtcblxuXHQvLyBTaXplXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cblx0Ly8gUG9zaXRpb25cblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHotaW5kZXg6ICR6LWluZGV4LTc7XG5cblx0Ly8gU2tpblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuXG5cdC8vIEhpZGRlbiB1bnRpbCBuYXYgaXMgb3BlblxuXHRvcGFjaXR5OiAwO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENMT1NFIEFMTCBPRiBUSEUgVEhJTkdTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5uYXYtLWlzLW9uIC5jbG9zZS1zdXJmYWNlLFxuLmZpbHRlci1wYW5lbC0taXMtb24gLmNsb3NlLXN1cmZhY2UsXG4uZHJvcGRvd24tLWlzLW9uIC5jbG9zZS1zdXJmYWNlLFxuLnNlYXJjaC0taXMtb24gLmNsb3NlLXN1cmZhY2Uge1xuXHRvcGFjaXR5OiAxO1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBCVVRUT05TXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCQVNFIEJVVFRPTlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuIHtcblxuXHQvLyBSZXNldFxuXHRAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogcmVtKDE0KTtcblx0Zm9udC1mYW1pbHk6ICRjdXN0b20tZm9udC0xO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdC8vIFRyYW5zaXRpb25cblx0QGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciA2MDBtcyAkZ2xvYmFsLWVhc2luZywgYmFja2dyb3VuZC1jb2xvciA2MDBtcyAkZ2xvYmFsLWVhc2luZyk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIElDT04gQlVUVE9OXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tLWljb24ge1xuXHRwYWRkaW5nOiByZW0oOCkgcmVtKDEwKTtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1lZ2F0cm9uO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBSSU1BUllcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi0tcHJpbWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0cGFkZGluZzogMTRweCAyNHB4O1xuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRcdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTRUNPTkRBUllcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi0tc2Vjb25kYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRwYWRkaW5nOiAxNHB4IDI0cHg7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZMVUlEXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tLWZsdWlkIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdBVENIIFZJREVPIEJVVFRPTlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ud2F0Y2gtdmlkZW8ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0bWFyZ2luLXRvcDogcmVtKDEwKTtcblx0cGFkZGluZzogMDtcblx0LnNwYW4ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0fVxuXHQuZnMge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDQ1KTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRtYXJnaW4tbGVmdDogcmVtKDgpO1xuXHRcdG1hcmdpbi1yaWdodDogcmVtKDgpO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRtYXJnaW4tdG9wOiByZW0oMjApO1xuXHRcdC5zcGFuIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDIyKTtcblx0XHR9XG5cdFx0LmZzIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDUyKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQlVUVE9OIEJBUlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWJhciB7XG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdEBpbmNsdWRlIGZsZXgtZmxvdyhyb3cgd3JhcCk7XG5cdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblxuXHQuYnRuIHtcblx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRAaW5jbHVkZSBmbGV4LWZsb3cocm93IG5vd3JhcCk7XG5cblx0XHQuYnRuIHtcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRAaW5jbHVkZSBmbGV4LWZsb3cocm93IG5vd3JhcCk7XG5cblx0XHQuYnRuIHtcblx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdH1cblx0fVxufVxuXG4uYnRuLWJhci0tMi1idXR0b25zIHtcblx0LmJ0biB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdC5idG4ge1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcblx0XHRcdH1cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gTElHSFRCT1hcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxpZ2h0Ym94IHtcblxuXHQvLyBCYXNlXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cblx0Ly8gVmlzaWJpbGl0eVxuXHRvcGFjaXR5OiAwO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cblx0Ly8gUG9zaXRpb25cblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDBweDtcblx0bGVmdDogMHB4O1xuXHR6LWluZGV4OiAkei1pbmRleC0xMDtcblxuXHQvLyBPdmVyZmxvd1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcblx0Ly8gU2tpblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC44KTtcblxuXHQvLyBUcmFuc2l0aW9uXG5cdEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZywgdmlzaWJpbGl0eSAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cblx0Ly8gRmxleGJveFxuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXHRAaW5jbHVkZSBmbGV4LXdyYXAobm93cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT05UUk9MU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGlnaHRib3hfX2NvbnRyb2xzIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDE1cHg7XG5cdHJpZ2h0OiAxNXB4O1xuXHRpIHtcblx0XHRmb250LXNpemU6IHJlbSgzMCk7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTlRFTlRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxpZ2h0Ym94X19jb250ZW50IHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogYXV0byBhdXRvO1xuXG5cdGlmcmFtZSB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgXHR3aWR0aDogNzUlO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFDVElWRSBTVEFURVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGlnaHRib3gtLWFjdGl2ZSB7XG5cblx0Ly8gU3RvcCBib2R5IGZyb20gc2Nyb2xsaW5nXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0Ly8gU2hvdyBMaWdodGJveFxuXHQubGlnaHRib3gge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBGT1JNU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkFTRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZm9ybSB7XG5cdG1hcmdpbjogcmVtKDIwKSAwO1xufVxuXG4uZm9ybV9fZ3JvdXAge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtKDIwKTtcbn1cblxuLmZvcm0tLWlubGluZSB7XG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG5cdEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xufVxuXG4uZm9ybV9fdGl0bGUge1xuXHRmb250LXNpemU6IHJlbSgxNik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0cGFkZGluZzogcmVtKDEwKSAwIHJlbSgyMCkgMDtcbn1cblxuLmZvcm1fX2xhYmVsIHtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiByZW0oMTApO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZvcm1fX2NoZWNrYm94IHtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDE5KTtcblx0LmZvcm1fX2xhYmVsIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENVU1RPTSBDSEVDS0JPWFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZm9ybV9fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogLTEwMDBlbTtcbn1cblxuLmZvcm1fX2NoZWNrYm94IC5jdXN0b20tY2hlY2tib3gge1xuXHRoZWlnaHQ6IHJlbSgyMCk7XG5cdHdpZHRoOiByZW0oMjApO1xuXHRtYXJnaW46IDAgcmVtKDEwKSAwIDA7XG5cdHBhZGRpbmc6IDA7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdGJvcmRlcjogc29saWQgcmVtKDEpICRjb2xvci10cnlwdGljb247XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXItcmFkaXVzOiByZW0oMik7XG59XG5cbi5mb3JtX19jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAuY3VzdG9tLWNoZWNrYm94IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xufVxuXG4uZm9ybV9fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyArIC5jdXN0b20tY2hlY2tib3gge1xuXHRib3JkZXItY29sb3I6ICRjb2xvci1idW1ibGViZWU7XG59XG5cbi5mb3JtX19jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAuY3VzdG9tLWNoZWNrYm94OmFmdGVyIHtcblx0Y29udGVudDogJ1xcZTkwYyc7XG5cdGZvbnQtZmFtaWx5OiAnRlNpY29uYWtyb24nO1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHJlbSg4KTtcblx0cmlnaHQ6IHJlbSg2KTtcblx0bWFyZ2luLXJpZ2h0OiByZW0oLTUpO1xuXHRtYXJnaW4tdG9wOiByZW0oLTUpO1xufVxuXG4uY3VzdG9tLWNoZWNrYm94LWxhYmVsIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBURVhUXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb3JtX19pbnB1dC10ZXh0IHtcblx0Ym9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuXHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6ICRjb2xvci1ncmltbG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cdGZvbnQtc2l6ZTogcmVtKDE0KTtcblx0cGFkZGluZzogcmVtKDEwKTtcblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItYnVtYmxlYmVlO1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0VMRUNUXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb3JtX19zZWxlY3Qge1xuXHRAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuXHRmb250LXNpemU6IHJlbSgxOCk7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgcmVtKDEpICRjb2xvci1idW1ibGViZWU7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdG91dGxpbmU6IG5vbmU7XG5cdHBhZGRpbmc6IHJlbSgxMCk7XG5cdGNvbG9yOiAkY29sb3ItbWVnYXRyb247XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU1VCTUlUXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb3JtX19pbnB1dC1zdWJtaXQge1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMjApO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJRSBTRUxFQ1QgQVJST1cgSElERVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gQ1RBXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTRUNUSU9OXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jdGFzIHtcblx0LmN0YTpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCTE9DS1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY3RhIHtcblx0cGFkZGluZzogcmVtKDIwKTtcblx0cGFkZGluZy1yaWdodDogcmVtKDUwKTtcblx0bWFyZ2luLXRvcDogcmVtKDEwKTtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcblx0XG5cdC8vIFBvc2l0aW9uIHJlbGF0aXZlIGZvciBpY29uIGFycm93IHBvc2l0aW9uaW5nIG9uIHRoZSBwc2V1ZG8gZWxlbWVudFxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQvLyBGb3Igd2hlbiBjdGEgaXMgYW4gYW5jaG9yXG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0cGFkZGluZzogcmVtKDMwKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0oNjApO1xuXHRcdG1hcmdpbi10b3A6IHJlbSgxNSk7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDE1KTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFTEVNRU5UU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBUaXRsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY3RhX190aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmb250LXNpemU6IHJlbSgxNCk7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oMTIpO1xuXG5cdC5zZW1pLWJvbGQge1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdH1cblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0fVxufVxuXG4uY3RhX190aXRsZTpvbmx5LWNoaWxkIHtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jdGFfX3RpdGxlLS1jYXBzIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiByZW0oMjQpO1xuXHRmb250LXdlaWdodDogMzAwO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjgpO1xuXHR9XG59XG5cbi5jdGFfX3RpdGxlLS1sYXJnZSB7XG5cdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDI2KTtcblx0fVxufVxuXG4vLyBEZXNjcmlwdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY3RhX19kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogcmVtKDE1KTtcblx0c3Ryb25nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4vLyBJY29uIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jdGE6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogcmVtKDE4KTtcblx0aGVpZ2h0OiByZW0oNjApO1xuXHR0b3A6IDUwJTtcblx0cmlnaHQ6IHJlbSgyMCk7XG5cdG1hcmdpbi10b3A6IHJlbSgtMTUpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0bWFyZ2luLXRvcDogcmVtKC0zMCk7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTU9ESUZJRVJTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFByaW1hcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmN0YS0tcHJpbWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cdC5jdGFfX3RpdGxlIHtcblx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdH1cblx0LmN0YV9fZGVzY3JpcHRpb24ge1xuXHRcdGNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcblx0fVxuXHQmOmFmdGVyIHtcblx0XHRmb250LWZhbWlseTogJ0ZTaWNvbmFrcm9uJztcblx0XHRjb250ZW50OiBcIlxcZTkwYVwiO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDMwKTtcblx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdH1cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItaG90cm9kLDUlKTtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg2MCk7XG5cdFx0fVxuXHR9XG59XG5cbi8vIFNlY29uZGFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY3RhLS1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcblx0Ym9yZGVyLWxlZnQ6IHNvbGlkIHJlbSgzKSAkY29sb3ItaG90cm9kO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcpO1xuXHQuY3RhX190aXRsZSB7XG5cdFx0Y29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdH1cblx0LmN0YV9fZGVzY3JpcHRpb24ge1xuXHRcdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdGZvbnQtZmFtaWx5OiAnRlNpY29uYWtyb24nO1xuXHRcdGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG5cdFx0Zm9udC1zaXplOiByZW0oMzApO1xuXHRcdGNvbG9yOiAkY29sb3ItaG90cm9kO1xuXHR9XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdFx0LmN0YV9fdGl0bGUge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRcdH1cblx0XHQuY3RhX19kZXNjcmlwdGlvbiB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRcdH1cblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg2MCk7XG5cdFx0fVxuXHR9XG59XG5cbi8vIFNlY29uZGFyeSBBTFRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmN0YS0tc2Vjb25kYXJ5LWFsdCB7XG5cdEBleHRlbmQgLmN0YS0tc2Vjb25kYXJ5O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItamV0ZmlyZTtcbn1cblxuLy8gU2Vjb25kYXJ5IEFMVCBCdW1ibGViZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY3RhLS1zZWNvbmRhcnktYWx0LWJ1bWJsZWJlZSB7XG5cdGJvcmRlci1jb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0LmN0YV9fdGl0bGUge1xuXHRcdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHR9XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4vLyBEYXJrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jdGEtLWRhcmsge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItdHJ5cHRpY29uLDEwJSk7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Zm9udC1mYW1pbHk6ICdGU2ljb25ha3Jvbic7XG5cdFx0Y29udGVudDogXCJcXGU5MGFcIjtcblx0XHRmb250LXNpemU6IHJlbSgzMCk7XG5cdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDYwKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSUNPTiAtIEljb24gaW5zdGVhZCBvZiBhcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY3RhLS1jdXN0b20taWNvbiB7XG5cdHBhZGRpbmctcmlnaHQ6IHJlbSg2OCk7XG5cdCY6YWZ0ZXIge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDQwKTtcblx0XHRmb250LWZhbWlseTogJ0ZTaWNvbmFrcm9uJztcblx0XHRjb250ZW50OiAnXFxlOTNhJztcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHRyaWdodDogNDBweDtcblx0XHRtYXJnaW4tdG9wOiByZW0oLTIwKTtcblx0fVxuXHQmOmhvdmVyOmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDUwKTtcblx0XHRcdHJpZ2h0OiA0NXB4O1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtKC0yNSk7XG5cdFx0fVxuXHR9XG59XG5cbi5jdGEtLXByaW1hcnkuY3RhLS1jdXN0b20taWNvbiB7XG5cdCY6YWZ0ZXIge1xuXHRcdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0fVxufVxuXG4uY3RhLS1zZWNvbmRhcnkuY3RhLS1jdXN0b20taWNvbiB7XG5cdCY6YWZ0ZXIge1xuXHRcdGNvbG9yOiAkY29sb3ItaG90cm9kO1xuXHR9XG5cdCY6aG92ZXI6YWZ0ZXIge1xuXHRcdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0fVxufVxuXG4uY3RhLS1zZWNvbmRhcnktYWx0LWJ1bWJsZWJlZS5jdGEtLWN1c3RvbS1pY29uIHtcblx0JjphZnRlciB7XG5cdFx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdH1cbn1cblxuLmN0YS0tZGFyay5jdGEtLWN1c3RvbS1pY29uIHtcblx0JjphZnRlciB7XG5cdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHR9XG59XG5cbi5jdGEtLWN1c3RvbS1pY29uLWNhbGwge1xuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnXFxlOTFlJztcblx0XHRmb250LWZhbWlseTogJ0ZTaWNvbmFrcm9uJztcblx0fVxufVxuXG4uY3RhLS1jdXN0b20taWNvbi10YWxrIHtcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJ1xcZTkxZCc7XG5cdFx0Zm9udC1mYW1pbHk6ICdGU2ljb25ha3Jvbic7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBBTkdMRSBURUtcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUGFyZW50J3MgcG9zaXRpb24gc2hvdWxkIGJlIHNldCB0byByZWxhdGl2ZSBmb3IgdGhpcyB0byB3b3JrXG4uYW5nbGUtdGVrIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXJnaW4tYm90dG9tOiAtMXB4OyAvLyBGaXhlcyB0aGUgMSBweCBsaW5lIHRoYXQgc2hvd3MgdXBcbn1cblxuLmFuZ2xlLXRlazphZnRlciB7XG5cdGNvbnRlbnQ6ICcgJztcblx0d2lkdGg6IDE1MCU7XG5cdGhlaWdodDogMTAwJTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IC0xMDAlO1xuXHR6LWluZGV4OiAkei1pbmRleC0xO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNT0RJRklFUlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gT3JpZ2luIFJpZ2h0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hbmdsZS10ZWstLXJpZ2h0OmFmdGVyIHtcblx0bGVmdDogLTUwJTtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg1LjRkZWcpKTtcblx0QGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbih0b3AgcmlnaHQpO1xufVxuXG4vLyBPcmlnaW4gTGVmdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYW5nbGUtdGVrLS1sZWZ0OmFmdGVyIHtcblx0cmlnaHQ6IC01MCU7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTUuNGRlZykpO1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHRvcCBsZWZ0KTtcbn1cblxuLy8gU2tpbiAtIFdoaXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hbmdsZS10ZWstLXdoaXRlOmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1qZXRmaXJlO1xufVxuXG4vLyBTa2luIC0gVGFuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hbmdsZS10ZWstLXRhbjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13cmVjay1nYXI7XG5cdGJvcmRlcjogc29saWQgMXB4ICRjb2xvci13cmVjay1nYXI7XG59XG5cbi8vIFNraW4gLSBCbGFja1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYW5nbGUtdGVrLS1ibGFjazphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1za3l3YXJwO1xuXHRib3JkZXI6IHNvbGlkIDFweCAkY29sb3Itc2t5d2FycDtcblx0b3BhY2l0eTogLjU7XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gRkVFRCBCTE9DS1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkxPQ0tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZlZWQtYmxvY2tzIHtcblx0cGFkZGluZy10b3A6IHJlbSg0NCk7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oMzIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcbn1cblxuLmZlZWQtYmxvY2sge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtKDQwKTtcbn1cblxuLmZlZWQtYmxvY2tfX2ltYWdlIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5mZWVkLWJsb2NrX19saW5rIHtcblx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdCY6aG92ZXIge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIElNQUdFUyAmIFZJREVPXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jb25zdHJhaW4tc2l6ZSB7XG4gIG92ZXJmbG93OmhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiByZW0oMTUwKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihoZWlnaHQgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcgLjI1cyk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhcmdlKSB7XG5cdFx0aGVpZ2h0OiByZW0oMjA4KTtcblx0fVxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRoZWlnaHQ6IHJlbSgyNjcpO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGhlaWdodDogcmVtKDE4MCk7XG4gIH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0aGVpZ2h0OiByZW0oMjUzKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG4gICAgaGVpZ2h0OiByZW0oMzIxKTtcbiAgfVxufVxuXG4uY29uc3RyYWluLXNpemUgaWZyYW1lLCAuYWxpZ24tbWlkZGxlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBURVhUXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi50cnVuY2F0ZSB7XG4gIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRydW5jYXRlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50cnVuY2F0ZSBkaXYge1xuXHRoZWlnaHQ6IDExMHB4O1xuXHRwYWRkaW5nLXRvcDogcmVtKDIwKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvLyBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50cnVuY2F0ZSBkaXYgc3BhbiB7XG5cdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcbn1cblxuLmZlZWQtYmxvY2tfX2xpbmsge1xuXHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRkaXNwbGF5OiBpbmxpbmU7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gVE9HR0xFU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkxPQ0tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnRvZ2dsZXMge1xuXHRcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdHRleHQtYWxpZ246IGluaXRpYWw7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0bWFyZ2luLWxlZnQ6IGluaXRpYWw7XG5cdFx0bWFyZ2luLXJpZ2h0OiBpbml0aWFsO1xuXHRcdHBhZGRpbmc6IDAgMDtcblx0fVxufVxuXG4vLyBSaWdodCBBbGlnbmVkIFRvZ2dsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnRvZ2dsZXMtLXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cblx0LnRvZ2dsZV9fbGFiZWwge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRPR0dMRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4udG9nZ2xlIHtcblxuXHQvLyBCYXNlXG5cdHBhZGRpbmc6IHJlbSg0KSByZW0oMjApO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IHJlbSgxNCk7XG5cdG1hcmdpbi1yaWdodDogMDtcblxuXHQvLyBTdGFjayB0aGUgdG9nZ2xlc1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0Ly8gQm9yZGVyXG5cdGJvcmRlcjogc29saWQgcmVtKDIpICRjb2xvci10cnlwdGljb247XG5cblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQvLyBSYWRpdXNcblx0JHRvZ2dsZS1ib3JkZXItcmFkaXVzOiByZW0oMjApO1xuXHRAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkdG9nZ2xlLWJvcmRlci1yYWRpdXMpO1xuXHRAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCR0b2dnbGUtYm9yZGVyLXJhZGl1cyk7XG5cdEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCR0b2dnbGUtYm9yZGVyLXJhZGl1cyk7XG5cdEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkdG9nZ2xlLWJvcmRlci1yYWRpdXMpO1xuXG5cdC8vIFRyYW5zaXRpb25zXG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZywgY29sb3IgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcsIGJvcmRlci1jb2xvciAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cblx0Ly8gU3RhdGVzXG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0XHRjb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhcmdlKSB7XHRcblx0XHQvLyBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QgdG9nZ2xlXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0cGFkZGluZzogcmVtKDcpIHJlbSgzNik7XG5cdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdG1hcmdpbi1yaWdodDogcmVtKDgpO1xuXHR9XG59XG5cbi8vIExhYmVsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi50b2dnbGVfX2xhYmVsIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdHBhZGRpbmctYm90dG9tOiByZW0oMTApO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdHRleHQtYWxpZ246IGluaXRpYWw7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbSgyMCk7XG5cdH1cbn1cblxuLnRvZ2dsZV9fbGFiZWwtLXRvcCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBBY3RpdmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnRvZ2dsZS0tYWN0aXZlIHtcblx0Ly8gU2tpblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0fVxufVxuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIE9WRVJWSUVXXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTRUNUSU9OXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vdmVydmlldyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13cmVjay1nYXI7XG5cdHBhZGRpbmctdG9wOiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFMVEVSTkFURSBTRUNUSU9OXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFRoaXMgaXMgZm9yIHRoZSBoZXJvIG92ZXJ2aWV3IGFyZWFzIHRoYXQgdXNlIHRoZSB3aGl0ZSBiYWNrZ3JvdW5kXG5cbi5vdmVydmlldy0tYWx0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWpldGZpcmU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZJUlNUIExFVFRFUlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZXBpYy1maXJzdC1sZXR0ZXIge1xuXHRmb250LXNpemU6IHJlbSg3OCk7XG5cdGxpbmUtaGVpZ2h0OiByZW0oNzgpO1xuXHRmb250LWZhbWlseTogJGN1c3RvbS1mb250LTI7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdGZsb2F0OiBsZWZ0O1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0oMTApO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRjb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDk4KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDkwKTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBTkdMRSBURUsgSU4gT1ZFUlZJRVdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm92ZXJ2aWV3LmFuZ2xlLXRlayB7XG5cblx0Ly8gU28gdGhhdCBjb250ZW50IGRvZXMgbm90IGdldCBjdXQgb2ZmIGJ5IHRoZSBhbmdsZSBwaWVjZVxuXHQvLyBwYWRkaW5nLWJvdHRvbTogcmVtKDE0MCk7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oOTApO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oMjAwKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDI1MCk7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0tJTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm92ZXJ2aWV3LS1za2luLXdoaXRlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWpldGZpcmU7XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gSEVST1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUkVHVUxBUiBIRVJPXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oZXJvIHtcblx0XG5cdC8vIGhlaWdodDogcmVtKDIzOCk7XG5cdGhlaWdodDogcmVtKDMwMCk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1za3l3YXJwO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyAuMjVzKTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRoZWlnaHQ6IHJlbSgzMzApO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGhlaWdodDogcmVtKDUwMCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0bWFyZ2luLXRvcDogJG1ldGFiYXItaGVpZ2h0ICsgKCR0b3BiYXItaGVpZ2h0LWxhcmdlIC8gMik7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdGhlaWdodDogcmVtKDYwMCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuXHRcdGhlaWdodDogcmVtKDgwMCk7XG5cdH1cbn1cblxuLy8gQ29udGVudCBpbiBoZXJvIHRoYXQgbmVlZHMgdG8gYmUgY2VudGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhlcm8gLmNvbnRhaW5lciB7XG5cdGhlaWdodDogaW5oZXJpdDtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KGNvbHVtbiB3cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhFUk8gSU5MSU5FXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oZXJvLWlubGluZSB7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oNDApO1xufVxuXG4uaGVyby1pbmxpbmVfX2ltYWdlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaGVyby1pbmxpbmVfX2NvbnRlbnQge1xuXG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNLSU5TIC0gSEFMT1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBcnQgRGVzaWduXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oYWxvLS1hcnQtZGVzaWduIC5oZXJvIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLy8gQnVzaW5lc3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhbG8tLWJ1c2luZXNzIC5oZXJvIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLy8gRmlsbSBUZWxldmlzaW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oYWxvLS1maWxtLXRlbGV2aXNpb24gLmhlcm8ge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4vLyBHYW1lc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby0tZ2FtZXMgLmhlcm8ge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4vLyBNZWRpYSBDb21tdW5pY2F0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby0tbWVkaWEtY29tbXVuaWNhdGlvbnMgLmhlcm8ge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4vLyBNdXNpYyBSZWNvcmRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhbG8tLW11c2ljLXJlY29yZGluZyAuaGVybyB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbi8vIFNwb3J0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby0tc3BvcnRzIC5oZXJvIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLy8gV2ViIFRlY2hub2xvZ3lcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhbG8tLXdlYi10ZWNobm9sb2d5IC5oZXJvIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9oZXJvZXMvaGVyby13ZWItdGVjaG5vbG9neS1zbS5qcGcnKTtcdFxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9oZXJvZXMvaGVyby13ZWItdGVjaG5vbG9neS5qcGcnKTtcdFxuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNLSU5TIC0gUHJvZ3JhbXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUHJvZ3JhbXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm92ZXJ2aWV3LS1wcm9ncmFtcyAuaGVybyB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaGVyb2VzL2hlcm8tcHJvZ3JhbXMuanBnJyk7XHRcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG59XG5cbi8vIEJ1c2luZXNzIEludGVsbGlnZW5jZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ub3ZlcnZpZXctLWJ1c2luZXNzLWludGVsbGlnZW5jZS1tYXN0ZXIgLmhlcm8ge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcbn1cblxuLy8gRGlnaXRhbCBBcnRzIGFuZCBEZXNpZ24gQmFjaGVsb3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm92ZXJ2aWV3LS1kaWdpdGFsLWFydHMtYW5kLWRlc2lnbi1iYWNoZWxvciAuaGVybyB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG59XG5cbi8vIEVCTVMgU3BvcnRzIE1hbmFnZW1lbnQgVHJhY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm92ZXJ2aWV3LS1lYm1zLXNwb3J0cy1tYW5hZ2VtZW50LXRyYWNrIC5oZXJvIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbn1cblxuLy8gU3BvcnRzIE1hcmtldGluZyBNZWRpYSBCYWNoZWxvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc3BvcnRzLW1hcmtldGluZy1hbmQtbWVkaWEtYmFjaGVsb3IgLmhlcm8ge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xufVxuXG5cblxuXG4vLyBBZG1pc3Npb25zIE92ZXJ2aWV3XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vdmVydmlldy0tYWRtaXNzaW9ucyAuaGVybyB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaGVyb2VzL2hlcm8tYWRtaXNzaW9ucy5qcGcnKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLy8gQWRtaXNzaW9ucyBVbmRlcmdyYWR1YXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vdmVydmlldy0tdW5kZXJncmFkdWF0ZSAuaGVybyB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaGVyb2VzL2hlcm8tdW5kZXJncmFkdWF0ZS5qcGcnKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbn1cblxuLy8gQWRtaXNzaW9ucyBVbmRlcmdyYWR1YXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vdmVydmlldy0tZ3JhZHVhdGUgLmhlcm8ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2hlcm9lcy9oZXJvLWdyYWR1YXRlLmpwZycpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xufVxuXG4vLyBBZG1pc3Npb25zIEludGVybmF0aW9uYWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm92ZXJ2aWV3LS1pbnRlcm5hdGlvbmFsIC5oZXJvIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9oZXJvZXMvaGVyby1pbnRlcm5hdGlvbmFsLmpwZycpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xufVxuXG4vLyBBZG1pc3Npb25zIFNjaG9sYXJzaGlwIERldGFpbCBQYWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vdmVydmlldy0tc2Nob2xhcnNoaXAtZGV0YWlsIC5oZXJvIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9oZXJvZXMvaGVyby1zY2hvbGFyc2hpcC1kZXRhaWwuanBnJyk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbi8vIEFkbWlzc2lvbnMgSG91c2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ub3ZlcnZpZXctLWhvdXNpbmcgLmhlcm8ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2hlcm9lcy9oZXJvLWhvdXNpbmcuanBnJyk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG59XG5cbi8vIEFkbWlzc2lvbnMgTWlsaXRhcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm92ZXJ2aWV3LS1taWxpdGFyeSAuaGVybyB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaGVyb2VzL2hlcm8taG91c2luZy5qcGcnKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbn1cblxuLy8gVGFrZSBUb3VyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vdmVydmlldy0tdGFrZS10b3VyIC5oZXJvIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9oZXJvZXMvaGVyby10YWtlLXRvdXIuanBnJyk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbi8vIE91ciBDYW1wdXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm92ZXJ2aWV3LS1vdXItY2FtcHVzIC5oZXJvIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9oZXJvZXMvaGVyby1vdXItY2FtcHVzLmpwZycpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4vLyBMZWFybmluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ub3ZlcnZpZXctLWxlYXJuaW5nLW9ubGluZSAuaGVybyB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaGVyb2VzL2hlcm8tbGVhcm5pbmctb25saW5lLmpwZycpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4vLyBBYm91dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ub3ZlcnZpZXctLWFib3V0IC5oZXJvIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYXRsaWdvL2NhdGxpZ28tdGlsZS5qcGcnKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbn1cblxuLy8gV2UncmUgRGlmZmVyZW50IC0gdG9wIHNsaWRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oZXJvLS13ZXJlLWRpZmZlcmVudCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaGVyb2VzL2hlcm8td2VyZS1kaWZmZXJlbnQtc20uanBnJyk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2hlcm9lcy9oZXJvLXdlcmUtZGlmZmVyZW50LmpwZycpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtNDBweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTEwMHB4O1xuXHR9XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gRlVMTFNBSUwgQURWQU5UQUdFXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTRUNUSU9OXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mdWxsc2FpbC1hZHZhbnRhZ2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcbn1cblxuLmZ1bGxzYWlsLWFkdmFudGFnZV9fbWVzc2FnZSB7XG5cdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0bGluZS1oZWlnaHQ6IHJlbSgzMCk7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oNDApO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oNDQpO1xuXHR9XG59XG5cbi5mdWxsc2FpbC1hZHZhbnRhZ2VfX21lc3NhZ2Utc3RhcnQtZGF0ZSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZnVsbHNhaWwtYWR2YW50YWdlX19zZWxlY3Qtc3RhcnQge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5mdWxsc2FpbC1hZHZhbnRhZ2VfX3NlbGVjdC1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OiByZW0oOCk7XG5cdCY6YWZ0ZXIge1xuXHRcdGZvbnQtZmFtaWx5OiAnRlNpY29uYWtyb24nO1xuXHRcdGNvbnRlbnQ6ICdcXGU5MDMnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IHJlbSg1KTtcblx0XHRjb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0XHRmb250LXNpemU6IHJlbSg5KTtcblx0fVxufVxuXG4uZnVsbHNhaWwtYWR2YW50YWdlX19zZWxlY3Qge1xuXHRAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuXHRmb250LXNpemU6IHJlbSgxOCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIHJlbSgxKSAkY29sb3ItYnVtYmxlYmVlO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRvdXRsaW5lOiBub25lO1xuXHRwYWRkaW5nLWxlZnQ6IHJlbSgxMCk7XG5cdHBhZGRpbmctcmlnaHQ6IHJlbSgzMCk7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjQpO1xuXHR9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIFNMQVNIIEhFQURJTkdcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJMT0NLXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zbGFzaC1oZWFkaW5nIHtcblxuXHRtYXJnaW4tYm90dG9tOiByZW0oMzIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDExcHggMjBweDtcblxuXHQuaDMge1xuXHRcdHBhZGRpbmc6IDAgcmVtKDMwKSAwIDA7XG5cdFx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFyZ2UpIHtcblx0XHQvLyBTZXQgYmFja2dyb3VuZCBpbWFnZSBhbmQgdGlsZSBpdCBob3Jpem9udGFsXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9zbGFzaC10aWxlLWdyYXkuc3ZnJyk7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0tJTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNsYXNoLWhlYWRpbmctLXdoaXRlIHtcblx0LmgzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhcmdlKSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9zbGFzaC10aWxlLXdoaXRlLnN2ZycpO1xuXHR9XG59XG5cbi5zbGFzaC1oZWFkaW5nLS1ncmF5IHtcblx0LmgzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhcmdlKSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9zbGFzaC10aWxlLWdyYXkuc3ZnJyk7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQUxJR04gUklHSFRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNsYXNoLWhlYWRpbmctLWFsaWduLXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdC5oMyB7XG5cdFx0cGFkZGluZzogMCAwIDAgcmVtKDMwKTtcblx0fVxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBIRUFERVJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJMT0NLXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oZWFkZXIge1xuXHQvLyBNYWtlIHRoZSBoZWFkZXIgYSBmbGV4IGNvbnRhaW5lclxuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIRUFESU5HU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGVhZGVyX19wcmltYXJ5IHtcblx0Zm9udC1mYW1pbHk6ICRjdXN0b20tZm9udC0yO1xuXHRmb250LXNpemU6IHJlbSgzMCk7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cblx0Ly8gRml4IGZvciBJRSBmbGV4Ym94XG5cdHdpZHRoOiAxMDAlO1xuXHRcblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRmb250LXNpemU6IHJlbSgzOCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oNDgpO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRmb250LXNpemU6IHJlbSg1OCk7XG5cdH1cbn1cblxuLy8gV2hlbiBhIHBhcmFncmFwaCBmb2xsb3dzIGEgcHJpbWFyeSBoZWFkaW5nIGFkZCBzb21lIHBhZGRpbmdcbi5oZWFkZXJfX3ByaW1hcnkgKyBwIHtcblx0cGFkZGluZy10b3A6IHJlbSgyMCk7XG59XG5cbi5oZWFkZXJfX3NlY29uZGFyeSB7XG5cdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0Y29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cblx0Ly8gRml4IGZvciBJRSBmbGV4Ym94XG5cdHdpZHRoOiAxMDAlO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjApO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDI0KTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRmb250LXNpemU6IHJlbSgyOCk7XG5cdH1cbn1cblxuLmhlYWRlcl9fdGVydGlhcnkge1xuXHRmb250LXNpemU6IHJlbSgxOCk7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXG5cdC8vIEZpeCBmb3IgSUUgZmxleGJveFxuXHR3aWR0aDogMTAwJTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRmb250LXNpemU6IHJlbSgyNCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjgpO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExBWU9VVCBNT0RJRklFUlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhlYWRlci0tY2VudGVyZWQge1xuXHRAaW5jbHVkZSBmbGV4LWZsb3coY29sdW1uIG5vd3JhcCk7XG5cdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Ly8gbWFyZ2luOiBhdXRvO1xufVxuXG4uaGVhZGVyLS1sZWZ0IHtcblx0QGluY2x1ZGUgZmxleC1mbG93KGNvbHVtbiBub3dyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuLmhlYWRlci0tcmlnaHQge1xuXHRAaW5jbHVkZSBmbGV4LWZsb3coY29sdW1uIG5vd3JhcCk7XG5cdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGZsZXgtZW5kKTtcbn1cblxuLy8gVGhpcyBpcyB1c2VkIHdoZW4gdGhlcmUgaXMgYSBoZXJvIGltYWdlIGFib3ZlIHRoZSBoZWFkZXIgZWxlbWVudFxuLmhlYWRlci0tYWx0LXBhZGRpbmcge1xuXHRwYWRkaW5nOiByZW0oNDApIDAgcmVtKDQwKSAwO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdHBhZGRpbmc6IDAgMCByZW0oNDApIDA7XG5cdH1cbn1cblxuLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZCB3aXRoIHRoZSAuaGVhZGVyLS1sZWZ0IGFuZCByaWdodCBtb2RpZmllcnMuIERvZXMgbm90IHdvcmsgaW4gY2VudGVyZWRcbi5oZWFkZXItLTItY29sdW1uIHtcblx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyB3cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUWVBFT0dSQVBIWSBNT0RJRklFUlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhlYWRlci0taW52ZXJzZSB7XG5cdC5oZWFkZXJfX3ByaW1hcnkge1xuXHRcdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0fVxuXHRwIHtcblx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUEFSQUdSQVBIXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oZWFkZXIgcCB7XG5cdGZvbnQtc2l6ZTogcmVtKDIyKTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGxpbmUtaGVpZ2h0OiByZW0oMzIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0Ly8gRml4IGZvciBJRSBmbGV4Ym94XG5cdHdpZHRoOiAxMDAlO1xuXG5cdC8vIFBvc2l0aW9uIHJlbGF0aXZlIGZvciBwb3NpdGlvbmluZyB0aGUgbGl0dGxlIGFjY2VudFxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Ji5zbWFsbC10ZXh0IHtcblx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgyNSk7XG5cdH1cblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDI3KTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRmb250LXNpemU6IHJlbSgyMik7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgzMik7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMzIpO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRmb250LXNpemU6IHJlbSgyOCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgzOSk7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTEFTVCBDSElMRCBESVZJREVSXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oZWFkZXIgLmRpdmlkZXI6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhFQURFUiBJTiBBIEhFUk9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhlcm8gLmhlYWRlciB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5oZXJvIC5oZWFkZXIgcCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cbn1cblxuLmhlcm8gLmhlYWRlciAuZGl2aWRlciB7XG5cdC8vIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cdFxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHQvLyBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBQ0NFU1NJQklMSVRZIEZJWEVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oZWFkZXIgLnN1Yi1oZWFkbGluZSBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gU0VBUkNIXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCQVNFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zaXRlLXNlYXJjaCB7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblx0XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJVVFRPTlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2l0ZS1zZWFyY2hfX2J1dHRvbiB7XG5cblx0Ly8gSGlkZSB0aGlzIG9uIG1vYmlsZVxuXHRkaXNwbGF5OiBub25lO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblxuXHRcdHBhZGRpbmc6IHJlbSgxMCk7XG5cdFx0XG5cdFx0Ly8gU2hvdyBvbiBuYXJyb3cgYW5kIHVwXG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblxuXHRcdC8vIEF0IHNvbWUgcG9pbnQgSSB3YW50IHRvIG1ha2UgdGhpcyB1c2UgdGhlIC5idG4gY2xhc3Ncblx0XHRAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHRjb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRvdXRsaW5lOiBub25lO1xuXG5cdFx0aSB7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cdFx0fVxuXG5cdFx0Ly8gSG92ZXIgYW5kIEZvY3VzIHN0YXRlc1xuXHRcdCY6aG92ZXIgaSxcblx0XHQmOmZvY3VzIGkge1xuXHRcdFx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdFx0fVxuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBBTkVMXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zaXRlLXNlYXJjaF9fcGFuZWwge1xuXG5cdC8vIFJlbW92ZSB0aGUgaW5pdGlhbCBwYWRkaW5nIHNvIGNvbnRlbnQgbGluZXMgdXBcblx0LmNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogJG1ldGFiYXItaGVpZ2h0O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN0YXJzY3JlYW07XG5cdFx0d2lkdGg6IDA7XG5cdFx0aGVpZ2h0OiAkdG9wYmFyLWhlaWdodC1sYXJnZTtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nLCBoZWlnaHQgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcpO1xuXG5cdFx0LmNvbnRhaW5lciB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAwIHJlbSgxNSk7XG5cdFx0XHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRcdFx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyBub3dyYXApO1xuXHRcdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0XHRcdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblx0XHR9XG5cblx0XHRpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gU2hyaW5rXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zaHJpbmsgLnNpdGUtc2VhcmNoX19wYW5lbCB7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuXHR9XG59XG5cbi8vIFNlYXJjaCBJUyBPTlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2VhcmNoLS1pcy1vbiAuc2l0ZS1zZWFyY2hfX3BhbmVsIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIElOUFVUIEZJRUxEXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zaXRlLXNlYXJjaF9fZmllbGQtZ3JvdXAge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnNpdGUtc2VhcmNoX19maWVsZCB7XG5cblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHJlbSgxNCkgcmVtKDUwKSByZW0oMTQpIHJlbSgxNSk7XG5cdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0Ym9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuXHRib3JkZXItbGVmdDogbm9uZTtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGNvbG9yOiAkY29sb3Itc2t5d2FycDtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdHBhZGRpbmc6IHJlbSgyMCkgcmVtKDUwKSByZW0oMjApIHJlbSgyNSk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKHBhZGRpbmcgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcpO1xuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuXHRcdH1cblx0fVxufVxuXG4uc2VhcmNoLS1pcy1vbiAuc2l0ZS1zZWFyY2hfX2ZpZWxkIHtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cbn1cblxuLy8gU2hyaW5rXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zaHJpbmsgLnNpdGUtc2VhcmNoX19maWVsZCB7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRwYWRkaW5nOiByZW0oNSkgcmVtKDEwKTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTVUJNSVQgQlVUVE9OIC0gRm9yIGFjY2Vzc2liaWxpdHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVGhpcyBpcyBmb3IgcG9zaXRpb25pbmcgb2YgdGhlIGJ1dHRvblxuI3NlYXJjaF9mb3JtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2l0ZS1zZWFyY2hfX3N1Ym1pdC1idXR0b24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiByZW0oNik7XG5cdHRvcDogNTAlO1xuXHRtYXJnaW4tdG9wOiByZW0oLTE4KTtcblxuXHRpIHtcblx0XHRjb2xvcjogJGNvbG9yLXNreXdhcnA7XG5cdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IHJlbSgxMCkgcmVtKDEwKTtcblx0fVxuXHQmOmhvdmVyIGksXG5cdCY6Zm9jdXMgaSB7XG5cdFx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdH1cbn1cblxuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIFNFQVJDSCBSRVNVTFRTXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHT09HTEUgT1ZFUlJJREVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5nb29nIHtcblx0bWF4LXdpZHRoOiA5MCU7XG5cdC5nc2MtY29udHJvbC1jc2V7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXHQuZ3NjLWFib3ZlLXdyYXBwZXItYXJlYSB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG5cdC5nc2MtdGFibGUtcmVzdWx0IHtcblx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuXHRcdGEuZ3MtdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMjIpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0YS5ncy10aXRsZSBiIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDIyKTtcblx0XHR9XG5cdFx0LmdzLXNuaXBwZXQge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcblx0XHR9XG5cdH1cblx0LmdzYy1yZXN1bHRzIC5nc2MtY3Vyc29yLWJveCAuZ3NjLWN1cnNvci1wYWdlIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtaW4td2lkdGg6IHJlbSgxNik7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXHR9XG5cdC8vIFN0eWxlIHRoZSBubyByZXN1bHRzIGFuZCBlcnJvciBtZXNzYWdlXG5cdC5ncy1uby1yZXN1bHRzLXJlc3VsdCAuZ3Mtc25pcHBldCxcblx0LmdzLWVycm9yLXJlc3VsdCAuZ3Mtc25pcHBldCB7XG5cdFx0cGFkZGluZzogcmVtKDQ1KSByZW0oNDIpO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zdGFyc2NyZWFtO1xuXHRcdGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1tZWdhdHJvbjtcblx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0fVxufVxuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIEZJWEVEIENUQVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkxPQ0tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZpeGVkLWN0YSB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMHB4O1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogJHotaW5kZXgtNTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLy8gQnV0dG9uIENvbnRhaW5lclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZml4ZWQtY3RhX19idXR0b24tY29udGFpbmVyIHtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyBub3dyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgZmxleC1mbG93KGNvbHVtbiBub3dyYXApO1xuXHRcdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXHR9XHRcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQlVUVE9OU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBHZW5lcmFsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5maXhlZC1jdGEgLmJ0biB7XG5cdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0cGFkZGluZzogcmVtKDkpIDA7XG59XG5cbi8vIEJ1dHRvbiAxIC0gSW5mb1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZml4ZWQtY3RhX19pbmZvIHtcblx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRib3JkZXI6IHNvbGlkIDNweCAkY29sb3ItYnVtYmxlYmVlO1xuXHR3aWR0aDogNjAlO1xuXG5cdC5maXhlZC1jdGFfX2J1dHRvbi10ZXh0IHtcblx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0fVxufVxuXG5cbi8vIEJ1dHRvbiAyIC0gQ2hhdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZml4ZWQtY3RhX19jaGF0IHtcblx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRib3JkZXI6IHNvbGlkIDNweCAkY29sb3ItYnVtYmxlYmVlO1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRkaXNwbGF5OiBub25lO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHR0b3A6IHJlbSg1MCk7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRib3JkZXItdG9wOiBub25lO1xuXHR9XG59XG5cbi8vIEJ1dHRvbiAzIC0gQ2FsbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZml4ZWQtY3RhX19jYWxsIHtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHR3aWR0aDogNDAlO1xuXHRib3JkZXI6IHNvbGlkIDNweCAkY29sb3ItdHJ5cHRpY29uO1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cblx0LmZpeGVkLWN0YV9fYnV0dG9uLXRleHQge1xuXHRcdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0fVxuXG5cdGkge1xuXHRcdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxufVxuXG4vLyBCdXR0b24gVGV4dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZml4ZWQtY3RhX19idXR0b24tdGV4dCB7XG5cdGZvbnQtc2l6ZTogcmVtKDEzKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE1KTtcblx0fVxufVxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBESVZJREVSU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRElWSURFUlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZGl2aWRlciB7XG5cdHdpZHRoOiByZW0oNDApO1xuXHRoZWlnaHQ6IHJlbSgzKTtcblx0bWFyZ2luLXRvcDogcmVtKDIwKTtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1lZ2F0cm9uO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0bWFyZ2luLXRvcDogcmVtKDMwKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdG1hcmdpbi10b3A6IHJlbSgyMCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0bWFyZ2luLXRvcDogcmVtKDQwKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuXHR9XG59XG5cbi5kaXZpZGVyLS1idW1ibGViZWUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xufVxuXG4uZGl2aWRlci0tdHJ5cHRpY29uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcbn1cblxuLy8gTEFSR0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmRpdmlkZXItLWxhcmdlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWVnYXRyb247XG5cdG1hcmdpbjogcmVtKDMwKSAwO1xufVxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gSU1BR0UgRkFERVJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJMT0NLXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5pbWFnZS1mYWRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gZm9yIG92ZXJsYXkgdG8gd29yayBwcm9wZXJseVxuXHRkaXNwbGF5OiBibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdC8vIElNQUdFXG5cdGltZyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcblx0fVxuXG5cdC8vIEJHIGZvciBwcmVsb2FkZXJcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDBweDtcblx0XHRsZWZ0OiAwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdH1cblxuXHQvLyBPVkVSTEFZXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDBweDtcblx0XHRsZWZ0OiAwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cdH1cbn1cblxuLmltYWdlLWZhZGVyOmhvdmVyIHtcblx0aW1nIHtcblx0ICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4xKSk7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0b3BhY2l0eTogLjg7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBTRUNUSU9OU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0VDVElPTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuc2VjdGlvbiB7XG5cdHBhZGRpbmctdG9wOiByZW0oMzApO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtKDMwKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdHBhZGRpbmctdG9wOiByZW0oNjApO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oNjApO1xuXHR9XG59XG5cbi5zZWN0aW9uLS1za2luLWdyYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcbn1cblxuLnNlY3Rpb24tLW5vLXBhZGRpbmcge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uc2VjdGlvbi0tbm8tcGFkZGluZy10b3Age1xuXHRwYWRkaW5nLXRvcDogMDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTk8gSEVBREVSXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5uby1oZXJvIHtcblx0cGFkZGluZy10b3A6IHJlbSg2MCk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRwYWRkaW5nLXRvcDogcmVtKDEwMCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0cGFkZGluZy10b3A6IHJlbSgxOTApO1xuXHR9XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gRklMVEVSXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBERUdSRUUgRklMVEVSIChGbGV4IENvbnRhaW5lcilcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZpbHRlciB7XG5cblx0cGFkZGluZy10b3A6IHJlbSgzMCk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRcdEBpbmNsdWRlIGZsZXgtZmxvdyhyb3cgbm93cmFwKTtcblx0XHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhzdHJldGNoKTtcblx0XHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUEFORUxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZpbHRlcl9fcGFuZWwge1xuXG5cdC8vIEJhc2Vcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAkei1pbmRleC03MTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogKCR0b3BiYXItaGVpZ2h0ICsgMTVweCkgMjBweCAyMHB4IDIwcHg7XG5cblx0Ly8gUG9zaXRpb25cblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdEBpbmNsdWRlIGNhbGMocmlnaHQsIFwiLTEwMCUgLSAjeyR0b3BiYXItaGVpZ2h0fVwiKTtcblx0QGluY2x1ZGUgY2FsYyh3aWR0aCwgXCIxMDAlIC0gI3skdG9wYmFyLWhlaWdodH1cIik7XG5cdFxuXHQvLyBTa2luXHRcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFxuXHQvLyBUcmFuc2l0aW9uXHRcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihyaWdodCAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cblx0Ly8gRmxleCBncm93IHNocmluayBiYXNpc1xuXHRAaW5jbHVkZSBmbGV4KDAgMSBhdXRvKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYXJnZSkge1xuXHRcdHdpZHRoOiByZW0oMzIwKTtcblx0XHRyaWdodDogcmVtKC0zMjApO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRyaWdodDogYXV0bztcblx0XHR0b3A6IGF1dG87XG5cdFx0cGFkZGluZzogMCByZW0oMzApIDAgMDtcblx0XHR6LWluZGV4OiBhdXRvO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuXHR9XG59XG5cbi8vIFBhbmVsIGlzIG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5maWx0ZXItcGFuZWwtLWlzLW9uIC5maWx0ZXJfX3BhbmVsIHtcblx0cmlnaHQ6IDA7XG5cdGJveC1zaGFkb3c6IDBweCAwcHggM3B4IHJnYmEoMCwwLDAsLjUpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGSUxURVIgTElTVFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZmlsdGVyX19saXN0IHtcblx0aGVpZ2h0OiBpbmhlcml0O1xuXHRAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuXHRcdHBhZGRpbmctbGVmdDogcmVtKDMwKTtcblx0fVxufVxuXG4vLyBCTE9DS1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZmlsdGVyLWxpc3QtYmxvY2sge1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCByZW0oMSkgJGNvbG9yLW1lZ2F0cm9uO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtKDMwKTtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDE1KTtcblx0XG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0fVxuXG5cdC8vIFxuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXHRcdEBpbmNsdWRlIGZsZXgtZmxvdyhyb3cgbm93cmFwKTtcblx0XHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHR9XG59XG5cbi8vIEltYWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5maWx0ZXItbGlzdC1ibG9ja19faW1hZ2Uge1xuXG5cdHdpZHRoOiAxMDAlO1xuXHRAaW5jbHVkZSBmbGV4KDEgMSAwJSk7XG59XG5cbi8vIFN1YiBIZWFkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5maWx0ZXItbGlzdC1ibG9ja19fc3ViLWhlYWRpbmcge1xuXHRmb250LXNpemU6IHJlbSgxNik7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oMjApO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcbn1cblxuLy8gQ29weVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZmlsdGVyLWxpc3QtYmxvY2tfX2NvcHkge1xuXHRAaW5jbHVkZSBmbGV4KDEgMSAwJSk7XG5cblx0LmgzIHtcblx0XHRjb2xvcjogJGNvbG9yLWhvdHJvZDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdC8vIHBhZGRpbmctdG9wOiByZW0oMjApO1xuXHR9XG5cblx0YTpob3Zlcixcblx0YTpmb2N1cyB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdHBhZGRpbmctbGVmdDogcmVtKDIwKTtcblxuXHRcdC5oMyB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cdH1cbn1cblxuLy8gTG9jYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZpbHRlci1saXN0LWJsb2NrX19sb2NhdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IHJlbSgxNik7XG5cdHBhZGRpbmctcmlnaHQ6IHJlbSgyMCk7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oMTApO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0JjpsYXN0LWNoaWxkIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTEFCRUxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZpbHRlci1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMjApO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUT0dHTEVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnRvZ2dsZS1maWx0ZXIge1xuXHRmb250LXNpemU6IHJlbSgxNCk7XG5cdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG5cdC8vIFNpbmNlIEkgdXNlZCBhIGJ1dHRvblxuXHRAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuXG5cdGkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDMwKTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbSgxMCk7XG5cdH1cblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG59XG5cbi8vIExpbmsgVG9nZ2xlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi50b2dnbGUtZmlsdGVyLWxpbmsge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcblx0Zm9udC1zaXplOiByZW0oMTUpO1xuXG5cdGkge1xuXHRcdHBhZGRpbmctbGVmdDogcmVtKDUpO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMSU5LIExJU1Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZpbHRlcl9fbGluay1saXN0IHtcblx0bWluLXdpZHRoOiByZW0oMjIwKTtcblx0bGkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG5cdH1cblx0YSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogcmVtKDEwKTtcblx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0fVxuXHQuYWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcblx0fVxufVxuXG5cblxuIiwiLmF2YXRhciB7XG5cdGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuXHR3aWR0aDogcmVtKDkyKTtcblx0aGVpZ2h0OiByZW0oOTIpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJvcmRlcjogc29saWQgMnB4IG9yYW5nZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWZsb3cocm93IG5vd3JhcCk7XG5cdEBpbmNsdWRlIGFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xuICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG59XG5cbi5hdmF0YXJfX2NvbHVtbiB7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdEBpbmNsdWRlIGZsZXgoMCAxIGF1dG8pO1xufVxuXG4uYXZhdGFyX19pbWFnZSB7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLy8gTU9ESUZJRVJTXG5cbi5hdmF0YXItLTItY29sdW1uIHtcblx0LmF2YXRhcl9fY29sdW1uIHtcblx0XHR3aWR0aDogNTAlO1xuXHR9XG59XG5cbi5hdmF0YXJfX2NvbHVtbi0tc3BsaXQge1xuXHQuYXZhdGFyX19pbWFnZSB7XG5cdFx0aGVpZ2h0OiA1MCU7XG5cdH1cbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gTkVYVCBQUkVWSU9VU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09OVFJPTFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnByZXZpb3VzLW5leHQgeyAvLyBwcmV2aW91cy1uZXh0XG5cdHBhZGRpbmctdG9wOiByZW0oMzApO1xuXHRtYXJnaW4tdG9wOiByZW0oMzApO1xuXHRib3JkZXItdG9wOiBzb2xpZCByZW0oMSkgJGNvbG9yLW1lZ2F0cm9uO1xuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWZsb3coY29sdW1uIHdyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRAaW5jbHVkZSBmbGV4LWZsb3cocm93IHdyYXApO1xuXHR9XG59XG5cbi5wcmV2aW91cy1uZXh0X19tZXRhIHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oNSk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi5wcmV2aW91cy1uZXh0X19uYXYge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogJGNvbG9yLWhvdHJvZDtcbn1cblxuLnByZXZpb3VzLW5leHRfX25hdi1wcmV2aW91cyxcbi5wcmV2aW91cy1uZXh0X19uYXYtbmV4dCB7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJGNvbG9yLWhvdHJvZDtcblx0fVxufVxuXG4ucHJldmlvdXMtbmV4dF9fbmF2LXByZXZpb3VzIHtcblx0cGFkZGluZy1sZWZ0OiByZW0oMzApO1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0oMTApO1xuXHQmW2Rpc2FibGVkXj1cImRpc2FibGVkXCJdIHtcblx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0XHRvcGFjaXR5OiAuNDtcblx0fVxuXHRzcGFuIHtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG5cdGkge1xuXHRcdG1hcmdpbi1yaWdodDogcmVtKDEwKTtcblx0fVxufVxuXG4ucHJldmlvdXMtbmV4dF9fbmF2LW5leHQge1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0oMzApO1xuXHRwYWRkaW5nLWxlZnQ6IHJlbSgxMCk7XG5cdCZbZGlzYWJsZWRePVwiZGlzYWJsZWRcIl0ge1xuXHRcdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRcdG9wYWNpdHk6IC40O1xuXHR9XG5cdHNwYW4ge1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblx0aSB7XG5cdFx0bWFyZ2luLWxlZnQ6IHJlbSgxMCk7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBJTkxJTkUgTElTVFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkFTRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaW5saW5lLWxpc3Qge1xuXG5cdC8vIEJhc2Vcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXG5cdC8vIEZsZXhib3hcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcblx0QGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1PRElGSUVSU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBbGlnbiBMZWZ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5pbmxpbmUtbGlzdC0tYWxpZ24tbGVmdCB7XG5cdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbn1cblxuLy8gTWFyZ2luc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaW5saW5lLWxpc3QtLW1hcmdpbnMge1xuXHRsaSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0oMTApO1xuXHRcdG1hcmdpbi1sZWZ0OiByZW0oMTApO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMClcblx0fVxufVxuXG4vLyBKdXN0aWZpZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmlubGluZS1saXN0LS1qdXN0aWZpZWQge1xuXHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIEZMVUlEIElNQUdFU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkFTRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbWcuZmx1aWQge1xuXHR3aWR0aDogMTAwJTtcbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gSElERVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTk9STUFMXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oaWRlIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSElERSBPTiBERVNLVE9QXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oaWRlLS1kZXNrdG9wIHtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBISURFIE9OIE1PQklMRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGlkZS0tbW9iaWxlIHtcblxuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBGTEVYT1JCT1hcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZsZXhvcmJveCB7XG5cblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblxuXHQmLmZsZXhvcmJveC0tY29sdW1uIHtcblx0XHRAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXHR9XG5cblx0Ji5mbGV4b3Jib3gtLXJvdyB7XG5cdFx0QGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcblx0fVxuXG5cdCYuZmxleG9yYm94LS13cmFwIHtcblx0XHRAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG5cdH1cblxuXHQmLmZsZXhvcmJveC0tbm93cmFwIHtcblx0XHRAaW5jbHVkZSBmbGV4LXdyYXAobm93cmFwKTtcblx0fVxuXG5cdCYuZmxleG9yYm94LS1qdXN0aWZ5LWNlbnRlciB7XG5cdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cdH1cblxuXHQmLmZsZXhvcmJveC0tanVzdGlmeS1zcGFjZSB7XG5cdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXHR9XG5cblx0Ji5mbGV4b3Jib3gtLWFsaWduLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0fVxuXG5cdCYuZmxleG9yYm94LS1hbGlnbi1zdGFydCB7XG5cdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG5cdH1cdFxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBIQUxPU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0VDVElPTiAtIEhhbG9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmRpc2FibGVkIHtcblx0QGluY2x1ZGUgZmlsdGVyKGdyYXlzY2FsZSg5MCUpKTtcbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gU01BTEwgREVWSUNFU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkxPQ0tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNtYWxsLWRldmljZSB7XG5cblx0aSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE0MCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbSgyMCk7XG5cdFx0Y29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdH1cblxuXHRwIHtcblx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Zm9udC1zaXplOiByZW0oMjQpO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgyOCk7XG5cdH1cblx0XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFxuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoMHB4IDMxOXB4KSB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0XHR6LWluZGV4OiAkei1pbmRleC05O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0XHRAaW5jbHVkZSBmbGV4LWZsb3coY29sdW1uIG5vd3JhcCk7XG5cdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0XHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTdG9wIHJlc3Qgb2YgdGhlIHBhZ2UgZnJvbSBtYWtpbmcgdGhlIGZsZXggYm94IHRvbyBiaWdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgwcHggMzE5cHgpIHtcblx0Ym9keSxcblx0aHRtbCB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxufVxuXG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gQ09OVEFJTkVSXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCQVNFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jb250YWluZXIge1xuXHRcblx0Ly8gQmFzZVxuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHBhZGRpbmc6IDAgcmVtKDE1KTtcblxuXHQvLyBUcmFuc2l0aW9uc1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cblx0Ly9cbiAgLy8gQlJFQUtQT0lOVFNcbiAgLy9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci13aWR0aC1uYXJyb3c7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItd2lkdGgtZGVza3RvcDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci13aWR0aC13aWRlO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZMVUlEIENPTlRBSU5FUlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY29udGFpbmVyLmZsdWlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIEJMT0NLXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCQVNFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBXUkFQUEVSXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCQVNFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi53cmFwcGVyIHtcblxuXHQvLyBQb3NpdGlvblxuXHQvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8vIHJpZ2h0OiAwO1xuXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0Ly8gU3RvcCBzY3JvbGxiYXJzIGZyb20gc2hvd2luZyB0aHJvdWdoIGFuZCBrZWVwcyB0aGUgcGFuZWwgZml4ZWQgcG9zaXRpb24gc3RhYmxlIG9uIGNyYXp5IHNjcm9sbFxuICBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIE1FVEEgQkFSXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCQVNFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5tZXRhYmFyIHtcblxuXHRkaXNwbGF5OiBub25lO1xuXHRcblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuXHRcdFxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDBweDtcblx0XHRyaWdodDogcmVtKDMxKTtcblx0XHR6LWluZGV4OiAkei1pbmRleC04MTtcblxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcblxuXHRcdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdFx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyBub3dyYXApO1xuXHRcdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogJG1ldGFiYXItaGVpZ2h0O1xuXHRcdGxlZnQ6IDBweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcblx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuXHR9XG59XG5cbi8vIExpc3QgaXRlbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubWV0YWJhcl9faXRlbSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luOiAwIHJlbSgxMik7XG5cdGZvbnQtc2l6ZTogcmVtKDE0KTtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cblx0Ly8gTGlua1xuXHRhIHtcblx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRcdH1cblx0fVxuXG5cdC8vIEljb25cblx0aSB7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0oMik7XG5cdFx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEzKTtcblx0XHRjb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0bWFyZ2luOiAwIHJlbSgxNik7XG5cdH1cbn1cblxuLy8gSGlkZSBJdGVtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jbWV0YWJhcl9hcHBseSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRicC04MjUpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cbn1cblxuI21ldGFiYXJfcGhvbmUge1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG59XG5cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBUT1BCQVJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnRvcGJhciB7XG5cblx0Ly8gQmFzZVxuXHRoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuXHR3aWR0aDogMTAwJTtcblxuXHQvLyBTa2luXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCByZW0oMSkgJGNvbG9yLW1lZ2F0cm9uO1xuXG5cdC8vIFNoYWRvd1xuXHRib3gtc2hhZG93OiAwcHggMHB4IDJweCByZ2JhKDAsMCwwLC4yKTtcblxuXHQvLyBQb3NpdGlvblxuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6ICR6LWluZGV4LTg7XG5cblx0Ly8gVHJhbnNpdGlvblxuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cblx0Ly8gUmVzZXQgQm94IFNpemluZyBzbyB0aGUgdGhlIGJvcmRlciBkb2Vzbid0IGdldCBsb3N0IHdpdGggdGhlIGJ1cmdlciBtZW51XG5cdGJveC1zaXppbmc6IGluaXRpYWw7XG5cblx0Ly8gQ29udGFpbmVyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHQ+IC5jb250YWluZXIge1xuXHRcdFxuXHRcdC8vIEJhc2Vcblx0XHRoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC8vIFJlbW92ZSBwYWRkaW5nIGZyb20gdGhlIHJpZ2h0IGZvciBXaG9wcGVyIGFsaWdubWVudFxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cblx0XHQvLyBGbGV4Ym94XG5cdFx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0XHRAaW5jbHVkZSBmbGV4LWZsb3cocm93IG5vd3JhcCk7XG5cdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0XHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtKDE1KTtcblx0XHR9XG5cdH1cblxuXHQvLyBPbiBTaHJpbmtcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdCYuc2hyaW5rIHtcblx0XHRoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuXHRcdD4gLmNvbnRhaW5lciB7XG5cdFx0XHRoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuXHRcdH1cblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG4gIFx0dG9wOiA0MHB4O1xuICBcdGhlaWdodDogJHRvcGJhci1oZWlnaHQtbGFyZ2U7XG4gIFx0PiAuY29udGFpbmVyIHtcbiAgXHRcdGhlaWdodDogJHRvcGJhci1oZWlnaHQtbGFyZ2U7XG4gIFx0fVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdIT1BQRVIgKG1lbnUgdG9nZ2xlKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ud2hvcHBlciB7XG5cblx0Ly8gTWFrZSB0aGUgYnV0dG9uIHRoZSBzYW1lIGRpbWVuc2lvbnMgYXMgdGhlIHRvcGJhclxuXHR3aWR0aDogJHRvcGJhci1oZWlnaHQ7XG5cdGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG5cblx0Ly8gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHBhZGRpbmdcblx0cGFkZGluZzogMDtcblxuXHQvLyBSZW1vdmUgb3V0bGluZSBmcm9tIGJ1dHRvblxuXHRvdXRsaW5lOiBub25lO1xuXG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQvLyBUaGlzIGlzIHNldCB0byAzIGJlY2F1c2Ugb2YgaG93IHRhYmJpbmcgd29ya3Mgd2l0aCB0aGUgb3JkZXIgb2YgZWxlbWVudHMuXG5cdC8vIFRoZXJlIGlzIGEgZGlzcGxheSBpc3N1ZSBpbiBvbmUgb2YgdGhlIGJyb3dzZXJzIGlmIHdob3BwZXIgZ29lcyBhdCB0aGUgZW5kLlxuXHRAaW5jbHVkZSBvcmRlcigzKTtcblxuXHRpIHtcblx0XHRmb250LXNpemU6IHJlbSgxNSk7XG5cdFx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdH1cblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRjb2xvcjogJGNvbG9yLXNreXdhcnA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN0YXJzY3JlYW07XG5cdH1cbn1cblxuLy8gTmF2IE9OXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5uYXYtLWlzLW9uIC50b3BiYXIge1xuXG5cdC53aG9wcGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWVnYXRyb247XG5cdFx0aSB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0XHR9XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSElEREVOIFRFWFRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhpZGRlbi10ZXh0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0yMDBweDtcbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyAoaW50bykgVEhFIFBJVFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkFTRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4udGhlLXBpdCB7XG5cblx0Ly8gQ2hyb21lIGJ1ZyB0aGF0IGNhdXNlcyB0aGUgaGVpZ2h0IGpzIHRvIG5vdCB3b3JrIHByb3Blcmx5IGJlY2F1c2Ugb2YgdGhlXG5cdC8vIG1hcmdpbnMgb24gaGVhZGVyc1xuXHQvLyBvdmVyZmxvdzogaGlkZGVuO1xuXG5cdC8vIEVuYWJsZSBwb3NpdGlvbiByZWxhdGl2ZSBmb3IgbmF2IHB1c2ggYW5pbWF0aW9uXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cmlnaHQ6IDA7XG5cblx0Ly8gU2V0IGRpc3BsYXkgdG8gYmxvY2sgZm9yIHByb3BlciBJRSByZW5kZXJpbmdcblx0ZGlzcGxheTogYmxvY2s7XG5cdFxuXHQvLyBUcmFuc2l0aW9uXG5cdEBpbmNsdWRlIHRyYW5zaXRpb24ocmlnaHQgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcpO1xufVxuXG4ubmF2LS1pcy1vbiAudGhlLXBpdCB7XG5cdC8vIENhbGN1bGF0ZSB0aGUgd2lkdGggb2YgdGhlIG1vYmlsZSBtZW51IG1pbnVzIHRoZSB0b2dnbGUgYnV0dG9uLlxuXHQvLyBQdXNoIHRoZSBwaXQgdGhlIHdpZHRoIG9mIHRoZSBtZW51XG5cdEBpbmNsdWRlIGNhbGMocmlnaHQsIFwiMTAwJSAtICN7JHRvcGJhci1oZWlnaHR9XCIpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRcblx0Ly9cblxuXHQvLyBTZXQgdGhlIG1lbnUgdG8gYSBzaXplIHRoYXQgaXMgbm90IDEwMCUgbGlrZSBtb2JpbGVcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0cmlnaHQ6IHJlbSgzMjApO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gRk9PVEVSXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCQVNFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb290ZXIge1xuXG5cdC8vIEJhc2Vcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHJlbSg0MCkgMCAwIDA7XG5cblx0Ly8gU2tpblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cblx0Ly8gRm9yIG5hdiBhbmltYXRpb24gdG8gd29ya1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHJpZ2h0OiAwO1xuXG5cdC8vIEFkZCBzcGFjZSB0byBib3R0b20gdG8gbWFrZSByb29tIGZvciB0aGUgLmN0YS1maXhlZFxuXHRtYXJnaW4tYm90dG9tOiByZW0oNTApO1xuXG5cdC8vIFRyYW5zaXN0aW9uc1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKHJpZ2h0ICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTkFWIElTIE9OXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5uYXYtLWlzLW9uIC5mb290ZXIge1xuXHQvLyBDYWxjdWxhdGUgdGhlIHdpZHRoIG9mIHRoZSBtb2JpbGUgbWVudSBtaW51cyB0aGUgdG9nZ2xlIGJ1dHRvbi5cblx0Ly8gUHVzaCB0aGUgZm9vdGVyIHRoZSB3aWR0aCBvZiB0aGUgbWVudVxuXHRAaW5jbHVkZSBjYWxjKHJpZ2h0LCBcIjEwMCUgLSAjeyR0b3BiYXItaGVpZ2h0fVwiKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UXG5cdC8vXG5cblx0Ly8gU2V0IHRoZSBtZW51IHRvIGEgc2l6ZSB0aGF0IGlzIG5vdCAxMDAlIGxpa2UgbW9iaWxlXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdHJpZ2h0OiByZW0oMzIwKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdHJpZ2h0OiAwO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIDFTVCBDT05UQUlORVJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZvb3RlciA+IC5jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMjApO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMT0dPXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb290ZXIgLmxvZ28ge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDMwKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0aW1nIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZPT1RFUiBGTEVYXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb290ZXIgLmNvbnRhaW5lciA+IC5ibG9jayB7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRcdEBpbmNsdWRlIGZsZXgtZmxvdyhjb2x1bW4gbm93cmFwKTtcblx0XHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHRcdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRAaW5jbHVkZSBmbGV4LWZsb3cocm93IG5vd3JhcCk7XG5cdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09OVEFDVCBBUkVBXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb290ZXJfX2NvbnRhY3Qge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcblx0cGFkZGluZy1ib3R0b206IHJlbSgyMCk7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIHJlbSgxKSAkY29sb3ItcHJvd2w7XG5cblx0Ly8gRmxleGJveFxuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWZsb3coY29sdW1uIHdyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cdEBpbmNsdWRlIGZsZXgoMCAzIGF1dG8pO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyBub3dyYXApO1xuXHRcdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbSgyMCk7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRib3JkZXItcmlnaHQ6IHNvbGlkIHJlbSgxKSAkY29sb3ItcHJvd2w7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0oMjApO1xuXG5cdFx0QGluY2x1ZGUgZmxleC1mbG93KGNvbHVtbiBub3dyYXApO1xuXHRcdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xuXHR9XG59XG5cbi8vIENvbnRhY3QgQWRkcmVzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZm9vdGVyX19jb250YWN0LWFkZHJlc3Mge1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDIwKTtcblx0fVxufVxuXG4vLyBDb250YWN0IFBob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb290ZXJfX2NvbnRhY3QtcGhvbmUge1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWZsb3cocm93IG5vd3JhcCk7XG5cdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1hcm91bmQpO1xuXG5cdC5ibG9jayB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHBhZGRpbmc6IDAgcmVtKDIwKTtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRAaW5jbHVkZSBmbGV4KDAgMCBhdXRvKTtcblxuXHRcdC5ibG9jayB7XG5cdFx0XHRwYWRkaW5nOiAwIHJlbSgxMCk7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oMjApO1xuXHRcdC5ibG9jayB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdH1cblx0fVxufVxuXG4vLyBQaG9uZSBMYWJlbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZm9vdGVyX19jb250YWN0LXBob25lLWxhYmVsIHtcblxufVxuXG4vLyBQaG9uZSBOdW1iZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZvb3Rlcl9fY29udGFjdC1waG9uZS1udW1iZXIge1xuXHRjb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcbn1cblxuLy8gQ29udGFjdCBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZvb3Rlcl9fY29udGFjdCAuYnRuIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kZXZhc3RhdG9yO1xuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFxuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuXHRcdG1hcmdpbi1sZWZ0OiByZW0oMTApO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTUFTU0lWRSBMSU5LQUdFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb290ZXJfX2xpbmtzIHtcblx0d2lkdGg6IDEwMCU7XG5cdC8vIEZsZXhib3ggdG8gY2hhbmdlIG9yZGVyIG9mIGNvbnRlbnRcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyB3cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG5cdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblx0QGluY2x1ZGUgZmxleCgwIDEgYXV0byk7XG59XG5cbi8vIExpbmtzIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb290ZXJfX2xpbmtzLWdyb3VwIHtcblx0d2lkdGg6IDUwJTtcblx0cGFkZGluZzogMCByZW0oOCkgcmVtKDIwKSAwO1xuXHRsaSB7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbSgxNCk7XG5cdH1cblx0YSB7XG5cdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEzKTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRcdH1cblx0fVxuXHRpIHtcblx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRtYXJnaW4tcmlnaHQ6IHJlbSgxMCk7XG5cdFx0bWluLXdpZHRoOiByZW0oMjApO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0d2lkdGg6IDI1JTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTVUIgRk9PVEVSXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb290ZXJfX3N1Yi1mb290ZXIge1xuXHRwYWRkaW5nOiByZW0oMTApIDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRldmFzdGF0b3I7XG59XG5cbi8vIENvbnRhaW5lclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZm9vdGVyX19zdWItZm9vdGVyIC5jb250YWluZXIge1xuXHRwYWRkaW5nOiAwO1xuXHQvLyBGbGV4Ym94IHRvIGNoYW5nZSBvcmRlciBvZiBjb250ZW50XG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdEBpbmNsdWRlIGZsZXgtZmxvdyhjb2x1bW4gd3JhcCk7XG5cdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xufVxuXG4vLyBDb21wYW55XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb290ZXJfX3N1Yi1mb290ZXItY29tcGFueSB7XG5cdHBhZGRpbmc6IHJlbSg5KSAwcHg7XG5cdGZvbnQtc2l6ZTogcmVtKDExKTtcblx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRAaW5jbHVkZSBvcmRlcigyKTtcbn1cblxuLy8gTGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZvb3Rlcl9fc3ViLWZvb3Rlci1saW5rcyB7XG5cblx0Ly8gRml4IGZvciBJRSBmbGV4Ym94XG5cdHdpZHRoOiAxMDAlO1xuXG5cdGEge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0cGFkZGluZzogcmVtKDEwKSByZW0oMTUpO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBHUklELU8tVFJPTlxuLy9cbi8vIC0gQ3VycmVudGx5IGp1c3Qgc3VwcG9ydHMgZ3JpZCAxNlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR1JJRCBST1dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmdyaWQtcm93IHtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgQGluY2x1ZGUgZmxleC1mbG93KGNvbHVtbiBub3dyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXG4gICYuZ3JpZC1yb3ctLW1hcmdpbnMge1xuICAgIFtjbGFzc149XCJncmlkLVwiXSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgwKTtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBCUkVBS1BPSU5UU1xuICAvL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKG5vd3JhcCk7XG5cbiAgICAmLmdyaWQtcm93LS1tYXJnaW5zIFtjbGFzc149XCJncmlkLVwiXSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgzMCk7XG4gICAgfVxuXG4gICAgLy8gQ2VudGVyIHRoZSBjb250ZW50IG9mIHRoZSBncmlkLXJvd1xuICAgICYuZ3JpZC1yb3ctLWFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNT0JJTEUgR1JJRFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuW2NsYXNzXj1cImdyaWQtXCJdIHtcblx0d2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgQGluY2x1ZGUgZmxleCgwIDEgYXV0byk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdSSURTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ncmlkLTEge1xuXG5cdC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgd2lkdGg6IDYuMjUlO1xuICB9XG59XG5cbi5ncmlkLTIge1xuXG5cdC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG59XG5cbi5ncmlkLTMge1xuXG5cdC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgd2lkdGg6IDE4Ljc1JTtcbiAgfVxufVxuXG4uZ3JpZC00IHtcblxuXHQvL1xuICAvLyBCUkVBS1BPSU5UU1xuICAvL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuLmdyaWQtNSB7XG5cblx0Ly9cbiAgLy8gQlJFQUtQT0lOVFNcbiAgLy9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICB3aWR0aDogMzEuMjUlO1xuICB9XG59XG5cbi5ncmlkLTYge1xuXG5cdC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG59XG5cbi5ncmlkLTcge1xuXG5cdC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgd2lkdGg6IDQzLjc1JTtcbiAgfVxufVxuXG4uZ3JpZC04IHtcblxuXHQvL1xuICAvLyBCUkVBS1BPSU5UU1xuICAvL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLmdyaWQtOSB7XG5cblx0Ly9cbiAgLy8gQlJFQUtQT0lOVFNcbiAgLy9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICB3aWR0aDogNTYuMjUlO1xuICB9XG59XG5cbi5ncmlkLTEwIHtcblxuXHQvL1xuICAvLyBCUkVBS1BPSU5UU1xuICAvL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgfVxufVxuXG4uZ3JpZC0xMSB7XG5cblx0Ly9cbiAgLy8gQlJFQUtQT0lOVFNcbiAgLy9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICB3aWR0aDogNjguNzUlO1xuICB9XG59XG5cbi5ncmlkLTEyIHtcblxuXHQvL1xuICAvLyBCUkVBS1BPSU5UU1xuICAvL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cblxuLmdyaWQtMTMge1xuXG5cdC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgd2lkdGg6IDgxLjI1JTtcbiAgfVxufVxuXG4uZ3JpZC0xNCB7XG5cblx0Ly9cbiAgLy8gQlJFQUtQT0lOVFNcbiAgLy9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICB3aWR0aDogODcuNSU7XG4gIH1cbn1cblxuLmdyaWQtMTUge1xuXG5cdC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgd2lkdGg6IDkzLjc1JTtcbiAgfVxufVxuXG4uZ3JpZC0xNiB7XG5cblx0Ly9cbiAgLy8gQlJFQUtQT0lOVFNcbiAgLy9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHUklEIFNJREVCQVJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmdyaWQtLWFzaWRlLXJpZ2h0IHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IHJlbSgzMCk7XG5cbiAgLy9cbiAgLy8gQlJFQUtQT0lOVFNcbiAgLy9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICRjb2xvci1tZWdhdHJvbjtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbSgzMCk7XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ0VOVEVSIFZFUlRJQ0FMTFlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmdyaWQtLWNlbnRlci12ZXJ0aWNhbCB7XG4gIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gIEBpbmNsdWRlIGZsZXgtZmxvdyhjb2x1bW4gbm93cmFwKTtcbiAgQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG4gIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xufVxuXG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gR1JJRC1PLVRST04gQ29sdW1uc1xuLy9cbi8vIC0gQ29sdW1uIHZlcnNpb24gYmVjYXVzZSBpJ20gc2ljayBvZiBtYWtpbmcgY3VzdG9tIGJ1bGxzaGl0IFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR1JJRCBDT0xVTU5TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ncmlkLWNvbHVtbiB7XG4gIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gIEBpbmNsdWRlIGZsZXgtZmxvdyhjb2x1bW4gbm93cmFwKTtcbiAgQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG4gIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblxuICAvL1xuICAvLyBCUkVBS1BPSU5UU1xuICAvL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgIEBpbmNsdWRlIGZsZXgtZmxvdyhyb3cgbm93cmFwKTtcbiAgfVxufVxuXG4uZ3JpZC1jb2x1bW4tMiAuZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uZ3JpZC1jb2x1bW4tMyAuZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxufVxuXG4uZ3JpZC1jb2x1bW4tNiAuZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgd2lkdGg6IDE2LjY2NjY2JTtcbiAgfVxufVxuXG4vLyBNYXJnaW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ncmlkLWNvbHVtbi0tbWFyZ2lucyB7XG4gIFxuICAvLyAuZ3JpZCB7XG4gIC8vICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcbiAgLy8gfVxuXG4gIC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgLmdyaWQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMzApO1xuICAgIH1cbiAgICAuZ3JpZDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ1RBIFZlcnRpY2FsIEFsaWdubWVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZ3JpZC1jb2x1bW4gLmN0YSB7XG5cbiAgLy9cbiAgLy8gQlJFQUtQT0lOVFxuICAvL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgbWFyZ2luLXRvcDogYXV0bztcbiAgIG1hcmdpbi1ib3R0b206IGF1dG87IFxuICB9XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gSEFMTyBCQVNFIElNUE9SVFNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhBTE9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcImhhbG9cIjtcbkBpbXBvcnQgXCJoZWFkZXJcIjtcbkBpbXBvcnQgXCJkZWdyZWUtbGlzdFwiO1xuQGltcG9ydCBcImRlZ3JlZS1ibG9ja1wiO1xuQGltcG9ydCBcInJlbGF0ZWQtYmxvY2tcIjsiLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gSEFMT1Ncbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNFQ1RJT04gLSBIYWxvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oYWxvIHtcblxuXHQvLyBSZW1vdmUgc2VjdGlvbiB0b3AgcGFkZGluZ1xuXHRwYWRkaW5nLXRvcDogMDtcblx0XG5cdC8vIEFkZCBtb3JlIHNwYWNlIHRvIHRoZSBib3R0b20gb2YgY29udGVudCB0byB3b3JrIHdpdGggdGhlIGFuZ2xlXG5cdHBhZGRpbmctYm90dG9tOiByZW0oMTQwKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC8vIFNraW5cblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdyZWNrLWdhcjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDE4MCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oMjIwKTtcblx0fVxuXG5cdC8vIENvbnRhaW5lclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdC5jb250YWluZXIge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG5cblx0Ly8gVGFnbGluZVxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdC50YWdsaW5lIHtcblx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0XHRmb250LXNpemU6IHJlbSgyNCk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oNDApO1xuXHRcdH1cblx0fVxufVxuXG4vLyBDbG9zaW5nIExpbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhbG8gLmhlYWRsaW5lICsgcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0QGV4dGVuZCAuc3ViLWhlYWRsaW5lO1xufVxuXG4uaGFsbyBwIHtcblx0Ly8gZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmhhbG8gcDpsYXN0LWNoaWxkOmFmdGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiByZW0oLTQwKTtcblx0bGVmdDogMHB4O1xuXHR3aWR0aDogcmVtKDQwKTtcblx0aGVpZ2h0OiByZW0oNDApO1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCAzcHggJGNvbG9yLXNoYXJrdGljb247XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNFQ1RJT04gLSBEZWdyZWUgUHJvZ3JhbXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhbG8tZGVncmVlLXByb2dyYW1zIC5oMiB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdC8vIE5BUlJPV1xuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG59XG5cbi5oYWxvLWRlZ3JlZS1wcm9ncmFtcyAuaGVhZGVyX19zZWNvbmRhcnkge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG59XG5cblx0XG5cdFxuXHQiLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gSEFMTyBoYWxvLUhFQURFUlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkFTRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby1oZWFkZXIge1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCAycHggJGNvbG9yLWpldGZpcmU7XG5cdG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oMjApO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDYwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDIwKTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIRUFESU5HU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby1oZWFkZXIgLmgxIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiByZW0oMjApIDA7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRcblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdC8vIGxpbmUtaGVpZ2h0OiByZW0oMTA2KTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDVVNUT00gSEVBRElOR1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBQcmltYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oYWxvLWhlYWRlcl9fcHJpbWFyeSB7XG5cdGZvbnQtc2l6ZTogcmVtKDUwKTtcblx0Zm9udC13ZWlnaHQ6IDIwMDtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEwMCk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRmb250LXNpemU6IHJlbSgxNTApO1xuXHR9XG59XG5cbi8vIEFtcFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby1oZWFkZXJfX2FtcCB7XG5cdGZvbnQtc2l6ZTogcmVtKDQ2KTtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLy8gU2Vjb25kYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oYWxvLWhlYWRlcl9fc2Vjb25kYXJ5IHtcblx0Zm9udC1zaXplOiByZW0oMzYpO1xuXHRmb250LXdlaWdodDogMzAwO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oNDYpO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNLSU5TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFydCBEZXNpZ25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhbG8tLWFydC1kZXNpZ24gLmhhbG8taGVhZGVyX19hbXAsXG4uaGFsby0tYXJ0LWRlc2lnbiAuaGFsby1oZWFkZXJfX3NlY29uZGFyeSB7XG5cdGNvbG9yOiAkY29sb3Itc3ByaW5nZXI7XG59XG5cbi8vIEJ1c2luZXNzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oYWxvLS1idXNpbmVzcyAuaGFsby1oZWFkZXJfX2FtcCxcbi5oYWxvLS1idXNpbmVzcyAuaGFsby1oZWFkZXJfX3NlY29uZGFyeSB7XG5cdGNvbG9yOiAkY29sb3ItdWx0cmFtYWdudXM7XG59XG5cbi8vIEZpbG0gVGVsZXZpc2lvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby0tZmlsbS10ZWxldmlzaW9uIC5oYWxvLWhlYWRlcl9fYW1wLFxuLmhhbG8tLWZpbG0tdGVsZXZpc2lvbiAuaGFsby1oZWFkZXJfX3NlY29uZGFyeSB7XG5cdGNvbG9yOiAkY29sb3Itc3ByaW5nZXI7XG59XG5cbi8vIEdhbWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oYWxvLS1nYW1lcyAuaGFsby1oZWFkZXJfX2FtcCxcbi5oYWxvLS1nYW1lcyAuaGFsby1oZWFkZXJfX3NlY29uZGFyeSB7XG5cdGNvbG9yOiAkY29sb3Itc3ByaW5nZXI7XG59XG5cbi8vIE1lZGlhIENvbW11bmljYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oYWxvLS1tZWRpYS1jb21tdW5pY2F0aW9ucyAuaGFsby1oZWFkZXJfX2FtcCxcbi5oYWxvLS1tZWRpYS1jb21tdW5pY2F0aW9ucyAuaGFsby1oZWFkZXJfX3NlY29uZGFyeSB7XG5cdGNvbG9yOiAkY29sb3Itc3ByaW5nZXI7XG59XG5cbi8vIE11c2ljIFJlY29yZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby0tbXVzaWMtcmVjb3JkaW5nIC5oYWxvLWhlYWRlcl9fYW1wLFxuLmhhbG8tLW11c2ljLXJlY29yZGluZyAuaGFsby1oZWFkZXJfX3NlY29uZGFyeSB7XG5cdGNvbG9yOiAkY29sb3ItdWx0cmFtYWdudXM7XG59XG5cbi8vIFNwb3J0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby0tc3BvcnRzIC5oYWxvLWhlYWRlcl9fYW1wLFxuLmhhbG8tLXNwb3J0cyAuaGFsby1oZWFkZXJfX3NlY29uZGFyeSB7XG5cdGNvbG9yOiAkY29sb3ItdWx0cmFtYWdudXM7XG59XG5cbi8vIFdlYiBUZWNobm9sb2d5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oYWxvLS13ZWItdGVjaG5vbG9neSAuaGFsby1oZWFkZXJfX2FtcCxcbi5oYWxvLS13ZWItdGVjaG5vbG9neSAuaGFsby1oZWFkZXJfX3NlY29uZGFyeSB7XG5cdGNvbG9yOiAkY29sb3ItdWx0cmFtYWdudXM7XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gREVHUkVFIExJU1Rcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGlkZSB0aGUgbGlzdCBvbiBsb3dlciByZXogZGV2aWNlc1xuLmRlZ3JlZS1saXN0LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cbn1cblxuLmRlZ3JlZS1saXN0IHtcblxuXHQvLyBTZXQgd2lkdGggc28gbGlzdCBjZW50ZXJzXG5cdHdpZHRoOiA4NSU7XG5cblx0Ly8gTW92ZSBtZW51IGF3YXkgZnJvbSBpbWFnZVxuXHRwYWRkaW5nOiByZW0oMzApO1xuXG5cdC8vIFJlbW92ZSBsaXN0IHN0eWxlc1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdC8vIENlbnRlciBsaXN0XG5cdG1hcmdpbjogMCBhdXRvO1xuXG5cdC8vIFBvc2l0aW9uIHJlbGF0aXZlIHRvIHBvc2l0aW9uIG92ZXIgdGhlIGltYWdlXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLXRvcDogcmVtKC04MSk7XG5cbn1cblxuLy8gVGl0bGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmRlZ3JlZS1saXN0X190aXRsZSB7XG5cdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtKDM2KTtcbn1cblxuLy8gSXRlbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZGVncmVlLWxpc3RfX2l0ZW0ge1xuXHRtYXJnaW46IHJlbSgxNSkgMDtcbn1cblxuLy8gTGlua1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZGVncmVlLWxpc3RfX2xpbmsge1xuXHRmb250LXNpemU6IHJlbSgxNik7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGNvbG9yOiAkY29sb3ItaG90cm9kO1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCByZW0oMSkgdHJhbnNwYXJlbnQ7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0tJTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQVJUIERFU0lHTlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby0tYXJ0LWRlc2lnbiAuaGVhZGxpbmUge1xuXHRjb2xvcjogJGNvbG9yLXNwcmluZ2VyO1xufVxuLmhhbG8tLWFydC1kZXNpZ24gLmRlZ3JlZS1saXN0IHtcblx0Ym9yZGVyOiBzb2xpZCAycHggJGNvbG9yLXNwcmluZ2VyO1xufVxuLmhhbG8tLWFydC1kZXNpZ24gLmRlZ3JlZS1saXN0X19saW5rIHtcblx0Y29sb3I6IGRhcmtlbigkY29sb3Itc3ByaW5nZXIsIDEwJSk7XG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1zcHJpbmdlcjtcblx0fVxufVxuXG4vLyBCVVNJTkVTU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby0tYnVzaW5lc3MgLmhlYWRsaW5lIHtcblx0Y29sb3I6ICRjb2xvci11bHRyYW1hZ251cztcbn1cbi5oYWxvLS1idXNpbmVzcyAuZGVncmVlLWxpc3Qge1xuXHRib3JkZXI6IHNvbGlkIDJweCAkY29sb3ItdWx0cmFtYWdudXM7XG59XG4uaGFsby0tYnVzaW5lc3MgLmRlZ3JlZS1saXN0X19saW5rIHtcblx0Y29sb3I6IGRhcmtlbigkY29sb3ItdWx0cmFtYWdudXMsIDEwJSk7XG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci11bHRyYW1hZ251cztcblx0fVxufVxuXG4vLyBGSUxNIFRFTEVWSVNJT05cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhbG8tLWZpbG0tdGVsZXZpc2lvbiAuaGVhZGxpbmUge1xuXHRjb2xvcjogJGNvbG9yLXNwcmluZ2VyO1xufVxuLmhhbG8tLWZpbG0tdGVsZXZpc2lvbiAuZGVncmVlLWxpc3Qge1xuXHRib3JkZXI6IHNvbGlkIDJweCAkY29sb3Itc3ByaW5nZXI7XG59XG4uaGFsby0tZmlsbS10ZWxldmlzaW9uIC5kZWdyZWUtbGlzdF9fbGluayB7XG5cdGNvbG9yOiBkYXJrZW4oJGNvbG9yLXNwcmluZ2VyLCAxMCUpO1xuXHQmOmhvdmVyIHtcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3Itc3ByaW5nZXI7XG5cdH1cbn1cblxuLy8gR0FNRVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhbG8tLWdhbWVzIC5oZWFkbGluZSB7XG5cdGNvbG9yOiAkY29sb3ItdWx0cmFtYWdudXM7XG59XG4uaGFsby0tZ2FtZXMgLmRlZ3JlZS1saXN0IHtcblx0Ym9yZGVyOiBzb2xpZCAycHggJGNvbG9yLXVsdHJhbWFnbnVzO1xufVxuLmhhbG8tLWdhbWVzIC5kZWdyZWUtbGlzdF9fbGluayB7XG5cdGNvbG9yOiBkYXJrZW4oJGNvbG9yLXVsdHJhbWFnbnVzLCAxMCUpO1xuXHQmOmhvdmVyIHtcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3ItdWx0cmFtYWdudXM7XG5cdH1cbn1cblxuLy8gTUVESUEgQ09NTVVOSUNBVElPTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhbG8tLW1lZGlhLWNvbW11bmljYXRpb25zIC5oZWFkbGluZSB7XG5cdGNvbG9yOiAkY29sb3Itc3ByaW5nZXI7XG59XG4uaGFsby0tbWVkaWEtY29tbXVuaWNhdGlvbnMgLmRlZ3JlZS1saXN0IHtcblx0Ym9yZGVyOiBzb2xpZCAycHggJGNvbG9yLXNwcmluZ2VyO1xufVxuLmhhbG8tLW1lZGlhLWNvbW11bmljYXRpb25zIC5kZWdyZWUtbGlzdF9fbGluayB7XG5cdGNvbG9yOiBkYXJrZW4oJGNvbG9yLXNwcmluZ2VyLCAxMCUpO1xuXHQmOmhvdmVyIHtcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3Itc3ByaW5nZXI7XG5cdH1cbn1cblxuLy8gTVVTSUMgUkVDT1JESU5HXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oYWxvLS1tdXNpYy1yZWNvcmRpbmcgLmhlYWRsaW5lIHtcblx0Y29sb3I6ICRjb2xvci11bHRyYW1hZ251cztcbn1cbi5oYWxvLS1tdXNpYy1yZWNvcmRpbmcgLmRlZ3JlZS1saXN0IHtcblx0Ym9yZGVyOiBzb2xpZCAycHggJGNvbG9yLXVsdHJhbWFnbnVzO1xufVxuLmhhbG8tLW11c2ljLXJlY29yZGluZyAuZGVncmVlLWxpc3RfX2xpbmsge1xuXHRjb2xvcjogZGFya2VuKCRjb2xvci11bHRyYW1hZ251cywgMTAlKTtcblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yLXVsdHJhbWFnbnVzO1xuXHR9XG59XG5cbi8vIFNQT1JUU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby0tc3BvcnRzIC5oZWFkbGluZSB7XG5cdGNvbG9yOiAkY29sb3Itc3ByaW5nZXI7XG59XG4uaGFsby0tc3BvcnRzIC5kZWdyZWUtbGlzdCB7XG5cdGJvcmRlcjogc29saWQgMnB4ICRjb2xvci1zcHJpbmdlcjtcbn1cbi5oYWxvLS1zcG9ydHMgLmRlZ3JlZS1saXN0X19saW5rIHtcblx0Y29sb3I6IGRhcmtlbigkY29sb3Itc3ByaW5nZXIsIDEwJSk7XG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1zcHJpbmdlcjtcblx0fVxufVxuXG4vLyBXRUIgVEVDSE5PTE9HWVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFsby0tdGVjaG5vbG9neSAuaGVhZGxpbmUge1xuXHRjb2xvcjogJGNvbG9yLXVsdHJhbWFnbnVzO1xufVxuLmhhbG8tLXRlY2hub2xvZ3kgLmRlZ3JlZS1saXN0IHtcblx0Ym9yZGVyOiBzb2xpZCAycHggJGNvbG9yLXVsdHJhbWFnbnVzO1xufVxuLmhhbG8tLXRlY2hub2xvZ3kgLmRlZ3JlZS1saXN0X19saW5rIHtcblx0Y29sb3I6IGRhcmtlbigkY29sb3ItdWx0cmFtYWdudXMsIDEwJSk7XG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci11bHRyYW1hZ251cztcblx0fVxufVxuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIERFR1JFRSBCTE9DS1Ncbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERFR1JFRSBCTE9DSyBQQVJFTlRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmRlZ3JlZS1ibG9ja3Mge1xuXHRcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KGNvbHVtbiBub3dyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhzdHJldGNoKTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyB3cmFwKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdEBpbmNsdWRlIGZsZXgtZmxvdyhjb2x1bW4gbm93cmFwKTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCTE9DS1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZGVncmVlLWJsb2NrIHtcblxuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiBzb2xpZCByZW0oMykgJGNvbG9yLW1lZ2F0cm9uO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuXG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdEBpbmNsdWRlIGZsZXgtZmxvdyhjb2x1bW4gbm93cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXHRAaW5jbHVkZSBmbGV4KDAgMSBhdXRvKTtcblxuXHQuaDMge1xuXHRcdGNvbG9yOiAkY29sb3ItaG90cm9kO1xuXHRcdGE6aG92ZXIge1xuXHRcdFx0Y29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWhvdHJvZCwgMjAlKTtcblx0XHR9XG5cdH1cblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdHdpZHRoOiA0OCU7XG5cdFx0bWFyZ2luOiAxJSAxJSByZW0oMjApIDElOyAvLyBGaXJlZm94IGRvZXMgbm90IGxpa2UgbWFyZ2lucyBvbiB0aGUgYm90dG9tIGluIHBlcmNlbnRhZ2Vcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMCAwIHJlbSgyMCkgMDtcblx0XHQvLyBEbyB0aGUgY29vbCBmbGlwcHkgdGhpbmcgd2l0aCB0aGUgaW1hZ2VzXG5cdFx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyBub3dyYXApO1xuXHRcdCY6bnRoLWNoaWxkKG9kZCkge1xuXHRcdFx0LmRlZ3JlZS1ibG9ja19faW1hZ2Uge1xuXHRcdFx0XHRAaW5jbHVkZSBvcmRlcigyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmRlZ3JlZS1ibG9ja3MgLmRlZ3JlZS1ibG9jazpsYXN0LWNoaWxkIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4vLyBJbWFnZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZGVncmVlLWJsb2NrX19pbWFnZSB7XG5cblx0d2lkdGg6IDEwMCU7XG5cblx0Ly8gU2FmYXJpIGJ1ZyBhdCBzbWFsbGVzdCByZXNvbHV0aW9uXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0Ly8gRmxleCAtIElFIG5lZWRzIGl0IGxpa2UgdGhpcyB0byBkaXNwbGF5IGNvcnJlY3Rcblx0ZmxleDogMCAwIGF1dG87XHRcblxuXHRpbWcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHR3aWR0aDogYXV0bztcblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG59XG5cbi8vIFR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmRlZ3JlZS1ibG9ja19fdHlwZSB7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMjApO1xufVxuXG4vLyBDb3B5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5kZWdyZWUtYmxvY2tfX2NvcHkge1xuXHRwYWRkaW5nOiAwIHJlbSgyMCk7XG5cblx0LmgzIHtcblx0XHRwYWRkaW5nOiByZW0oMjApIDAgMCAwO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHQvLyBOQVJST1dcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0cGFkZGluZzogMCByZW0oNDApO1xuXHR9XG5cblx0Ly8gREVTS1RPUFxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0cGFkZGluZzogMCByZW0oNjApO1xuXG5cdFx0LmgzIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi8vIExvY2F0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5kZWdyZWUtYmxvY2tfX2xvY2F0aW9uIHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oMjApO1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0oMjApO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBSRUxBVEVEIEJMT0NLU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkxPQ0tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnJlbGF0ZWQtYmxvY2sge1xuXG5cdC8vIFBvc2l0aW9uIHRoZSB0aXRsZSBhbmQgYXJyb3cgaW4gdGhlIHJlbGF0ZWQgYmxvY2tzXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuXG5cdGJvcmRlci10b3A6IHNvbGlkIDEwcHggdHJhbnNwYXJlbnQ7XG5cblx0Ly8gQXJyb3cgSWNvblxuXHQmOmFmdGVyIHtcblx0XHRmb250LWZhbWlseTogJ0ZTaWNvbmFrcm9uJztcblx0XHRmb250LXNpemU6IHJlbSg0MCk7XG5cdFx0Y29udGVudDogXCJcXGU5MDVcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IHJlbSgyMCk7XG5cdFx0Ym90dG9tOiByZW0oMjApO1xuXHRcdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oNjApO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdHJpZ2h0OiByZW0oMzEpO1xuXHRcdFx0Ym90dG9tOiByZW0oMzQpO1xuXHRcdH1cblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUSVRMRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucmVsYXRlZC1ibG9ja19fdGl0bGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IHJlbSgyMCk7XG5cdGJvdHRvbTogcmVtKDIwKTtcblx0Zm9udC1zaXplOiByZW0oMjUpO1xuXHRmb250LWZhbWlseTogJGN1c3RvbS1mb250LTE7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0cGFkZGluZy1yaWdodDogcmVtKDUwKTtcblx0bGluZS1oZWlnaHQ6IHJlbSgyNSk7XG5cdHotaW5kZXg6ICR6LWluZGV4LTE7XG5cblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgIC8qIENocm9tZSBhbGwgLyBTYWZhcmkgYWxsICovXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7ICAgICAvKiBGaXJlZm94IGFsbCAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7ICAgICAgLyogSUUgMTArICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAgICAgICAgICAvKiBMaWtlbHkgZnV0dXJlICovXG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRmb250LXNpemU6IHJlbSg0MCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSg0MCk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oNTApO1xuXHRcdGxlZnQ6IHJlbSgzMSk7XG5cdFx0Ym90dG9tOiByZW0oMzEpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oNTYpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbSg5MCk7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUkVMQVRFRCBCTE9DSyBTS0lOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucmVsYXRlZC1ibG9jay0tc3ByaW5nZXIge1xuXHRib3JkZXItY29sb3I6ICRjb2xvci1zcHJpbmdlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNwcmluZ2VyO1xuXHQuaW1hZ2UtZmFkZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zcHJpbmdlcjtcblx0fVxufVxuXG4ucmVsYXRlZC1ibG9jay0tc2hhcmt0aWNvbiB7XG5cdGJvcmRlci1jb2xvcjogJGNvbG9yLXNoYXJrdGljb247XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zaGFya3RpY29uO1xuXHQuaW1hZ2UtZmFkZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zaGFya3RpY29uO1xuXHR9XG59XG5cbi5yZWxhdGVkLWJsb2NrLS11bHRyYW1hZ251cyB7XG5cdGJvcmRlci1jb2xvcjogJGNvbG9yLXVsdHJhbWFnbnVzO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdWx0cmFtYWdudXM7XG5cdC5pbWFnZS1mYWRlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXVsdHJhbWFnbnVzO1xuXHR9XG59XG5cbi5yZWxhdGVkLWJsb2NrLS1zb3VuZHdhdmUge1xuXHRib3JkZXItY29sb3I6ICRjb2xvci1zb3VuZHdhdmU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zb3VuZHdhdmU7XG5cdC5pbWFnZS1mYWRlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNvdW5kd2F2ZTtcblx0fVxufVxuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIFBST0dSQU1TIEJBU0UgSU1QT1JUU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUFJPR1JBTVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcInByb2dyYW1zXCI7XG5AaW1wb3J0IFwibGF1bmNoLWJveFwiO1xuQGltcG9ydCBcImNvdXJzZS1zY2hlZHVsZVwiO1xuQGltcG9ydCBcImNvdXJzZS1kZXRhaWxcIjsiLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gUFJPR1JBTVNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZJREVPXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vdmVydmlldy12aWRlbyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDQU1QVVMgVlMgT05MSU5FXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vdmVydmlldy1kZWdyZWUtdHlwZS10ZXh0IHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRwYWRkaW5nOiByZW0oMzApIDAgMCAwO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0Ly8gU3Ryb25nIGFjdHMgbGlrZSBhIGhlYWRpbmcuIERyb3AgdGV4dCB1bmRlciBzdHJvbmdcblx0c3Ryb25nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHR9XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gTEFVTkNIIEJPWFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkxPQ0tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxhdW5jaC1ib3gge1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdC5jb250YWluZXIge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0aGVpZ2h0OiBpbmhlcml0O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGhlaWdodDogcmVtKDY1MCk7IC8vIEl0J3MgdGhlIG1hZ2ljYWwgaGVpZ2h0IGJlY2F1c2Ugb2YgYWJzb2x1dGUgcG9zaXRpb25lZCBlbGVtZW50c1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTlRFTlRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRGVzY3JpcHRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxhdW5jaC1ib3hfX2Rlc2NyaXB0aW9uIHtcblxuXHQvLyBCYXNlXG5cdG1hcmdpbjogcmVtKDQwKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogcmVtKDI4KTtcblx0XG5cdC8vIFNraW5cblx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCByZW0oMSkgJGNvbG9yLWpldGZpcmU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0bWFyZ2luOiByZW0oNjApO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogcmVtKDE2OSk7XG5cdFx0bGVmdDogcmVtKDIwKTtcblx0XHR3aWR0aDogcmVtKDI3MCk7XG5cdFx0ei1pbmRleDogJHotaW5kZXgtMjtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0bGVmdDogcmVtKDgwKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcblx0XHRsZWZ0OiByZW0oMjAyKTtcblx0fVxufVxuXG4vLyBMb2dvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5sYXVuY2gtYm94X19sb2dvIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXgtd2lkdGg6IHJlbSgzMjApO1xufVxuXG4vLyBDb3B5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5sYXVuY2gtYm94X19jb3B5IHtcblx0cGFkZGluZzogcmVtKDIwKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU1BFQ1MgTElTVFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGF1bmNoLWJveF9fc3BlY3Mge1xuXHRwYWRkaW5nOiByZW0oMzApIHJlbSgxNSk7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0oMTMwKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbSgxNjApO1xuXHRcdHBhZGRpbmc6IHJlbSg0MCkgMCByZW0oNDApIHJlbSgxNSk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IHJlbSgxNzApO1xuXHRcdGxlZnQ6IHJlbSgzODApO1xuXHRcdHdpZHRoOiByZW0oNTY3KTtcblx0XHR6LWluZGV4OiAkei1pbmRleC0yO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWF4LWhlaWdodDogcmVtKDI4MCk7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMHB4O1xuXHRcdFx0bGVmdDogMHB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0QGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGNvbG9yLWpldGZpcmUsIHJnYmEoMjU1LDI1NSwyNTUsMCkpO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3R0b206IDBweDtcblx0XHRcdGxlZnQ6IDBweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRjb2xvci1qZXRmaXJlLCByZ2JhKDI1NSwyNTUsMjU1LDApKTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0bGVmdDogcmVtKDQ3Mik7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR3aWRlKSB7XG5cdFx0bGVmdDogcmVtKDYwNSk7XG5cdH1cbn1cblxuLy8gV3JhcHBlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGF1bmNoLWJveF9fc3BlY3Mtd3JhcHBlciB7XG5cdFxuXHRwYWRkaW5nOiAwIDA7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRwYWRkaW5nOiAwIHJlbSgzMCk7XG5cdFx0LmdyaWQtOCB7XG5cdFx0XHR3aWR0aDogNDAlO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRtYXgtaGVpZ2h0OiByZW0oMjgwKTtcblx0XHRvdmVyZmxvdzogYXV0bztcblx0XHQuZ3JpZC04IHtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXHR9XG59XG5cbi5sYXVuY2gtYm94X19zcGVjcy13cmFwcGVyIC5ncmlkLXJvdyArIC5ncmlkLXJvdyB7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDMwKTtcblx0fVxufVxuXG4vLyBUaXRsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGF1bmNoLWJveF9fc3BlY3MtdGl0bGUge1xuXHRmb250LXNpemU6IHJlbSgxNik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0cGFkZGluZy1ib3R0b206IHJlbSgxMCk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRwYWRkaW5nLXRvcDogcmVtKDMwKTtcblx0fVxufVxuXG4vLyBUaGUgTGlzdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGF1bmNoLWJveF9fc3BlY3MtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IGRpc2Mgb3V0c2lkZTtcblx0bWFyZ2luOiAwO1xuXHRsaW5lLWhlaWdodDogcmVtKDI1KTtcbn1cblxuLmxhdW5jaC1ib3hfX3NwZWNzLWxpc3QtaXRlbSB7XG5cdGZvbnQtc2l6ZTogcmVtKDE0KTtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdG1hcmdpbi1sZWZ0OiByZW0oMjApO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0fVxufVxuXG4vLyBUaGUgSW1hZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFjYm9va1xuXG4ubGF1bmNoLWJveF9fc3BlY3MtaW1hZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiByZW0oMjUwKTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByZW0oMTY5KSBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhcmdlKSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmVtKDE0NSkgY2VudGVyO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgY2VudGVyO1xuXHRcdG1hcmdpbi1yaWdodDogcmVtKDE1KTtcblx0XHRyaWdodDogcmVtKC03MCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiBpbml0aWFsO1xuXHRcdHJpZ2h0OiByZW0oLTkwKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxufVxuXG4ubGF1bmNoLWJveC0tbWFjYm9vayAubGF1bmNoLWJveF9fc3BlY3MtaW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL3Byb2dyYW1zL2xhdW5jaGJveC1tYWNib29rLnBuZycpO1xufVxuXG4ubGF1bmNoLWJveC0taHAgLmxhdW5jaC1ib3hfX3NwZWNzLWltYWdlIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9wcm9ncmFtcy9sYXVuY2hib3gtaHAucG5nJyk7XG59XG5cbi5sYXVuY2gtYm94LS1pcGFkIC5sYXVuY2gtYm94X19zcGVjcy1pbWFnZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvcHJvZ3JhbXMvbGF1bmNoYm94LWlwYWQucG5nJyk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEVMRU1FTlQgLSBMYXJnZSBJbWFnZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGF1bmNoLWJveF9faW1hZ2Uge1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiByZW0oMCk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IHJlbSg3NTkpO1xuXHRcdHRvcDogcmVtKDEwMCk7XG5cdFx0Ly8gU2l6ZSBvZiB0aGUgaW1hZ2Vcblx0XHR3aWR0aDogcmVtKDc1OSk7XG5cdFx0aGVpZ2h0OiByZW0oNDU4KTtcblx0XHR6LWluZGV4OiAkei1pbmRleC0xO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0cmlnaHQ6IHJlbSgtMTQ4KTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRyaWdodDogcmVtKDApO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcblx0XHRyaWdodDogcmVtKDI1Nyk7XG5cdH1cbn1cblxuLmxhdW5jaC1ib3gtLW1hY2Jvb2sgLmxhdW5jaC1ib3hfX2ltYWdlIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9wcm9ncmFtcy9sYXVuY2hib3gtbWFjYm9vay5wbmcnKTtcblx0fVxufVxuXG4ubGF1bmNoLWJveC0taHAgLmxhdW5jaC1ib3hfX2ltYWdlIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9wcm9ncmFtcy9sYXVuY2hib3gtaHAucG5nJyk7XG5cdH1cbn1cblxuLmxhdW5jaC1ib3gtLWlwYWQgLmxhdW5jaC1ib3hfX2ltYWdlIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9wcm9ncmFtcy9sYXVuY2hib3gtaXBhZC5wbmcnKTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBESVNDTEFJTUVSXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5sYXVuY2gtYm94IC5kaXNjbGFpbWVyIHtcblx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdG1hcmdpbjogcmVtKDE1KSByZW0oMTUpO1xuXHRcblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgICB3aWR0aDogcmVtKDU5Mik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogcmVtKDEwKTtcbiAgICByaWdodDogMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIHJlbSg0MCk7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0d2lkdGg6IHJlbSg3MzgpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcblx0XHRyaWdodDogcmVtKDI2MCk7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBDT1VSU0UgU0NIRURVTEVTXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTQ0hFRFVMRSBCTE9DS1Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNjaGVkdWxlLWJsb2NrcyB7XG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdEBpbmNsdWRlIGZsZXgtZmxvdyhyb3cgd3JhcCk7XG5cdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1hcm91bmQpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTQ0hFRFVMRSBCTE9DS1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2NoZWR1bGUtYmxvY2sge1xuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xuXHRAaW5jbHVkZSBmbGV4LXdyYXAobm93cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoc3RyZXRjaCk7XG5cdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zdGFyc2NyZWFtO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0d2lkdGg6IDQ5JTtcblx0XHRtYXJnaW4tcmlnaHQ6IDElO1xuXHR9XG59XG5cbi5zY2hlZHVsZS1ibG9ja19fZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRmb250LXNpemU6IHJlbSgzMCk7XG5cdHdpZHRoOiByZW0oNjApO1xuXHRwYWRkaW5nOiByZW0oMjApIDA7XG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRmb250LXNpemU6IHJlbSg0MCk7XG5cdFx0d2lkdGg6IHJlbSg4MCk7XG5cdFx0cGFkZGluZzogcmVtKDI1KSAwO1xuXHR9XG59XG5cbi5zY2hlZHVsZS1ibG9ja19fZGF5LXRleHQge1xuXHRtYXJnaW46IGF1dG87XG59XG5cbi5zY2hlZHVsZS1ibG9ja19fcm93LWNvbnRhaW5lciB7XG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdEBpbmNsdWRlIGZsZXgoMSk7XG5cdEBpbmNsdWRlIGZsZXgtZmxvdyhjb2x1bW4gbm93cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24tc2VsZihzdHJldGNoKTtcblx0LnNjaGVkdWxlLWJsb2NrX19yb3c6b25seS1jaGlsZCB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0fVxuXHQuc2NoZWR1bGUtYmxvY2tfX3JvdzpsYXN0LWNoaWxkIHtcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHR9XG59XG5cbi5zY2hlZHVsZS1ibG9ja19fcm93IHtcblx0bWluLWhlaWdodDogcmVtKDUwKTtcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgcmVtKDMpICRjb2xvci1qZXRmaXJlO1xuXHRjb2xvcjogJGNvbG9yLWhvdHJvZDtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyBub3dyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cdEBpbmNsdWRlIGZsZXgoMSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQmOmhvdmVyLFxuXHQmOmFjdGl2ZSB7XG5cdFx0LnNjaGVkdWxlLWJsb2NrX19yb3ctYnV0dG9uIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdFx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0fVxuXHRcdC5zY2hlZHVsZS1ibG9ja19fcm93LWJ1dHRvbiBpIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0XHR9XG5cdH1cbn1cblxuLnNjaGVkdWxlLWJsb2NrX19yb3ctdGV4dCB7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0cGFkZGluZy10b3A6IHJlbSgxMCk7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oMTApO1xuXHRwYWRkaW5nLWxlZnQ6IHJlbSgyMCk7XG5cdHBhZGRpbmctcmlnaHQ6IHJlbSg2MCk7XG59XG5cbi5zY2hlZHVsZS1ibG9ja19fcm93LWJ1dHRvbiB7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDUwcHg7XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWZsb3coY29sdW1uIG5vd3JhcCk7XG5cdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcpO1xuXG5cdGkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDMyKTtcblx0XHRjb2xvcjogJGNvbG9yLWhvdHJvZDtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTQ0hFRFVMRSBUT1RBTFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNjaGVkdWxlLXRvdGFscyB7XG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cdEBpbmNsdWRlIGZsZXgtd3JhcChub3dyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xuXHRcdEBpbmNsdWRlIGZsZXgtd3JhcChub3dyYXApO1xuXHRcdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXHR9XG59XG5cbi5zY2hlZHVsZS10b3RhbHNfX2hvdXJzLFxuLnNjaGVkdWxlLXRvdGFsc19fd2Vla3Mge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQtc2l6ZTogcmVtKDE2KTtcbn1cblxuLnNjaGVkdWxlLXRvdGFsc19faG91cnMge1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0oMzApO1xufVxuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIENPVVJTRSBERVRBSUxTXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBERVRBSUwgVEVYVFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY291cnNlLWRldGFpbC10ZXh0IHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRwYWRkaW5nLXRvcDogcmVtKDMwKTtcblx0QGluY2x1ZGUgY29sdW1ucygxIGF1dG8pO1xuXHRAaW5jbHVkZSBjb2x1bW4tZ2FwKDQwcHgpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0QGluY2x1ZGUgY29sdW1ucygyIGF1dG8pO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdHBhZGRpbmctdG9wOiByZW0oNjApO1xuXHR9XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gQURNSVNTSU9OUyBCQVNFIElNUE9SVFNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFETUlTU0lPTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcIm92ZXJ2aWV3XCI7XG5AaW1wb3J0IFwidHVpdGlvblwiO1xuQGltcG9ydCBcInNjaG9sYXJzaGlwc1wiO1xuQGltcG9ydCBcInRpbWVyXCI7XG5AaW1wb3J0IFwiZXhwbG9yZVwiOyIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBBRE1JU1NJT05TIE9WRVJWSUVXXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBRE1JU1NJT05TIFJFUVVJUkVNRU5UU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDb250YWluZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFkbWlzc2lvbnMtcmVxdWlyZW1lbnRzIHtcblx0cGFkZGluZy1ib3R0b206IHJlbSgzMCk7XG5cdFxuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWZsb3coY29sdW1uIG5vd3JhcCk7XG5cdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xuXHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRAaW5jbHVkZSBmbGV4LWZsb3cocm93IG5vd3JhcCk7XG5cdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXHR9XG59XG5cbi8vIEJsb2NrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hZG1pc3Npb25zLXJlcXVpcmVtZW50c19fYmxvY2sge1xuXHR3aWR0aDogMTAwJTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6aG92ZXIge1xuXHRcdC5hZG1pc3Npb25zLXJlcXVpcmVtZW50c19fdGl0bGUge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHR3aWR0aDogMzMuMzMzMzMlO1xuXHRcdG1hcmdpbi1yaWdodDogcmVtKDMwKTtcblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH1cblx0fVxufVxuXG4vLyBJbWFnZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWRtaXNzaW9ucy1yZXF1aXJlbWVudHNfX2ltYWdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhvdHJvZDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdFxuXHRpbWcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi8vIFRpdGxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hZG1pc3Npb25zLXJlcXVpcmVtZW50c19fdGl0bGUge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHJlbSg0MCkgMDtcblx0Y29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdGZvbnQtc2l6ZTogcmVtKDI4KTtcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjb2xvci1tZWdhdHJvbjtcblxuXHQuc3ViLWhlYWRsaW5lIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFVOSVZFUlNBTCBMT0dPXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi51bml2ZXJzYWwtbG9nbyB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0oMjApO1xuXHRtYXgtd2lkdGg6IDIyMHB4O1xufVxuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIEFETUlTU0lPTlMgVFVJVElPTlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVEFCTEVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnRhYmxlIHtcblx0Ym9yZGVyLWxlZnQ6IHNvbGlkIDEwcHggJGNvbG9yLWJ1bWJsZWJlZTtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDMwKTtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG59XG5cbi50YWJsZV9fcm93IHtcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjb2xvci1tZWdhdHJvbjtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN0YXJzY3JlYW07XG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdEBpbmNsdWRlIGZsZXgtZmxvdyhyb3cgbm93cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xufVxuXG4udGFibGVfX2NlbGwge1xuXHRwYWRkaW5nOiByZW0oMjApO1xuXHRib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAkY29sb3ItamV0ZmlyZTtcblx0QGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG59XG5cbi50YWJsZV9fcm93LS1sYWJlbCB7XG4gXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItamV0ZmlyZTtcbiBcdHBhZGRpbmctdG9wOiAwO1xuIFx0bWFyZ2luLXRvcDogcmVtKDIwKTtcbiBcdGZvbnQtd2VpZ2h0OiBib2xkO1xuIFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRhYmxlX19yb3ctLWxhYmVsOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMDtcblx0LnRhYmxlX19jZWxsIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBTQ0hPTEFSU0hJUFMgT1ZFUlZJRVdcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJST1dTRSBTQ0hPTEFSU0hJUFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJyb3dzZS1zY2hvbGFyc2hpcHNfX3RvZ2dsZXMge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtKDMwKTtcblx0aDIge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuLmJyb3dzZS1zY2hvbGFyc2hpcHNfX2Jsb2NrIHtcblx0cGFkZGluZy1ib3R0b206IHJlbSgzMCk7XG59XG5cbi5icm93c2Utc2Nob2xhcnNoaXBzX19pbWFnZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdCY6aG92ZXIge1xuXHRcdGltZyB7XG5cdFx0XHRvcGFjaXR5OiAuMztcblx0XHR9XG5cdH1cbn1cblxuLmJyb3dzZS1zY2hvbGFyc2hpcHNfX2ltYWdlIGltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRvcGFjaXR5OiAxO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcpO1xufVxuXG4uYnJvd3NlLXNjaG9sYXJzaGlwc19fbGluayB7XG5cdGZvbnQtc2l6ZTogcmVtKDIyKTtcblx0cGFkZGluZy10b3A6IHJlbSgyMCk7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oMjApO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ0FNUFVTIE9OTElORSBMSVNUU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDZW50ZXIgdGhlIGxpc3RzIGJveGVzXG5cbi5zY2hvbGFyc2hpcHMtbGlzdC1jdGEgLmdyaWQtY29sdW1uIHtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMjApO1xufVxuXG4uc2Nob2xhcnNoaXBzLWxpc3QtY3RhIC5ncmlkIHtcblx0bWFyZ2luLXJpZ2h0OiAxJTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdHdpZHRoOiAzMi4zMzMzMyU7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBUSU1FUlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkxPQ0tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnRpbWVyIHtcblx0bWFyZ2luOiBhdXRvO1xuXHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRpbWVyX190aXRsZSB7XG5cdGZvbnQtc2l6ZTogcmVtKDIyKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDMwKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMzYpO1xuXHR9XG59XG5cbi50aW1lcl9fdGV4dCB7XG5cdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0cGFkZGluZzogMCAwO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0cGFkZGluZzogcmVtKDEwKSAwO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjIpO1xuXHR9XG59XG5cbi50aW1lciAuZGl2aWRlciB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRtYXJnaW4tdG9wOiByZW0oMzApO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG5cdH1cbn1cblxuLnRpbWVyX19jb3VudGRvd24ge1xuXG59XG5cbi50aW1lcl9fY291bnRkb3duLWJsb2NrIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogcmVtKDcwKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdHdpZHRoOiByZW0oMTAwKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHR3aWR0aDogcmVtKDEyMCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdHdpZHRoOiByZW0oMTQwKTtcblx0fVxufVxuXG4udGltZXJfX2NvdW50ZG93bi1ibG9jay12YWx1ZSB7XG5cdGZvbnQtc2l6ZTogcmVtKDQwKTtcblx0b3BhY2l0eTogMDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFyZ2UpIHtcblx0XHRoZWlnaHQ6IHJlbSg1MCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oNDApO1xuXHRcdGhlaWdodDogcmVtKDYwKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRmb250LXNpemU6IHJlbSg1MCk7XG5cdFx0aGVpZ2h0OiByZW0oNzApO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRmb250LXNpemU6IHJlbSg2Mik7XG5cdFx0aGVpZ2h0OiByZW0oODApO1xuXHR9XG59XG5cbi50aW1lcl9fY291bnRkb3duLWJsb2NrLWxhYmVsIHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjIpO1xuXHR9XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gQURNSVNTSU9OUyBFWFBMT1JFIC0gR2xpZGUgU2xpZGVyXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTTElERVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI0dsaWRlLWFkbWlzc2lvbnMtZXhwbG9yZSB7XG5cblx0LmgxLFxuXHQuaGVhZGVyX19zZWNvbmRhcnksXG5cdHAge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdCNzbGlkZS0wMSAuZ2xpZGVfX3NsaWRlLWltYWdlIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2FkbWlzc2lvbnMvc2xpZGUtMDEuanBnJyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdH1cblxuXHQjc2xpZGUtMDIgLmdsaWRlX19zbGlkZS1pbWFnZSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9hZG1pc3Npb25zL3NsaWRlLTAyLmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHR9XG5cblx0I3NsaWRlLTAzIC5nbGlkZV9fc2xpZGUtaW1hZ2Uge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvYWRtaXNzaW9ucy9zbGlkZS0wMy5qcGcnKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDBweCB0b3A7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuXHRcdC8vXG5cdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHQvL1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuXHRcdH1cblx0fVxuXG5cdCNzbGlkZS0wNCAuZ2xpZGVfX3NsaWRlLWltYWdlIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2FkbWlzc2lvbnMvc2xpZGUtMDQuanBnJyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ1VTVE9NIEJVTExFVFMgRk9SIEVYUExPUkUgUEFHRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jR2xpZGUtYWRtaXNzaW9ucy1leHBsb3JlIHtcblx0LmdsaWRlX19idWxsZXRzIHtcblx0XHRib3R0b206IDE0JTtcblxuXHRcdC8vXG5cdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHQvL1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRib3R0b206IDExJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdFx0Ym90dG9tOiAxNSU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcblx0XHRcdGJvdHRvbTogMjAlO1xuXHRcdH1cblx0fVxufVxuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIFNUWUxFIEdVSURFXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTSURFQkFSXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zaWRlYmFyIHtcblx0cGFkZGluZzogcmVtKDEyMCkgMDtcblx0bWFyZ2luLXJpZ2h0OiByZW0oMzApO1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0oMjApO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJvcmRlci1yaWdodDogc29saWQgMXB4ICRjb2xvci1zdGFyc2NyZWFtO1xufVxuXG4uc2lkZWJhciB1bCB7XG5cdG1hcmdpbjogcmVtKDIwKSAwO1xufVxuXG4uc2lkZWJhciB1bCBsaSB7XG5cdHBhZGRpbmc6IHJlbSgxMCk7XG5cdCYuYWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcblx0fVxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBDQU1QVVMgT05MSU5FIEJBU0UgSU1QT1JUU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkFTRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0IFwiZG90c1wiO1xuQGltcG9ydCBcImNhbXB1c1wiO1xuQGltcG9ydCBcIm91ci1jYW1wdXNcIjtcbkBpbXBvcnQgXCJsZWFybmluZy1vbmxpbmVcIjtcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBET1RTXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNT0RVTEVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmRvdHMge1xuXG5cdC8vIE1ha2Ugc3VyZSBkb3RzIGdvIG92ZXIgdGhlIGFuZ2xlIHRla1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6ICR6LWluZGV4LTI7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13cmVjay1nYXI7XG59XG5cbi5kb3RzIC5jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gRE9UXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5kb3RzX19kb3Qge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IGdyYXk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KGNvbHVtbiBub3dyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblx0ei1pbmRleDogJHotaW5kZXgtMjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBURVhUIFNJWkVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZG90c19fZG90LXRleHQtc21hbGwge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERPVCBTSVpFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZG90c19fZG90LS0xIHtcblx0d2lkdGg6IDI5MHB4O1xuXHRoZWlnaHQ6IDI5MHB4O1xuXHQuZG90c19fZG90LXRleHQtbGFyZ2Uge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDExMCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgxMTApO1xuXHR9XG5cdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjApO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHR3aWR0aDogMjkwcHg7XG5cdFx0aGVpZ2h0OiAyOTBweDtcblx0XHQuZG90c19fZG90LXRleHQtbGFyZ2Uge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTEwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTEwKTtcblx0XHR9XG5cdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0d2lkdGg6IDI5MHB4O1xuXHRcdGhlaWdodDogMjkwcHg7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDExMCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDExMCk7XG5cdFx0fVxuXHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHR3aWR0aDogMjkwcHg7XG5cdFx0aGVpZ2h0OiAyOTBweDtcblx0XHQuZG90c19fZG90LXRleHQtbGFyZ2Uge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTEwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTEwKTtcblx0XHR9XG5cdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHR9XG5cdH1cbn1cblxuLmRvdHNfX2RvdC0tMiB7XG5cdHdpZHRoOiAyNTVweDtcblx0aGVpZ2h0OiAyNTVweDtcblx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRmb250LXNpemU6IHJlbSgxMDApO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMTAwKTtcblx0fVxuXHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0d2lkdGg6IDE1MHB4O1xuXHRcdGhlaWdodDogMTUwcHg7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDU4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oNTgpO1xuXHRcdH1cblx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTIpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgxMik7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdHdpZHRoOiAxNTBweDtcblx0XHRoZWlnaHQ6IDE1MHB4O1xuXHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg1OCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDU4KTtcblx0XHR9XG5cdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTIpO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0d2lkdGg6IDI1NXB4O1xuXHRcdGhlaWdodDogMjU1cHg7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDEwMCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDEwMCk7XG5cdFx0fVxuXHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cdH1cbn1cblxuLmRvdHNfX2RvdC0tMyB7XG5cdHdpZHRoOiAyMjVweDtcblx0aGVpZ2h0OiAyMjVweDtcblx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRmb250LXNpemU6IHJlbSg5NSk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSg5NSk7XG5cdH1cblx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdH1cblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdHdpZHRoOiAxMzRweDtcblx0XHRoZWlnaHQ6IDEzNHB4O1xuXHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg1NSk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDU1KTtcblx0XHR9XG5cdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDkpO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHR3aWR0aDogMTM0cHg7XG5cdFx0aGVpZ2h0OiAxMzRweDtcblx0XHQuZG90c19fZG90LXRleHQtbGFyZ2Uge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oNTUpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSg1NSk7XG5cdFx0fVxuXHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg5KTtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdHdpZHRoOiAyMjVweDtcblx0XHRoZWlnaHQ6IDIyNXB4O1xuXHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg5NSk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDk1KTtcblx0XHR9XG5cdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHR9XG5cdH1cbn1cblxuLmRvdHNfX2RvdC0tNCB7XG5cdHdpZHRoOiAxOTZweDtcblx0aGVpZ2h0OiAxOTZweDtcblx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRmb250LXNpemU6IHJlbSg2MCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSg2MCk7XG5cdH1cblx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdH1cblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdHdpZHRoOiAxMTZweDtcblx0XHRoZWlnaHQ6IDExNnB4O1xuXHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgzOCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDM4KTtcblx0XHR9XG5cdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0d2lkdGg6IDExNnB4O1xuXHRcdGhlaWdodDogMTE2cHg7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDM4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMzgpO1xuXHRcdH1cblx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTIpO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0d2lkdGg6IDE5NnB4O1xuXHRcdGhlaWdodDogMTk2cHg7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDYwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oNjApO1xuXHRcdH1cblx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdH1cblx0fVxufVxuXG4uZG90c19fZG90LS01IHtcblx0d2lkdGg6IDE3MnB4O1xuXHRoZWlnaHQ6IDE3MnB4O1xuXHQuZG90c19fZG90LXRleHQtbGFyZ2Uge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDU4KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDU4KTtcblx0fVxuXHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDE4KTtcblx0fVxuXHRcblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHR3aWR0aDogMTAycHg7XG5cdFx0aGVpZ2h0OiAxMDJweDtcblx0XHQuZG90c19fZG90LXRleHQtbGFyZ2Uge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMzEpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgzMSk7XG5cdFx0fVxuXHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgxMik7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDEyKTtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdHdpZHRoOiAxNzJweDtcblx0XHRoZWlnaHQ6IDE3MnB4O1xuXHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg1OCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDU4KTtcblx0XHR9XG5cdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTgpO1xuXHRcdH1cblx0fVxufVxuXG4uZG90c19fZG90LS02IHtcblx0d2lkdGg6IDMwMnB4O1xuXHRoZWlnaHQ6IDMwMnB4O1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHR3aWR0aDogMTc0cHg7XG5cdFx0aGVpZ2h0OiAxNzRweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHR3aWR0aDogMTc0cHg7XG5cdFx0aGVpZ2h0OiAxNzRweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0d2lkdGg6IDMwMnB4O1xuXHRcdGhlaWdodDogMzAycHg7XG5cdH1cbn1cblxuLmRvdHNfX2RvdC0tNyB7XG5cdHdpZHRoOiAzMDJweDtcblx0aGVpZ2h0OiAzMDJweDtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0d2lkdGg6IDE3NHB4O1xuXHRcdGhlaWdodDogMTc0cHg7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0d2lkdGg6IDI1NnB4O1xuXHRcdGhlaWdodDogMjU2cHg7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdHdpZHRoOiA0MTBweDtcblx0XHRoZWlnaHQ6IDQxMHB4O1xuXHR9XG59XG5cbi5kb3RzX19kb3QtLTgge1xuXHR3aWR0aDogMTQ1cHg7XG5cdGhlaWdodDogMTQ1cHg7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFxuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdHdpZHRoOiAxNDVweDtcblx0XHRoZWlnaHQ6IDE0NXB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdHdpZHRoOiAxMDJweDtcblx0XHRoZWlnaHQ6IDEwMnB4O1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0d2lkdGg6IDE0NXB4O1xuXHRcdGhlaWdodDogMTQ1cHg7XG5cdH1cbn1cblxuLmRvdHNfX2RvdC0tOSB7XG5cdHdpZHRoOiAxMTBweDtcblx0aGVpZ2h0OiAxMTBweDtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0d2lkdGg6IDExMHB4O1xuXHRcdGhlaWdodDogMTEwcHg7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0d2lkdGg6IDczcHg7XG5cdFx0aGVpZ2h0OiA3M3B4O1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0d2lkdGg6IDExMHB4O1xuXHRcdGhlaWdodDogMTEwcHg7XG5cdFx0Zm9udC1zaXplOiByZW0oMjApO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNLSU5TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5kb3RzX19kb3QtLXNraW4tYnVtYmxlYmVlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xufVxuXG4uZG90c19fZG90LS1za2luLXRyeXB0aWNvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdH1cblx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdH1cbn1cblxuLmRvdHNfX2RvdC0tc2tpbi10cnlwdGljb24tYWx0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdH1cblx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdH1cbn1cblxuLmRvdHNfX2RvdC0tc2tpbi1qZXRmaXJlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHQuZG90c19fZG90LXRleHQtbGFyZ2Uge1xuXHRcdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHR9XG5cdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdH1cbn1cblxuLmRvdHNfX2RvdC0tc2tpbi1qZXRmaXJlLWFsdCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHQuZG90c19fZG90LXRleHQtbGFyZ2Uge1xuXHRcdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDgwKTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDgwKTtcblx0fVxuXHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBPU0lUSU9OIC0gT3VyIENhbXB1c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jb3VyLWNhbXB1cyB7XG5cdGhlaWdodDogMTQzMnB4O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogJHotaW5kZXgtMTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdGhlaWdodDogMTQzMnB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGhlaWdodDogNTAwcHg7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0aGVpZ2h0OiA1MDBweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0aGVpZ2h0OiA4ODBweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR3aWRlKSB7XG5cdFx0aGVpZ2h0OiA4ODBweDtcblx0fVxuXG5cdCNkb3QtMSB7XG5cdFx0dG9wOiAzMjVweDtcblx0XHRsZWZ0OiAzNyU7XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdFx0bGVmdDogNDklO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdHRvcDogMzE5cHg7XG5cdFx0XHRsZWZ0OiAyOSU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0dG9wOiAzMTlweDtcblx0XHRcdGxlZnQ6IDMwNHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0XHR0b3A6IDU0OXB4O1xuXHRcdFx0bGVmdDogMzAycHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcblx0XHRcdHRvcDogNTQ5cHg7XG5cdFx0XHRsZWZ0OiAzMDRweDtcblx0XHR9XG5cdH1cblxuXHQjZG90LTIge1xuXHRcdHRvcDogNTQxcHg7XG5cdFx0bGVmdDogLTklO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdGxlZnQ6IC0yJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHR0b3A6IDY5cHg7XG5cdFx0XHRsZWZ0OiA0MCU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0dG9wOiA2OXB4O1xuXHRcdFx0bGVmdDogMzk4cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdHRvcDogMTIycHg7XG5cdFx0XHRsZWZ0OiA0NjFweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuXHRcdFx0dG9wOiAxMjJweDtcblx0XHRcdGxlZnQ6IDQ2MXB4O1xuXHRcdH1cblx0fVxuXG5cdCNkb3QtMyB7XG5cdFx0dG9wOiA3NjlweDtcblx0XHRsZWZ0OiA1NCU7XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdFx0bGVmdDogNTQlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdHRvcDogMTQ0cHg7XG5cdFx0XHRsZWZ0OiA3MiU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0dG9wOiAxNDRweDtcblx0XHRcdGxlZnQ6IDY1OHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0XHR0b3A6IDI0OXB4O1xuXHRcdFx0bGVmdDogOTEwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcblx0XHRcdHRvcDogMjQ5cHg7XG5cdFx0XHRsZWZ0OiA5MDhweDtcblx0XHR9XG5cdH1cblxuXHQjZG90LTQge1xuXHRcdHRvcDogMjk4cHg7XG5cdFx0bGVmdDogLTUlO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdGxlZnQ6IDExJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHR0b3A6IDMwM3B4O1xuXHRcdFx0bGVmdDogMTQlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRcdHRvcDogMzAzcHg7XG5cdFx0XHRsZWZ0OiAxODFweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdFx0dG9wOiA1MjJweDtcblx0XHRcdGxlZnQ6IDkxcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcblx0XHRcdHRvcDogNTIycHg7XG5cdFx0XHRsZWZ0OiA5MXB4O1xuXHRcdH1cblx0fVxuXG5cdCNkb3QtNSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYW1wdXMtb25saW5lL291ci1jYW1wdXMvZG90LWltYWdlLTAxLmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdHRvcDogMTAxMnB4O1xuXHRcdGxlZnQ6IDE5JTtcblxuXHRcdC8vXG5cdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHQvL1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRsZWZ0OiAxOSU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0dG9wOiAyODZweDtcblx0XHRcdGxlZnQ6IDU1JTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHR0b3A6IDI4NnB4O1xuXHRcdFx0bGVmdDogNTUxcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdHRvcDogNDkycHg7XG5cdFx0XHRsZWZ0OiA3MDFweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuXHRcdFx0dG9wOiA0OTJweDtcblx0XHRcdGxlZnQ6IDcwMHB4O1xuXHRcdH1cblx0fVxuXG5cdCNkb3QtNiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYW1wdXMtb25saW5lL291ci1jYW1wdXMvZG90LWltYWdlLTAyLmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdHRvcDogMjNweDtcblx0XHRsZWZ0OiAzJTtcblxuXHRcdC8vXG5cdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHQvL1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRsZWZ0OiAxOCU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0dG9wOiAxNDRweDtcblx0XHRcdGxlZnQ6IDE4JTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHR0b3A6IDE0NHB4O1xuXHRcdFx0bGVmdDogMjMxcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdHRvcDogMjQ3cHg7XG5cdFx0XHRsZWZ0OiAxNzRweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuXHRcdFx0dG9wOiAyNDdweDtcblx0XHRcdGxlZnQ6IDE3MXB4O1xuXHRcdH1cblx0fVxuXG5cdCNkb3QtNyB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYW1wdXMtb25saW5lL291ci1jYW1wdXMvZG90LWltYWdlLTAzLmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdHRvcDogNTU1cHg7XG5cdFx0bGVmdDogNTclO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdGxlZnQ6IDU3JTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHR0b3A6IDc4cHg7XG5cdFx0XHRsZWZ0OiA1OSU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0dG9wOiA3OHB4O1xuXHRcdFx0bGVmdDogNTU0cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdHRvcDogMTM3cHg7XG5cdFx0XHRsZWZ0OiA3MjhweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuXHRcdFx0dG9wOiAxMzdweDtcblx0XHRcdGxlZnQ6IDcyNHB4O1xuXHRcdH1cblx0fVxuXG5cdCNkb3QtOCB7XG5cdFx0dG9wOiA4NDNweDtcblx0XHRsZWZ0OiAtNSU7XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdFx0bGVmdDogMTQlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdHRvcDogMTg3cHg7XG5cdFx0XHRsZWZ0OiA1NiU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0dG9wOiAxODdweDtcblx0XHRcdGxlZnQ6IDUyNnB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0XHR0b3A6IDMyMnB4O1xuXHRcdFx0bGVmdDogNjgycHg7XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBQT1NJVElPTiAtIEFib3V0XG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuXG4jYWJvdXQge1xuXHRoZWlnaHQ6IDEwMDlweDtcblx0Ly8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9hYm91dC8zMjAuanBnJyk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFyZ2UpIHtcblx0XHRoZWlnaHQ6IDczNHB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdGhlaWdodDogNzgwcHg7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0aGVpZ2h0OiA1NzBweDtcblx0fVxuXHRcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8gVEhFIERPVFNcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHQjZG90LTEge1xuXHRcdHdpZHRoOiAyMDBweDtcblx0XHRoZWlnaHQ6IDIwMHB4O1xuXHRcdHRvcDogMTRweDtcblx0XHRsZWZ0OiAxMyU7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDgwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oODApO1xuXHRcdH1cblx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdH1cblxuXHRcdC8vXG5cdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHQvL1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhcmdlKSB7XG5cdFx0XHR3aWR0aDogMjA0cHg7XG5cdFx0XHRoZWlnaHQ6IDIwNHB4O1xuXHRcdFx0dG9wOiAyNzdweDtcblx0XHRcdGxlZnQ6IDQ2JTtcblx0XHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDEwMCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTAwKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHR3aWR0aDogMjI2cHg7XG5cdFx0XHRoZWlnaHQ6IDIyNnB4O1xuXHRcdFx0dG9wOiAzMDNweDtcblx0XHRcdGxlZnQ6IDQ2JTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHR3aWR0aDogMjA0cHg7XG5cdFx0XHRoZWlnaHQ6IDIwNHB4O1xuXHRcdFx0dG9wOiAxNTJweDtcblx0XHRcdGxlZnQ6IDIxNHB4O1xuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRcdHdpZHRoOiAyMjZweDtcblx0XHRcdGhlaWdodDogMjI2cHg7XG5cdFx0XHR0b3A6IDIxOXB4O1xuXHRcdFx0bGVmdDogMjMwcHg7XG5cdFx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdHdpZHRoOiAyMjZweDtcblx0XHRcdGhlaWdodDogMjI2cHg7XG5cdFx0XHR0b3A6IDE2NXB4O1xuXHRcdFx0bGVmdDogMjkycHg7XG5cdFx0fVxuXHR9XG5cblx0I2RvdC0yIHtcblx0XHR3aWR0aDogMTQxcHg7XG5cdFx0aGVpZ2h0OiAxNDFweDtcblx0XHR0b3A6IDQ5M3B4O1xuXHRcdGxlZnQ6IDUlO1xuXHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg0Myk7XG5cdFx0fVxuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFyZ2UpIHtcblx0XHRcdHdpZHRoOiAxNTZweDtcblx0XHRcdGhlaWdodDogMTU2cHg7XG5cdFx0XHR0b3A6IDM5cHg7XG5cdFx0XHRsZWZ0OiA1OCU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdFx0d2lkdGg6IDE3MnB4O1xuXHRcdFx0aGVpZ2h0OiAxNzJweDtcblx0XHRcdHRvcDogNDFweDtcblx0XHRcdGxlZnQ6IDU3JTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHR3aWR0aDogMTU2cHg7XG5cdFx0XHRoZWlnaHQ6IDE1NnB4O1xuXHRcdFx0dG9wOiAtMTFweDtcblx0XHRcdGxlZnQ6IDIzNHB4O1xuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oNTQpO1xuXHRcdFx0fVxuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRcdHdpZHRoOiAxNzJweDtcblx0XHRcdGhlaWdodDogMTcycHg7XG5cdFx0XHR0b3A6IDg4cHg7XG5cdFx0XHRsZWZ0OiAzOTBweDtcblx0XHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDYwKTtcblx0XHRcdH1cblx0XHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdFx0d2lkdGg6IDE3MnB4O1xuXHRcdFx0aGVpZ2h0OiAxNzJweDtcblx0XHRcdHRvcDogNDdweDtcblx0XHRcdGxlZnQ6IDQ3M3B4O1xuXHRcdH1cblx0fVxuXG5cdCNkb3QtMyB7XG5cdFx0d2lkdGg6IDEyNnB4O1xuXHRcdGhlaWdodDogMTI2cHg7XG5cdFx0dG9wOiA2NThweDtcblx0XHRsZWZ0OiAyMiU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDUwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oNTApO1xuXHRcdFx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdFx0fVxuXHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0XHR9XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYXJnZSkge1xuXHRcdFx0d2lkdGg6IDIwM3B4O1xuXHRcdFx0aGVpZ2h0OiAyMDNweDtcblx0XHRcdHRvcDogNDc0cHg7XG5cdFx0XHRsZWZ0OiAyNCU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTAwKTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgxMDApO1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0XHR9XG5cdFx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdFx0dG9wOiA1MjVweDtcblx0XHRcdGxlZnQ6IDI4JTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHR3aWR0aDogMjAycHg7XG5cdFx0XHRoZWlnaHQ6IDIwMnB4O1xuXHRcdFx0dG9wOiAzNTdweDtcblx0XHRcdGxlZnQ6IDE2NHB4O1xuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRcdHdpZHRoOiAyMjZweDtcblx0XHRcdGhlaWdodDogMjI2cHg7XG5cdFx0XHR0b3A6IDM2NHB4O1xuXHRcdFx0bGVmdDogMzlweDtcblx0XHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdFx0dG9wOiAzMTBweDtcblx0XHRcdGxlZnQ6IDk4cHg7XG5cdFx0fVxuXHR9XG5cblx0I2RvdC00IHtcblx0XHR3aWR0aDogMjQwcHg7XG5cdFx0aGVpZ2h0OiAyNDBweDtcblx0XHR0b3A6IDI1M3B4O1xuXHRcdGxlZnQ6IDIzJTtcblxuXHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg4MCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDgwKTtcblx0XHR9XG5cdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0XHR9XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYXJnZSkge1xuXHRcdFx0d2lkdGg6IDIzMHB4O1xuXHRcdFx0aGVpZ2h0OiAyMzBweDtcblx0XHRcdHRvcDogOTdweDtcblx0XHRcdGxlZnQ6IDAlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdHdpZHRoOiAyNTVweDtcblx0XHRcdGhlaWdodDogMjU1cHg7XG5cdFx0XHR0b3A6IDEwN3B4O1xuXHRcdFx0bGVmdDogNiU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0d2lkdGg6IDIzMHB4O1xuXHRcdFx0aGVpZ2h0OiAyMzBweDtcblx0XHRcdHRvcDogMjBweDtcblx0XHRcdGxlZnQ6IDJweDtcblx0XHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDk5KTtcblx0XHRcdH1cblx0XHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHR3aWR0aDogMjU1cHg7XG5cdFx0XHRoZWlnaHQ6IDI1NXB4O1xuXHRcdFx0dG9wOiA0MXB4O1xuXHRcdFx0bGVmdDogMTdweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdFx0dG9wOiAtNDdweDtcblx0XHRcdGxlZnQ6IDY4cHg7XG5cdFx0fVxuXHR9XG5cblx0I2RvdC01IHtcblx0XHR0b3A6IDc5MXB4O1xuXHRcdGxlZnQ6IDM3JTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRcdH1cblx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRcdH1cblxuXHRcdC8vXG5cdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHQvL1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhcmdlKSB7XG5cdFx0XHR3aWR0aDogMTU2cHg7XG5cdFx0XHRoZWlnaHQ6IDE1NnB4O1xuXHRcdFx0dG9wOiAzMzlweDtcblx0XHRcdGxlZnQ6IDElO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHR0b3A6IDM3NXB4O1xuXHRcdFx0bGVmdDogNyU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0d2lkdGg6IDE1NnB4O1xuXHRcdFx0aGVpZ2h0OiAxNTZweDtcblx0XHRcdHRvcDogMjYycHg7XG5cdFx0XHRsZWZ0OiAzN3B4O1xuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oNTQpO1xuXHRcdFx0fVxuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRcdHdpZHRoOiAxNzJweDtcblx0XHRcdGhlaWdodDogMTcycHg7XG5cdFx0XHR0b3A6IDQxOHB4O1xuXHRcdFx0bGVmdDogMzgycHg7XG5cdFx0XHQuZG90c19fZG90LXRleHQtbGFyZ2Uge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSg2MCk7XG5cdFx0XHR9XG5cdFx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdHRvcDogMzY1cHg7XG5cdFx0XHRsZWZ0OiA0NDRweDtcblx0XHR9XG5cdH1cbn1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIFBPU0lUSU9OIC0gTGVhcm5pbmcgT25saW5lXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuXG4jbGVhcm5pbmctb25saW5lIHtcdFxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGhlaWdodDogMTQzMnB4O1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0aGVpZ2h0OiA1MDBweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRoZWlnaHQ6IDUwMHB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRoZWlnaHQ6IDg4MHB4O1xuXHR9XG5cblx0I2RvdC0xIHtcblx0XHR0b3A6IDQ3MHB4O1xuXHRcdGxlZnQ6IC03JTtcblx0XHQuZG90c19fZG90LXRleHQtbGFyZ2Uge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMzYpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSg0MCk7XG5cdFx0fVxuXHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDIyKTtcblx0XHR9XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYXJnZSkge1xuXHRcdFx0bGVmdDogNiU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdFx0bGVmdDogNiU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0dG9wOiA3NnB4O1xuXHRcdFx0bGVmdDogMzYlO1xuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMjIpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogcmVtKDMwKTtcblx0XHRcdH1cblx0XHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgxNik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0bGVmdDogMzQ4cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdHRvcDogMTIxcHg7XG5cdFx0XHRsZWZ0OiA0MDZweDtcblx0XHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDM2KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbSg0Mik7XG5cdFx0XHR9XG5cdFx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCNkb3QtMiB7XG5cdFx0dG9wOiA3NTNweDtcblx0XHRsZWZ0OiAzMyU7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDM2KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oNDApO1xuXHRcdH1cblx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgyMik7XG5cdFx0fVxuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdHRvcDogMjkycHg7XG5cdFx0XHRsZWZ0OiA0NSU7XG5cdFx0XHQuZG90c19fZG90LXRleHQtbGFyZ2Uge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgyMik7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMzApO1xuXHRcdFx0fVxuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTIpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogcmVtKDE2KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRsZWZ0OiA0MzVweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdFx0dG9wOiA0NzNweDtcblx0XHRcdGxlZnQ6IDU0NnB4O1xuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMzYpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogcmVtKDQyKTtcblx0XHRcdH1cblx0XHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgyNCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0I2RvdC0zIHtcblx0XHR0b3A6IDEwMTFweDtcblx0XHRsZWZ0OiAtNSU7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDM2KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oNDApO1xuXHRcdH1cblx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgyMik7XG5cdFx0fVxuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFyZ2UpIHtcblx0XHRcdGxlZnQ6IDEwJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHR0b3A6IDE1M3B4O1xuXHRcdFx0bGVmdDogNzIlO1xuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LWxhcmdlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMjIpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogcmVtKDMwKTtcblx0XHRcdH1cblx0XHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgxNik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0bGVmdDogNjc2cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdHRvcDogMjUwcHg7XG5cdFx0XHRsZWZ0OiA5MjdweDtcblx0XHRcdC5kb3RzX19kb3QtdGV4dC1sYXJnZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDM2KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbSg0Mik7XG5cdFx0XHR9XG5cdFx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCNkb3QtNCB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYW1wdXMtb25saW5lL2xlYXJuaW5nLW9ubGluZS9kb3QtaW1hZ2UtMDEuanBnJyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0dG9wOiAxMDFweDtcblx0XHRsZWZ0OiAtMTIlO1xuXHRcdHdpZHRoOiA0MTBweDtcblx0XHRoZWlnaHQ6IDQxMHB4O1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFyZ2UpIHtcblx0XHRcdGxlZnQ6IDMlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdGxlZnQ6IDclO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdHRvcDogMTU4cHg7XG5cdFx0XHRsZWZ0OiA2JTtcblx0XHRcdHdpZHRoOiAyNTdweDtcblx0XHRcdGhlaWdodDogMjU3cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0bGVmdDogODJweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdFx0dG9wOiAyNjVweDtcblx0XHRcdGxlZnQ6IC0xNXB4O1xuXHRcdH1cblx0fVxuXG5cdCNkb3QtNSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYW1wdXMtb25saW5lL2xlYXJuaW5nLW9ubGluZS9kb3QtaW1hZ2UtMDIuanBnJyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0dG9wOiA1ODRweDtcblx0XHRsZWZ0OiA1MCU7XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0dG9wOiAxNjVweDtcblx0XHRcdGxlZnQ6IDUzJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRsZWZ0OiA1MDZweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdFx0dG9wOiAyNzNweDtcblx0XHRcdGxlZnQ6IDY2MHB4O1xuXHRcdH1cblx0fVxuXG5cdCNkb3QtNiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYW1wdXMtb25saW5lL2xlYXJuaW5nLW9ubGluZS9kb3QtaW1hZ2UtMDMuanBnJyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0dG9wOiAxMTg1cHg7XG5cdFx0bGVmdDogNDMlO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdHRvcDogMzAwcHg7XG5cdFx0XHRsZWZ0OiA3OSU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0bGVmdDogNzQzcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdHRvcDogNDg2cHg7XG5cdFx0XHRsZWZ0OiAxMDM3cHg7XG5cdFx0fVxuXHR9XG5cblx0I2RvdC03IHtcblx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0XHR0b3A6IDcxMXB4O1xuXHRcdGxlZnQ6IDAlO1xuXHRcdHdpZHRoOiAxNDVweDtcblx0XHRoZWlnaHQ6IDE0NXB4O1xuXHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0fVxuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFyZ2UpIHtcblx0XHRcdGxlZnQ6IDklO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdGxlZnQ6IDEzJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHR0b3A6IDI4NXB4O1xuXHRcdFx0bGVmdDogMzQlO1xuXHRcdFx0d2lkdGg6IDkycHg7XG5cdFx0XHRoZWlnaHQ6IDkycHg7XG5cdFx0XHQuZG90c19fZG90LXRleHQtc21hbGwge1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0dG9wOiAyODJweDtcblx0XHRcdGxlZnQ6IDMzNXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0XHR0b3A6IDQ2OXB4O1xuXHRcdFx0bGVmdDogMzkycHg7XG5cdFx0fVxuXHR9XG5cblx0I2RvdC04IHtcblx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0XHR0b3A6IDEwMjBweDtcblx0XHRsZWZ0OiA2NCU7XG5cdFx0d2lkdGg6IDExMHB4O1xuXHRcdGhlaWdodDogMTEwcHg7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHR9XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYXJnZSkge1xuXHRcdFx0d2lkdGg6IDExMHB4O1xuXHRcdFx0aGVpZ2h0OiAxMTBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHR3aWR0aDogMTEwcHg7XG5cdFx0XHRoZWlnaHQ6IDExMHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdHRvcDogMTAzcHg7XG5cdFx0XHRsZWZ0OiA1OSU7XG5cdFx0XHR3aWR0aDogNzJweDtcblx0XHRcdGhlaWdodDogNzJweDtcblx0XHRcdC5kb3RzX19kb3QtdGV4dC1zbWFsbCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHR0b3A6IDEwMnB4O1xuXHRcdFx0bGVmdDogNTYxcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdHRvcDogMTgxcHg7XG5cdFx0XHRsZWZ0OiA3NTRweDtcblx0XHR9XG5cdH1cblxuXHQjZG90LTkge1xuXHRcdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRcdHRvcDogMjZweDtcblx0XHRsZWZ0OiA1NCU7XG5cdFx0d2lkdGg6IDExM3B4O1xuXHRcdGhlaWdodDogMTEzcHg7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHR9XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0dG9wOiAxMDhweDtcblx0XHRcdGxlZnQ6IDIyJTtcblx0XHRcdHdpZHRoOiA3MnB4O1xuXHRcdFx0aGVpZ2h0OiA3MnB4O1xuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRcdHRvcDogMTA2cHg7XG5cdFx0XHRsZWZ0OiAyMjRweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdFx0dG9wOiAxODhweDtcblx0XHRcdGxlZnQ6IDIyMHB4O1xuXHRcdH1cblx0fVxuXG5cdCNkb3QtMTAge1xuXHRcdHRvcDogOTEycHg7XG5cdFx0bGVmdDogOSU7XG5cdFx0d2lkdGg6IDExNnB4O1xuXHRcdGhlaWdodDogMTE2cHg7XG5cdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0XHR9XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYXJnZSkge1xuXHRcdFx0bGVmdDogOSU7XG5cdFx0XHR3aWR0aDogMTE2cHg7XG5cdFx0XHRoZWlnaHQ6IDExNnB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdGxlZnQ6IDEzJTtcblx0XHRcdHdpZHRoOiAxMTZweDtcblx0XHRcdGhlaWdodDogMTE2cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0dG9wOiAyNTdweDtcblx0XHRcdGxlZnQ6IDYyJTtcblx0XHRcdHdpZHRoOiA3MnB4O1xuXHRcdFx0aGVpZ2h0OiA3MnB4O1xuXHRcdFx0LmRvdHNfX2RvdC10ZXh0LXNtYWxsIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTIpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRcdGxlZnQ6IDU5MXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0XHR0b3A6IDQyN3B4O1xuXHRcdFx0bGVmdDogODAycHg7XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBET1RTIC0gUGFyYWxsYXggT3VyIENhbXB1c1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTU9EVUxFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiNwYXJhbGxheC0wMSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdC8vIFNob3cgdGhlIHBhcmFsbGF4IGRvdHNcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IC0xMDBweDtcblx0XHRsZWZ0OiAwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMjAlO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvY2FtcHVzLW9ubGluZS9vdXItY2FtcHVzL3BhcmFsbGF4LTAxLnBuZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG5cdH1cbn1cblxuI3BhcmFsbGF4LTAyIHtcblx0ZGlzcGxheTogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0Ly8gU2hvdyB0aGUgcGFyYWxsYXggZG90c1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTEwMHB4O1xuXHRcdGxlZnQ6IDBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEyMCU7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYW1wdXMtb25saW5lL291ci1jYW1wdXMvcGFyYWxsYXgtMDIucG5nJyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcblx0fVxufVxuXG4jcGFyYWxsYXgtMDMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMHB4O1xuXHRsZWZ0OiAwcHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0dG9wOiAwcHg7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBDQU1QVVMgT05MSU5FXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTTElERVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI0dsaWRlLWNhbXB1cyB7XG5cblx0Ly8gMDFcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHQjc2xpZGUtMDEgLmdsaWRlX19zbGlkZS1pbWFnZSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYW1wdXMtb25saW5lL2NhbXB1cy9zbGlkZS0wMS5qcGcnKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0fVxuXG5cdC8vIDAyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0I3NsaWRlLTAyIC5nbGlkZV9fc2xpZGUtaW1hZ2Uge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvY2FtcHVzLW9ubGluZS9jYW1wdXMvc2xpZGUtMDIuanBnJyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdH1cblxuXHQvLyAwM1xuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdCNzbGlkZS0wMyAuZ2xpZGVfX3NsaWRlLWltYWdlIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2NhbXB1cy1vbmxpbmUvY2FtcHVzL3NsaWRlLTAzLmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHR9XG5cblx0Ly8gMDRcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHQjc2xpZGUtMDQgLmdsaWRlX19zbGlkZS1pbWFnZSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYW1wdXMtb25saW5lL2NhbXB1cy9zbGlkZS0wNC5qcGcnKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0fVxuXG5cdC8vIDA1XG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0I3NsaWRlLTA1IC5nbGlkZV9fc2xpZGUtaW1hZ2Uge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvY2FtcHVzLW9ubGluZS9jYW1wdXMvc2xpZGUtMDUuanBnJyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdH1cblxuXHQvLyAwNlxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdCNzbGlkZS0wNiAuZ2xpZGVfX3NsaWRlLWltYWdlIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2NhbXB1cy1vbmxpbmUvY2FtcHVzL3NsaWRlLTA2LmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHR9XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gT1VSIENBTVBVU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0xJREVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiNHbGlkZS1vdXItY2FtcHVzIHtcblxuXHQuZ2xpZGVfX2J1bGxldHMge1xuXHRcdGJvdHRvbTogcmVtKDQwKTtcblx0fVxuIFxuXHQvLyBNYWtlIHRoZSBncmlkcyBmaWxsIG91dCB0aGUgYXJlYSBvZiB0aGUgc2xpZGVyXG5cdC5ncmlkLXJvdyxcblx0W2NsYXNzXj1cImdyaWQtXCJdIHtcblx0XHRoZWlnaHQ6IGluaGVyaXQ7XG5cdH1cblxuXHQvLyBTcGxpdCBhIGdyaWQgaW4gaGFsZlxuXHQuZ3JpZC1zcGxpdC12ZXJ0aWNhbCB7XG5cdFx0aGVpZ2h0OiA1MCU7XG5cdH1cblxuXHQvLyBTZXQgdG8gcmVsYXRpdmUgZm9yIHBvc2l0aW9uaW5nIG9mIHRoZSB0aXRsZXNcblx0W2NsYXNzXj1cImdyaWQtXCJdIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQvLyBTdG9wIGdyaWRzIGZyb20gZ29pbmcgdG8gY29sdW1uIG9uIG1vYmlsZVxuXHQuZ3JpZC1yb3cge1xuXHRcdEBpbmNsdWRlIGZsZXgtZmxvdyhyb3cgbm93cmFwKTtcblx0fVxuXG5cdC5nbGlkZV9fdGl0bGUge1xuXHRcdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0fVxuXG5cdC5nbGlkZV9fdGl0bGUtLWJvdHRvbS1yaWdodCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwcHg7XG5cdFx0Ym90dG9tOiAwcHg7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxMHB4ICRjb2xvci1idW1ibGViZWU7XG5cdFx0cGFkZGluZy1yaWdodDogcmVtKDIwKTtcblx0XHRwYWRkaW5nLXRvcDogcmVtKDEwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDEwKTtcblx0fVxuXG5cdC5nbGlkZV9fdGl0bGUtLWJvdHRvbS1sZWZ0IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMHB4O1xuXHRcdGJvdHRvbTogMHB4O1xuXHRcdGJvcmRlci1sZWZ0OiBzb2xpZCAxMHB4ICRjb2xvci1idW1ibGViZWU7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0oMjApO1xuXHRcdHBhZGRpbmctdG9wOiByZW0oMTApO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oMTApO1xuXHR9XG5cblx0LmdsaWRlX190aXRsZS0tdG9wLWxlZnQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAwcHg7XG5cdFx0dG9wOiAwcHg7XG5cdFx0Ym9yZGVyLWxlZnQ6IHNvbGlkIDEwcHggJGNvbG9yLWJ1bWJsZWJlZTtcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbSgyMCk7XG5cdFx0cGFkZGluZy10b3A6IHJlbSgxMCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbSgxMCk7XG5cdH1cblxuXHQuZ2xpZGVfX3RpdGxlLS10b3AtcmlnaHQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMHB4O1xuXHRcdHRvcDogMHB4O1xuXHRcdGJvcmRlci1yaWdodDogc29saWQgMTBweCAkY29sb3ItYnVtYmxlYmVlO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbSgyMCk7XG5cdFx0cGFkZGluZy10b3A6IHJlbSgxMCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbSgxMCk7XG5cdH1cblxuXHQuc2xpZGUtaW1hZ2Uge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhFUk8gVEVYVFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ub3ZlcnZpZXctLW91ci1jYW1wdXMgcCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cbn1cblxuLm92ZXJ2aWV3LS1vdXItY2FtcHVzIC5kaXZpZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTUFQIFNWR1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jbWFwLWNhbXB1cyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IHJlbSgzMDApO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtKDMwKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGhlaWdodDogcmVtKDM2MCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0aGVpZ2h0OiByZW0oNDYwKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0aGVpZ2h0OiByZW0oNTYwKTtcblx0fVxufVxuXG4vLyBMZWdlbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm1hcC1jYW1wdXMtbGVnZW5kIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICBtYXgtd2lkdGg6IDkwJTtcbiAgY29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdGxpIHtcblx0XHRjb3VudGVyLWluY3JlbWVudDogc3RlcC1jb3VudGVyO1xuXHQgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cdH1cblx0bGk6YmVmb3JlIHtcblx0XHRjb250ZW50OiBjb3VudGVyKHN0ZXAtY291bnRlcik7XG5cdCAgbWFyZ2luLXJpZ2h0OiByZW0oMTApO1xuXHQgIGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0ICBmb250LXdlaWdodDogYm9sZDtcblx0ICBjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblxuXHQgIC8vIEFsaWduIHRoZSBvbCBudW1iZXJzIHRvIHRoZSB0b3Agb2YgdGhlIHRpdGxlXG5cdCAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHQgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdCAgcGFkZGluZy10b3A6IHJlbSg1KTtcblx0fVxuXHQuYmxvY2sge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdG1heC13aWR0aDogODAlO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHQvLyBtYXgtd2lkdGg6IDcwJTtcblx0fVxufVxuXG4ubWFwLWNhbXB1cy1sZWdlbmRfX2xhYmVsIHtcblx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtKDUpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjIpO1xuXHR9XG59XG5cbi5tYXAtY2FtcHVzLWxlZ2VuZF9fZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IHJlbSgxNCk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBPVVIgQ0FNUFVTXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTTElERVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI0dsaWRlLWxlYXJuaW5nLW9ubGluZSB7XG5cblx0Ji5nbGlkZS0taG9yaXpvbnRhbCAuZ2xpZGVfX2J1bGxldHMge1xuXHRcdGJvdHRvbTogcmVtKDQwKTtcblx0fVxuXHRcblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHQuY29udGFpbmVyIHtcblx0XHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcblx0fVxuXG5cdGgxIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRmb250LXNpemU6IHJlbSgyOCk7XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oNDYpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg1OCk7XG5cdFx0fVxuXHR9XG5cblx0cCB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHRcdC8vXG5cdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHQvL1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDI3MHB4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdG1heC13aWR0aDogNDMwcHg7XG5cdFx0XHRmb250LXNpemU6IHJlbSgxOCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDIyKTtcblx0XHR9XG5cdH1cblxuXHQuZGl2aWRlciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdC8vIDAxXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHQjc2xpZGUtMDEge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvY2FtcHVzLW9ubGluZS9sZWFybmluZy1vbmxpbmUvc2xpZGUtMDEuanBnJyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuXHRcdC8vXG5cdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHQvL1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMHB4IDBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7XG5cdFx0fVxuXG5cdFx0LmJsb2NrIHtcblxuXHRcdFx0Ly9cblx0XHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0XHQvL1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAxNXB4O1xuXHRcdFx0XHRib3R0b206IDEwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuaDEge1xuXHRcdFx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0XHR9XG5cdH1cblxuXHQvLyAwMlxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0I3NsaWRlLTAyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXG5cdFx0LnNsaWRlLWxhcHRvcCB7XG5cdFx0XHR3aWR0aDogNzYycHg7XG5cdFx0XHRoZWlnaHQ6IDQ1NnB4O1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYW1wdXMtb25saW5lL2xlYXJuaW5nLW9ubGluZS9zbGlkZS0wMi5wbmcnKTtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDMwJTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IC04N3B4O1xuXHRcdFx0dG9wOiA2MHB4O1xuXHRcdFx0ei1pbmRleDogMTtcblxuXHRcdFx0Ly9cblx0XHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0XHQvL1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiA0NiU7XG5cdFx0XHRcdGxlZnQ6IC00N3B4O1xuXHRcdFx0XHR0b3A6IDU1cHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdFx0bGVmdDogLTcwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiA4MCU7XG5cdFx0XHRcdGxlZnQ6IC0yNTBweDtcblx0XHRcdFx0dG9wOiA3NXB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRcdGxlZnQ6IC0xOTBweDtcblx0XHRcdFx0dG9wOiA5MHB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cdFx0XHRcdGxlZnQ6IC01N3B4O1xuXHRcdFx0XHR0b3A6IDkwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmJsb2NrIHtcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogLTE1cHg7XG5cdFx0XHR0b3A6IDk4cHg7XG5cblx0XHRcdC8vXG5cdFx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdFx0Ly9cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhcmdlKSB7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRcdHRvcDogMTIwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0dG9wOiA3MHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGgxIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXG5cdFx0XHQvL1xuXHRcdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHRcdC8vXG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdFx0XHRoZWlnaHQ6IDBweDtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdG1heC13aWR0aDogMzc2cHg7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbSgyMCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiA0ODBweDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyAwM1xuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0I3NsaWRlLTAzIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2NhbXB1cy1vbmxpbmUvbGVhcm5pbmctb25saW5lL3NsaWRlLTAzLmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggMHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IC0xNzBweCAwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O1xuXHRcdH1cblxuXHRcdC5ibG9jayB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAxNXB4O1xuXHRcdFx0Ym90dG9tOiAzMiU7XG5cblx0XHRcdC8vXG5cdFx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdFx0Ly9cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRcdGJvdHRvbTogMTAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGgxIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdFx0Ly9cblx0XHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0XHQvL1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAzMjBweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDQzMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIDA0XG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHQjc2xpZGUtMDQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICMzYzMwMmQ7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvc3JjL2ltZy9jYW1wdXMtb25saW5lL2xlYXJuaW5nLW9ubGluZS9zbGlkZS0wNC5qcGcnKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IC02MHB4IDBweDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IC0xOTBweCAwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTI3MHB4IDBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggMHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjUwcHggMHB4O1xuXHRcdH1cblxuXHRcdC5ibG9jayB7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAzOHB4O1xuXHRcdFx0cmlnaHQ6IC01cHg7XG5cblx0XHRcdC8vXG5cdFx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdFx0Ly9cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRcdGJvdHRvbTogMTAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDI2MHB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdGJvdHRvbTogMTAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDI4MHB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRcdGJvdHRvbTogODBweDtcblx0XHRcdFx0bWF4LXdpZHRoOiAzNzBweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdFx0Ym90dG9tOiAxMTBweDtcblx0XHRcdFx0bWF4LXdpZHRoOiA0NjBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoMSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRcdFx0dGV4dC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMSk7XG5cblx0XHRcdC8vXG5cdFx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdFx0Ly9cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRcdHRleHQtc2hhZG93OiBpbml0aWFsO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHAge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdG1heC13aWR0aDogNDgwcHg7XG5cdFx0XHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdFx0fVxuXG5cdFx0LmRpdmlkZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHRcdFx0Ly9cblx0XHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0XHQvL1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XHRcblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBBQk9VVCBCQVNFIElNUE9SVFNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIElNUE9SVFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcImFib3V0XCI7XG5AaW1wb3J0IFwicmVzb3VyY2VzXCI7XG5AaW1wb3J0IFwiZmFxXCI7XG5AaW1wb3J0IFwicHJlc3Mtcm9vbVwiO1xuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIEFCT1VUIFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0xJREVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiNHbGlkZS1hYm91dCB7XG5cblx0aGVpZ2h0OiAxMDBweDtcblx0bWFyZ2luLXRvcDogcmVtKDYwKTtcblx0Ym9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvYWJvdXQvc2xpZGUtMDEuanBnJyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRoZWlnaHQ6IDE1MHB4O1x0XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRoZWlnaHQ6IDIwMHB4O1x0XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRoZWlnaHQ6IDI3NXB4O1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdGhlaWdodDogMzUwcHg7XHRcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcblx0XHRoZWlnaHQ6IDQwMHB4O1x0XG5cdH1cblxuXHQuaDEsXG5cdHAsXG5cdC5kaXZpZGVyLFxuXHQuaGVhZGVyX19zZWNvbmRhcnkge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcblx0fVxuXG5cdCRnbGlkZS1jb250ZW50LXBhZGRpbmc6IHJlbSg4MCk7XG5cblx0LmgxIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwIHJlbSg1MCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRmb250LXNpemU6IHJlbSgyMik7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFyZ2UpIHtcblx0XHRcdFxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0oNjApO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDM0KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6ICRnbGlkZS1jb250ZW50LXBhZGRpbmc7XG5cdFx0XHRmb250LXNpemU6IHJlbSgzNik7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDU4KTtcblx0XHR9XG5cdH1cblxuXHRwIHtcblx0XHRtYXgtd2lkdGg6IDcwMHB4O1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XHRcdFxuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtKDYwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6ICRnbGlkZS1jb250ZW50LXBhZGRpbmc7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRmb250LXNpemU6IHJlbSgxOCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDMwKTtcblx0XHR9XG5cdH1cblxuXHQuZGl2aWRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0bWFyZ2luLWxlZnQ6ICRnbGlkZS1jb250ZW50LXBhZGRpbmc7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdC8vXG5cdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHQvL1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXHR9XG5cblx0LmhlYWRlcl9fc2Vjb25kYXJ5IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwIHJlbSg1MCk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGNvbG9yOiAkY29sb3ItaG90cm9kO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtKDYwKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbSgxMCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogJGdsaWRlLWNvbnRlbnQtcGFkZGluZztcblx0XHR9XG5cdH1cblxuXHQvLyBSZXNldCB0aGUgZGVmYXVsdCBtYXJnaW5zIG9uIHRoZSBhcnJvd3Ncblx0Ji5nbGlkZS0taG9yaXpvbnRhbCAuZ2xpZGVfX2Fycm93cyB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0Ji5nbGlkZS0taG9yaXpvbnRhbCAuZ2xpZGVfX2Fycm93LnByZXYge1xuXHRcdGxlZnQ6IDE1cHg7XG5cdH1cblx0Ji5nbGlkZS0taG9yaXpvbnRhbCAuZ2xpZGVfX2Fycm93Lm5leHQge1xuXHRcdHJpZ2h0OiAxNXB4O1xuXHR9XG5cblx0LmdsaWRlX19zbGlkZS13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAkY29sb3ItbWVnYXRyb247XG5cdFx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0XHRAaW5jbHVkZSBmbGV4LWZsb3coY29sdW1uIG5vd3JhcCk7XG5cdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoYmFzZWxpbmUpO1xuXHRcdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXHR9XG5cblx0LmdsaWRlX19zbGlkZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHQuZ2xpZGVfX3NsaWRlLWltYWdlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDBweDtcblx0XHRib3R0b206IDBweDtcblx0XHR3aWR0aDogYXV0bztcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0dG9wOiBhdXRvO1xuXHRcdGxlZnQ6IGF1dG87XG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiByZW0oMTI1KTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dXNlci1kcmFnOiBub25lOyBcblx0XHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHRcdC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuXHRcdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR9XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdC8vXG5cdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHQvL1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiByZW0oMjI1KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogcmVtKDI2OSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdFx0cmlnaHQ6IHJlbSgtNTApO1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IHJlbSgzNzApO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiByZW0oNDcxKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSU5GTyBCT1hFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaW5mby1ib3gge1xuXG59XG5cbi5pbmZvLWJveC0tYWx0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN0YXJzY3JlYW07XG5cdHBhZGRpbmc6IHJlbSg0MCkgcmVtKDMwKSByZW0oMzApIHJlbSgzMCk7XG5cdGJvcmRlci10b3A6IHNvbGlkIDEwcHggJGNvbG9yLWhvdHJvZDtcbn1cblxuLmluZm8tYm94X190aXRsZSB7XG5cdGZvbnQtc2l6ZTogcmVtKDI4KTtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG59XG5cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBSRVNPVVJDRVNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERPV05MT0FEU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZG93bmxvYWRzIHtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyB3cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoc3RyZXRjaCk7XG5cdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1hcm91bmQpO1xuXHR9XG59XG5cbi5kb3dubG9hZHNfX2Jsb2NrIHtcblx0QGluY2x1ZGUgZmxleCgwIDEgYXV0byk7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oNDkpO1xuXHRwYWRkaW5nOiAwIHJlbSgxMCk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHR3aWR0aDogNTAlO1xuXHRcdC8vIHBhZGRpbmctcmlnaHQ6IHJlbSgxMCk7XG5cdFx0JjpudGgtY2hpbGQoMm4rMikge1xuXHRcdFx0Ly8gcGFkZGluZy1yaWdodDogMDtcblx0XHRcdC8vIHBhZGRpbmctbGVmdDogcmVtKDEwKTtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0d2lkdGg6IDMzLjMzMzMzJTtcblx0XHQmOm50aC1jaGlsZCgybisyKSB7XG5cdFx0XHQvLyBwYWRkaW5nLXJpZ2h0OiByZW0oMCk7XG5cdFx0fVxuXHRcdCY6bnRoLWNoaWxkKDNuKzMpIHtcblx0XHRcdC8vIHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHQvLyBwYWRkaW5nLWxlZnQ6IHJlbSgxMCk7XG5cdFx0fVxuXHR9XG59XG5cbi5kb3dubG9hZHNfX2Jsb2NrIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uZG93bmxvYWRzX19saW5rIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuXHQmOmhvdmVyIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRvcGFjaXR5OiAuODtcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0fVxuXHR9XG59XG5cbi5kb3dubG9hZHNfX2xpbms6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhvdHJvZDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwcHg7XG5cdGxlZnQ6IDBweDtcblx0ei1pbmRleDogJHotaW5kZXgtMTtcblx0b3BhY2l0eTogMDtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5ICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcbn1cblxuLmRvd25sb2Fkc19fbGluazphZnRlciB7XG5cdG9wYWNpdHk6IDA7XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0Zm9udC1zaXplOiByZW0oNTApO1xuXHRmb250LWZhbWlseTogJ0ZTaWNvbmFrcm9uJztcblx0Y29udGVudDogJ1xcZTkzYSc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA0NSU7XG5cdGxlZnQ6IDUwJTtcblx0d2lkdGg6IGF1dG87XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luLXRvcDogcmVtKC0yNSk7XG5cdG1hcmdpbi1sZWZ0OiByZW0oLTI1KTtcblx0ei1pbmRleDogJHotaW5kZXgtMjtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZywgdG9wICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRmb250LXNpemU6IHJlbSg3MCk7XG5cdFx0bWFyZ2luLXRvcDogcmVtKC0zNCk7XG5cdFx0bWFyZ2luLWxlZnQ6IHJlbSgtMzQpO1xuXHR9XG59XG5cbi5kb3dubG9hZHNfX2ltYWdlIHtcblx0XG59XG5cbi5kb3dubG9hZHNfX3RpdGxlIHtcblx0Zm9udC1zaXplOiByZW0oMjQpO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblx0cGFkZGluZy1ib3R0b206IHJlbSg3KTtcblx0Ly8gaGVpZ2h0OiByZW0oODUpO1xufVxuXG4uZG93bmxvYWRzX19zaXplIHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcbn1cblxuLmRvd25sb2Fkc19fbGlua3MgYSB7XG5cdG1hcmdpbjogMCByZW0oMTApO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHQmOmhvdmVyIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufVxuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIEZBUVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRkFRIEJMT0NLXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mYXEtYmxvY2sge1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuXHQmOmxhc3QtY2hpbGQge1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBBQk9VVCAtIFBSRVNTIFJPT01cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhcy1zaWRlYmFyLXJpZ2h0IHtcbiAgXG4gIC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0oMzApO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgzMCk7XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuICB9XG59XG5cbi5wcmVzcy1ibG9jayB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkY29sb3ItbWVnYXRyb247XG4gIG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG59XG5cbi5wcmVzcy1ibG9ja19fZGF0ZSB7XG4gIGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IHJlbSgxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xufVxuXG4ucHJlc3MtYmxvY2tfX3RleHQge1xuICBwYWRkaW5nLWJvdHRvbTogcmVtKDIwKTtcbn1cblxuLnByZXNzLWJsb2NrLS1hbHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgcGFkZGluZzogcmVtKDMwKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0VMRUNUIEZJTFRFUlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2VsZWN0LWZpbHRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWpldGZpcmU7XG4gIHBhZGRpbmc6IDAgMCAwIHJlbSgzMCk7XG59XG5cbi5zZWxlY3QtZmlsdGVyX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmctcmlnaHQ6IHJlbSgyMCk7XG4gIGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xufVxuXG4uc2VsZWN0LWZpbHRlcl9fc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogcmVtKDEwKTtcbiAgLy8gTGFzdCBDaGlsZFxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAvLyBDYXJldCBEb3duXG4gICY6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiAnRlNpY29uYWtyb24nICFpbXBvcnRhbnQ7XG4gICAgY29udGVudDogJ1xcZTkwMyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogcmVtKDEwKTtcbiAgICByaWdodDogcmVtKDUpO1xuICAgIGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICB6LWluZGV4OiAkei1pbmRleC0xO1xuICB9XG59XG5cbi5zZWxlY3QtZmlsdGVyIHNlbGVjdCB7XG4gIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuICB3aWR0aDogcmVtKDEyNSk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IHJlbSg1KSByZW0oMTApIHJlbSgxMCkgcmVtKDEwKTtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tZm9udC0xO1xuICBmb250LXNpemU6IHJlbSgxNCk7XG4gIGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6ICR6LWluZGV4LTI7XG59XG5cbi5zZWxlY3QtZmlsdGVyIC5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHJlbSgxMSkgcmVtKDI0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBXRSdSRSBESUZGRVJFTlQgQkFTRSBJTVBPUlRTXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJTVBPUlRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgXCJ3ZXJlLWRpZmZlcmVudFwiO1xuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIFdFJ1JFIERJRkZFUkVOVFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0NST0xMIE1BR0lDIE9WRVJSSURFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFuZWwge1xuXHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0cGFkZGluZy1ib3R0b206IHJlbSg2MCk7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1qZXRmaXJlO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQQU5FTCBJTkRJQ0FUT1Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI3BhbmVsLWluZGljYXRvciB7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IC8vIFNjcm9sbCBNYWdpYyBtZXNzZXMgdXAgdGhpcyBjYWxjdWxhdGlvbi4gSSBoYXZlbid0IGZpZ3VyZWQgb3V0IHRoZSBjYXVzZVxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHR6LWluZGV4OiAkei1pbmRleC00O1xuXHRib3gtc2hhZG93OiAwcHggMXB4IDVweCAwcHggcmdiYSgwLDAsMCwuOCk7XG5cdFxuXHQvLyBJbiBob3BlcyBvZiBmaXhpbmcgQ3JhaWcncyBpc3N1ZVxuXHQvLyBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlM2QoMCwwLDApKTtcblx0Ly8gQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eShoaWRkZW4pO1xufVxuXG4jcGFuZWwtaW5kaWNhdG9yIC5jb250YWluZXIge1xuXHQvLyBmb3IgdGhlIHBvc2l0aW9uIG9mIHRoZSB0aXRsZVxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIFRpdGxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYW5lbC1pbmRpY2F0b3JfX3RpdGxlIHtcblxuXHQvLyBIaWRkZW4gb24gbW9iaWxlXG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0XHRmb250LWZhbWlseTogJGN1c3RvbS1mb250LTI7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAxNXB4O1xuXHRcdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdFx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyBub3dyYXApO1xuXHRcdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjIpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMzYpO1xuXHR9XG59XG5cbi8vIERvdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhbmVsLWluZGljYXRvcl9fZG90cyB7XG5cdHBhZGRpbmc6IHJlbSgyNykgMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRvcGFjaXR5OiAwO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcpO1xufVxuXG4uZG90cy1vbiAucGFuZWwtaW5kaWNhdG9yX19kb3RzIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnBhbmVsLWluZGljYXRvcl9fZG90IHtcblx0aGVpZ2h0OiAyMHB4O1xuXHR3aWR0aDogMjBweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdG1hcmdpbjogMCByZW0oNSk7XG5cdGJvcmRlcjogc29saWQgMnB4ICRjb2xvci1idW1ibGViZWU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXG5cdCYuYWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0d2lkdGg6IDI3cHg7XG5cdFx0fVxuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMHB4O1xuXHRcdGhlaWdodDogNnB4O1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi10b3A6IC0zcHg7XG5cdFx0bGVmdDogLTI4cHg7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcblx0fVxuXG5cdCY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRtYXJnaW46IDAgcmVtKDEwKTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNT0JJTEUvREVTS1RPUCBJTUFHRVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhlcm8taW5saW5lLS1tb2JpbGUge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxufVxuXG4uaGVyby1pbmxpbmUtLWRlc2t0b3Age1xuXHRkaXNwbGF5OiBub25lO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU1BFQ0lGSUMgU0xJREVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiNwYW5lbC0wNSBpbWcge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtKDMwKTtcbn1cblxuI3BhbmVsLTA3IC5ibG9ja3F1b3RlIHtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuI3BhbmVsLTA4IHtcblx0aW1nIHtcblx0XHRwYWRkaW5nLXRvcDogcmVtKDIwKTtcblx0fVxuXHQuaDEge1xuXHRcdHBhZGRpbmctdG9wOiByZW0oMzApO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdPUkQgQ0xPVURcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLndvcmQtY2xvdWQge1xuXHRmb250LWZhbWlseTogJGN1c3RvbS1mb250LTI7XG5cdGZvbnQtc2l6ZTogcmVtKDIyKTtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0bGluZS1oZWlnaHQ6IHJlbSgzNCk7XG5cdGNvbG9yOiAkY29sb3ItZ3JpbWxvY2s7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDI4KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDQ0KTtcblx0fVxufVxuXG4ud29yZC1jbG91ZF9fYnVsbGV0IHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xufVxuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIENPTlRBQ1QgQkFTRSBJTVBPUlRTXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJTVBPUlRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgXCJjb250YWN0XCI7XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gQ09OVEFDVFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR09PR0xFIE1BUFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jbWFwIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQUREUkVTU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZnMtYWRkcmVzcyB7XG5cdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0bGluZS1oZWlnaHQ6IHJlbSgyOCk7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMzQpO1xuXHR9XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gSE9NRSBCQVNFIElNUE9SVFNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcImhvbWVcIjtcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBIT01FXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTTElERVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI0dsaWRlLWhvbWUge1xuXG5cdC5nbGlkZV9fYnVsbGV0cyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRvcDogcmVtKC0yNjIpO1xuXHRcdGxlZnQ6IHJlbSgxNSk7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0LmdsaWRlX19idWxsZXQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG5cdH1cblx0LmJsb2NrIHtcblx0XHRib3JkZXItbGVmdDogc29saWQgMXB4ICRjb2xvci1qZXRmaXJlO1xuXHRcdG1hcmdpbi10b3A6IHJlbSgtOCk7XG5cdFx0bWFyZ2luLWxlZnQ6IHJlbSgzOCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbSgyMCk7XG5cdH1cblx0LmgxIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdGZvbnQtc2l6ZTogcmVtKDM4KTtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmctbGVmdDogcmVtKDIwKTtcblx0fVxuXHRwIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0YSB7XG5cdFx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0oMjApO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0XHRpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDE0KTtcblx0XHRcdG1hcmdpbi1sZWZ0OiByZW0oMTApO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbSgzKTtcblx0XHR9XG5cdH1cblx0LmdsaWRlX19zbGlkZS13cmFwcGVyIC5jb250YWluZXIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmctdG9wOiByZW0oNDUpO1xuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHQuZ2xpZGVfX2J1bGxldHMge1xuXHRcdFx0dG9wOiByZW0oLTI5MSk7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdC5nbGlkZV9fYnVsbGV0cyB7XG5cdFx0XHR0b3A6IHJlbSgtNDYxKTtcblx0XHR9XG5cdFx0LmgxIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0LmdsaWRlX19idWxsZXRzIHtcblx0XHRcdHdpZHRoOiAkY29udGFpbmVyLXdpZHRoLW5hcnJvdztcblx0XHRcdHRvcDogcmVtKC00NDkpO1xuXHRcdH1cblx0XHQuYmxvY2sge1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDYpO1xuXHRcdH1cblx0XHQuaDEge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oNTIpO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0oMjApO1xuXHRcdH1cblx0XHRwIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0bWF4LXdpZHRoOiByZW0oNjAwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0oMjApO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0XG5cdFx0LmdsaWRlX19idWxsZXRzIHtcblx0XHRcdHRvcDogcmVtKC01MzkpO1xuXHRcdFx0d2lkdGg6ICRjb250YWluZXItd2lkdGgtZGVza3RvcDtcblx0XHR9XG5cdFx0LmJsb2NrIHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbSgxNik7XG5cdFx0XHRtYXJnaW4tbGVmdDogcmVtKDQ3KTtcblx0XHR9XG5cdFx0LmgxIHtcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtKDMwKVxuXHRcdH1cblx0XHRwIHtcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtKDMwKTtcblx0XHR9XG5cdFx0YSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbSgzMCk7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuXHRcdFxuXHRcdC5nbGlkZV9fYnVsbGV0cyB7XG5cdFx0XHR0b3A6IHJlbSgtODY5KTtcblx0XHRcdHdpZHRoOiAkY29udGFpbmVyLXdpZHRoLXdpZGU7XG5cdFx0fVxuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFMgVkVSVElDQUxcblx0Ly9cblxuXHQkZGVza3RvcC12ZXJ0aWNhbC0xOiAobWluLWhlaWdodCA2NTBweCkgKG1pbi13aWR0aCAxMjAwcHgpO1xuXHQkZGVza3RvcC12ZXJ0aWNhbC0yOiAobWluLWhlaWdodCAxMDAwcHgpIChtaW4td2lkdGggMTIwMHB4KTtcblx0JGRlc2t0b3AtdmVydGljYWwtMzogKG1pbi1oZWlnaHQgMTIwMHB4KSAobWluLXdpZHRoIDEyMDBweCk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC12ZXJ0aWNhbC0xKSB7XG5cdFx0aGVpZ2h0OiA2MDBweDtcblx0XHQuZ2xpZGVfX2J1bGxldHMge1xuXHRcdFx0dG9wOiByZW0oLTUzOSk7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtdmVydGljYWwtMikge1xuXHRcdGhlaWdodDogODAwcHg7XG5cdFx0LmdsaWRlX19idWxsZXRzIHtcblx0XHRcdHRvcDogcmVtKC03NDApO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLXZlcnRpY2FsLTMpIHtcblx0XHRoZWlnaHQ6IDg1MHB4O1xuXHRcdC5nbGlkZV9fYnVsbGV0cyB7XG5cdFx0XHR0b3A6IHJlbSgtNzg4KTtcblx0XHR9XG5cdH1cblxuXHQvLyAwMVxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdCNzbGlkZS0wMSAuZ2xpZGVfX3NsaWRlLWltYWdlIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2hvbWUvc2xpZGUtMDEtbW9iaWxlLmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaG9tZS9zbGlkZS0wMS5qcGcnKTtcblx0XHR9XG5cdH1cblxuXHQvLyAwMlxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdCNzbGlkZS0wMiAuZ2xpZGVfX3NsaWRlLWltYWdlIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2hvbWUvc2xpZGUtMDItbW9iaWxlLmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaG9tZS9zbGlkZS0wMi5qcGcnKTtcblx0XHR9XG5cdH1cblxuXHQvLyAwM1xuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdCNzbGlkZS0wMyAuZ2xpZGVfX3NsaWRlLWltYWdlIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2hvbWUvc2xpZGUtMDMtbW9iaWxlLmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaG9tZS9zbGlkZS0wMy5qcGcnKTtcblx0XHR9XG5cdH1cblxuXHQvLyAwNFxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdCNzbGlkZS0wNCAuZ2xpZGVfX3NsaWRlLWltYWdlIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9zcmMvaW1nL2hvbWUvc2xpZGUtMDQtbW9iaWxlLmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaG9tZS9zbGlkZS0wNC5qcGcnKTtcblx0XHR9XG5cdH1cblxuXHQvLyBIT0YgMDhcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHQjc2xpZGUtaG9mLTA4IC5nbGlkZV9fc2xpZGUtaW1hZ2Uge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaG9tZS9zbGlkZS1ob2YtMDgtbW9iaWxlLmpwZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL3NyYy9pbWcvaG9tZS9zbGlkZS1ob2YtMDguanBnJyk7XG5cdFx0fVxuXHR9XG59XG5cbi5ob21lLWFuZ2xlLXRlayB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwcHg7XG5cdGxlZnQ6IDBweDtcblx0d2lkdGg6IDEwMCU7XG5cdG9wYWNpdHk6IC41O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIT01FIEVYUExPUkVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhvbWUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0cGFkZGluZy10b3A6IHJlbSgxMDEpO1xuXHR9XG59XG5cbi5ob21lLWV4cGxvcmUge1xuXHR3aWR0aDogMTAwJTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAkei1pbmRleC0xO1xuXG5cdC8vIFJlbW92ZSBwYWRkaW5nIG9uIGNvbnRhaW5lciBvbiBtb2JpbGUgbWVudVxuXHQuY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0YnV0dG9uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0dG9wOiByZW0oLTE2MCk7XG5cdFx0aGVpZ2h0OiByZW0oMTYwKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oLTE2MCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0dG9wOiByZW0oLTE2MCk7XG5cdFx0aGVpZ2h0OiByZW0oMTYwKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oLTE2MCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcCkge1xuXHRcdHRvcDogcmVtKC0xODMpO1xuXHRcdGhlaWdodDogcmVtKDE4Myk7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKC0xODMpO1xuXHR9XG59XG5cbi8vIFRpdGxlIC0gRGVza3RvcFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaG9tZS1leHBsb3JlX190aXRsZSB7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRmb250LXNpemU6IHJlbSgyMCk7XG5cdGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZvbnQtMjtcblx0cGFkZGluZy1ib3R0b206IHJlbSgzMCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0ZGlzcGxheTogbm9uZTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCl7XG5cdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDI0KTtcblx0fVxufVxuXG4vLyBUaXRsZSAtIE1vYmlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaG9tZS1leHBsb3JlX190aXRsZS0tbW9iaWxlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMHB4O1xuXHRwYWRkaW5nOiAwIHJlbSgyMCkgcmVtKDIwKSByZW0oMjApO1x0XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHotaW5kZXg6ICR6LWluZGV4LTE7IC8vIFRoaXMgbmVlZHMgdG8gYmUgb24gdG9wIG9mIHRoZSBHbGlkZSBTbGlkZXJcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLy8gSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhvbWUtZXhwbG9yZV9faWNvbnMge1xuXHR3aWR0aDogaW5oZXJpdDtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KGNvbHVtbiBub3dyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyBub3dyYXApO1xuXHR9XG59XG5cbi8vIEljb24gQmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhvbWUtZXhwbG9yZV9faWNvbi1ibG9jayB7XG5cdHdpZHRoOiAxMDAlO1xuXHRAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHR3aWR0aDogMTIuNSU7XG5cdH1cblxufVxuXG4vLyBJY29uIENvbnRhaW5lclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAqKiogc2hpdHR5IHNlbGVjdG9yLiBtYWtlIGJldHRlciBhZnRlciBsYXVuY2hcbmJ1dHRvbi5ob21lLWV4cGxvcmVfX2ljb24tY29udGFpbmVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1x0XG5cdHBhZGRpbmc6IHJlbSgyMCkgcmVtKDE1KTtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkY29sb3ItbWVnYXRyb247XG5cdC8vIFRoaXMgYWxsb3dzIHRoZSBkcm9wZG93biB0byBiZSBwb3NpdGlvbmVkIGNvcnJlY3RseVxuXHRwb3NpdGlvbjogc3RhdGljO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0aS5ob21lLWV4cGxvcmVfX2ljb24ge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdFx0fVxuXHRcdC5ob21lLWV4cGxvcmVfX2ljb24tbGFiZWwge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdFx0fVxuXHR9XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG5cdFx0cGFkZGluZzogMCByZW0oMTApO1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0XHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cdFx0QGluY2x1ZGUgZmxleC1mbG93KGNvbHVtbiBub3dyYXApO1xuXHRcdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdH1cbn1cblxuLy8gV2hlbiBkcm9wZG93biBhY3RpdmUgc2V0IHRoZSBjb2xvciBvZiBpY29uIGFuZCB0ZXh0XG4vLyAqKiogc2hpdHR5IHNlbGVjdG9yLiByZWZhY3RvclxuLmFjdGl2ZSBidXR0b24uaG9tZS1leHBsb3JlX19pY29uLWNvbnRhaW5lciB7XG5cdGkuaG9tZS1leHBsb3JlX19pY29uIHtcblx0XHRjb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0fVxuXHQuaG9tZS1leHBsb3JlX19pY29uLWxhYmVsIHtcblx0XHRjb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0fVxufVxuXG4vLyBJY29uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmkuaG9tZS1leHBsb3JlX19pY29uIHtcblx0Zm9udC1zaXplOiByZW0oNjApO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbi1yaWdodDogcmVtKDE1KTtcblx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oODApO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDUwKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbSgxMCk7XG5cdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRmb250LXNpemU6IHJlbSg2MCk7XG5cdH1cbn1cblxuLy8gTGFiZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhvbWUtZXhwbG9yZV9faWNvbi1sYWJlbCB7XG5cdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRmb250LXNpemU6IHJlbSgxNSk7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEwKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTMpO1xuXHR9XG59XG5cbi8vIERyb3Bkb3duIC0gTW9iaWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ob21lLWV4cGxvcmVfX2Ryb3Bkb3duIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGhlaWdodDogMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyx2aXNpYmlsaXR5ICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KGNvbHVtbiBub3dyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDBweDtcblx0XHRib3R0b206IC0yNTRweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDI1NHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxufVxuXG4vLyBBY3RpdmUgc3RhdGUgZm9yIGRyb3Bkb3duXG4uYWN0aXZlIC5ob21lLWV4cGxvcmVfX2Ryb3Bkb3duIHtcblx0aGVpZ2h0OiAyNTRweDtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdC8vIGhlaWdodDogMjU0cHg7XG5cdFx0ei1pbmRleDogJHotaW5kZXgtNDtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG59XG5cbi8vIEdyYXkgYXJlYSB0byBob3VzZSB0aGUgbmF2aWdhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaG9tZS1leHBsb3JlLWRlc2t0b3AtZXhwYW5kIHtcblx0ZGlzcGxheTogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRoZWlnaHQ6IDBweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMHB4IDBweCA4cHggcmdiYSgwLDAsMCwuNSk7XG5cdH1cbn1cblxuLy8gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhvbWUtZXhwbG9yZV9fZHJvcGRvd24tb3V0ZXIge1xuXHRib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItamV0ZmlyZTtcblx0cGFkZGluZzogcmVtKDE1KTtcblx0bWFyZ2luOiByZW0oMTUpO1xuXHRvcGFjaXR5OiAwO1xuXHRjb2xvcjogJGNvbG9yLWpldGZpcmU7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cblx0YSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG5cdHAge1xuXHRcdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxuXHR1bCBsaSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG5cdH1cblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdHBhZGRpbmc6IHJlbSgyMCk7XG5cblx0XHR1bCBsaSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbSgyMCk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRwYWRkaW5nOiByZW0oMzApO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oMTApO1xuXG5cdFx0YSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0fVxuXHRcdHVsIGxpIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbi1yaWdodDogcmVtKDMwKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSgxNSk7XG5cdFx0fVxuXHR9XG59XG5cbi5hY3RpdmUgLmhvbWUtZXhwbG9yZV9fZHJvcGRvd24tb3V0ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNT0JJTEUgRFJPUERPV04gSEVJR0hUU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jZXhwbG9yZS1idXR0b24tMDEuYWN0aXZlIC5ob21lLWV4cGxvcmVfX2Ryb3Bkb3duIHtcblx0aGVpZ2h0OiAyOTBweDtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0aGVpZ2h0OiAyNTRweDtcblx0fVxufVxuI2V4cGxvcmUtYnV0dG9uLTAyLmFjdGl2ZSAuaG9tZS1leHBsb3JlX19kcm9wZG93biB7XG5cdGhlaWdodDogMzIwcHg7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGhlaWdodDogMjU0cHg7XG5cdH1cbn1cbiNleHBsb3JlLWJ1dHRvbi0wMy5hY3RpdmUgLmhvbWUtZXhwbG9yZV9fZHJvcGRvd24ge1xuXHRoZWlnaHQ6IDI5MHB4O1xuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRoZWlnaHQ6IDI1NHB4O1xuXHR9XG59XG4jZXhwbG9yZS1idXR0b24tMDQuYWN0aXZlIC5ob21lLWV4cGxvcmVfX2Ryb3Bkb3duIHtcblx0aGVpZ2h0OiAyMTBweDtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0aGVpZ2h0OiAyNTRweDtcblx0fVxufVxuI2V4cGxvcmUtYnV0dG9uLTA1LmFjdGl2ZSAuaG9tZS1leHBsb3JlX19kcm9wZG93biB7XG5cdGhlaWdodDogMzEwcHg7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGhlaWdodDogMjU0cHg7XG5cdH1cbn1cbiNleHBsb3JlLWJ1dHRvbi0wNi5hY3RpdmUgLmhvbWUtZXhwbG9yZV9fZHJvcGRvd24ge1xuXHRoZWlnaHQ6IDQ4MHB4O1xuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRoZWlnaHQ6IDI1NHB4O1xuXHR9XG59XG4jZXhwbG9yZS1idXR0b24tMDcuYWN0aXZlIC5ob21lLWV4cGxvcmVfX2Ryb3Bkb3duIHtcblx0aGVpZ2h0OiA0NTBweDtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0aGVpZ2h0OiAyNTRweDtcblx0fVxufVxuI2V4cGxvcmUtYnV0dG9uLTA4LmFjdGl2ZSAuaG9tZS1leHBsb3JlX19kcm9wZG93biB7XG5cdGhlaWdodDogMjEwcHg7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGhlaWdodDogMjU0cHg7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkxPRyBISUxJR0hUIE1PQklMRSBISURJTkdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI2Jsb2dfaGlnaGxpZ2h0cyAuY29udGFpbmVyIHtcblx0LmdyaWQtcm93Om50aC1jaGlsZCgybikgLmdyaWQtOCB7XG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBTRUFSQ0ggUkVTVUxUUyBCQVNFIElNUE9SVFNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcInNlYXJjaC1yZXN1bHRzXCI7XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gU0VBUkNIIFJFU1VMVFNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENVUlJFTlQgU0VBUkNIIFBIUkFTRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY3VycmVudC1zZWFyY2gtcGhyYXNlIHtcblx0Ly8gUG9zaXRpb24gcmVsYXRpdmUgdG8gcG9zaXRpb24gdGhlIGNsb3NlIGJ1dHRvblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IHJlbSg0NSkgcmVtKDQyKTtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcblx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcblx0Ym9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ0xPU0UgQlVUVE9OXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jdXJyZW50LXNlYXJjaC1waHJhc2U6YWZ0ZXIge1xuXHRmb250LWZhbWlseTogJ0ZTaWNvbmFrcm9uJztcblx0Y29udGVudDogJ1xcZTkwMSc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IHJlbSg0Mik7XG5cdHRvcDogNTAlO1xuXHRtYXJnaW4tdG9wOiByZW0oLTYpO1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3BhY2l0eTogMTtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5ICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcbn1cblxuLmN1cnJlbnQtc2VhcmNoLXBocmFzZTpob3ZlcjphZnRlcixcbi5jdXJyZW50LXNlYXJjaC1waHJhc2U6Zm9jdXM6YWZ0ZXIge1xuXHRvcGFjaXR5OiAuNTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0VBUkNIIFJFU1VMVFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2VhcmNoLXJlc3VsdCB7XG5cdHBhZGRpbmctYm90dG9tOiByZW0oMzApO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xufVxuXG4uc2VhcmNoLXJlc3VsdCArIC5wcmV2aW91cy1uZXh0IHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0cGFkZGluZy10b3A6IDA7XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gQ09OTkVDVCBCQVNFIElNUE9SVFNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcImNvbm5lY3RcIjsiLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gQ09OVEFDVFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU09DSUFMIElDT05TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiNzb2NpYWwtaWNvbnMtY29ubmVjdCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyB3cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cdH1cblxuXHQuc29jaWFsLWljb25zLWNvbm5lY3RfX2NvbnRhaW5lciB7XG5cdFx0bWFyZ2luLWxlZnQ6IHJlbSg1KTtcbiAgXHRtYXJnaW4tcmlnaHQ6IHJlbSg1KTtcbiAgXHRtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuXG5cdFx0Ly9cblx0ICAvLyBCUkVBS1BPSU5UU1xuXHQgIC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblxuXHQgIH1cblx0ICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0ICBcdG1hcmdpbi1sZWZ0OiByZW0oMTApO1xuXHQgIFx0bWFyZ2luLXJpZ2h0OiByZW0oMTApO1xuXHQgIFx0bWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcblx0ICB9XG5cdCAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdCAgXHRmb250LXNpemU6IDcwcHg7XG5cdCAgXHRtYXJnaW4tbGVmdDogcmVtKDE1KTtcblx0ICBcdG1hcmdpbi1yaWdodDogcmVtKDE1KTtcblx0ICBcdG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG5cdCAgfVxuXHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0ICBcdG1hcmdpbi1sZWZ0OiByZW0oMjApO1xuXHRcdCAgbWFyZ2luLXJpZ2h0OiByZW0oMjApO1xuXHRcdCAgbWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcblx0ICB9XG5cdH1cblxuXHRpIHtcblx0XHRmb250LXNpemU6IHJlbSg2MCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7XG5cblx0XHQvL1xuXHQgIC8vIEJSRUFLUE9JTlRTXG5cdCAgLy9cblxuXHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHQgIFx0XG5cdCAgfVxuXHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHQgIFx0XG5cdCAgfVxuXHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHQgIFx0Zm9udC1zaXplOiA3MHB4O1xuXHQgIH1cblx0ICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdCAgXHRmb250LXNpemU6IDkwcHg7XG5cdCAgfVxuXHR9XG5cblx0aS5mcy1mYWNlYm9vayB7XG5cdCAgY29sb3I6ICRjb2xvci1tZWdhdHJvbjtcblx0ICAmOmhvdmVyLFxuXHQgICY6Zm9jdXMge1xuXHQgIFx0Y29sb3I6ICMzYjU5OTg7XG5cdCAgfVxuXHR9XG5cblx0aS5mcy15b3V0dWJlLWFsdDIge1xuXHQgIGNvbG9yOiAkY29sb3ItbWVnYXRyb247XG5cdCAgJjpob3Zlcixcblx0ICAmOmZvY3VzIHtcblx0ICBcdGNvbG9yOiAjY2MxODFlO1xuXHQgIH1cblx0fVxuXG5cdGkuZnMtdHdpdHRlciB7XG5cdCAgY29sb3I6ICRjb2xvci1tZWdhdHJvbjtcblx0ICAmOmhvdmVyLFxuXHQgICY6Zm9jdXMge1xuXHQgIFx0Y29sb3I6ICMwMGFjZWQ7XG5cdCAgfVxuXHR9XG5cblx0aS5mcy1pbnN0YWdyYW0ge1xuXHQgIGNvbG9yOiAkY29sb3ItbWVnYXRyb247XG5cdCAgJjpob3Zlcixcblx0ICAmOmZvY3VzIHtcblx0ICBcdGNvbG9yOiAjZWQ0OTU2O1xuXHQgIH1cblx0fVxuXG5cdGkuZnMtbGlua2VkaW4ge1xuXHQgIGNvbG9yOiAkY29sb3ItbWVnYXRyb247XG5cdCAgJjpob3Zlcixcblx0ICAmOmZvY3VzIHtcblx0ICBcdGNvbG9yOiAjMDA4Y2M5O1xuXHQgIH1cblx0fVxuXG5cdGkuZnMtc25hcGNoYXQge1xuXHQgIGNvbG9yOiAkY29sb3ItbWVnYXRyb247XG5cdCAgJjpob3Zlcixcblx0ICAmOmZvY3VzIHtcblx0ICBcdGNvbG9yOiAjRkZGQzAwO1xuXHQgIH1cblx0fVxuXG5cdGkuZnMtdHVtYmxyIHtcblx0ICBjb2xvcjogJGNvbG9yLW1lZ2F0cm9uO1xuXHQgICY6aG92ZXIsXG5cdCAgJjpmb2N1cyB7XG5cdCAgXHRjb2xvcjogIzM3NDY1ZDtcblx0ICB9XG5cdH1cblxuXHRpLmZzLXBpbnRlcmVzdCB7XG5cdCAgY29sb3I6ICRjb2xvci1tZWdhdHJvbjtcblx0ICAmOmhvdmVyLFxuXHQgICY6Zm9jdXMge1xuXHQgIFx0Y29sb3I6ICNiZTIwMjY7XG5cdCAgfVxuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJMT0cgSElHSExJR0hUU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYmxvZy1oaWdobGlnaHQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQuYmxvZy1oaWdobGlnaHRfX3RpdGxlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRcdFx0Y29sb3I6ICRjb2xvci1ob3Ryb2Q7XG5cdFx0fVxuXHR9XG59XG5cbi8vIE1vZGlmaWVyIC0gSW52ZXJzZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYmxvZy1oaWdobGlnaHQtLWludmVyc2Uge1xuXG59XG5cbi8vIFRpdGxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ibG9nLWhpZ2hsaWdodF9fdGl0bGUtY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDBweDtcblx0bGVmdDogMHB4O1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWZsb3coY29sdW1uIG5vd3JhcCk7XG5cdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG59XG5cbi5ibG9nLWhpZ2hsaWdodF9fdGl0bGUge1xuXHRwYWRkaW5nOiByZW0oMTApIHJlbSgyMCk7XG5cdG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cdG1heC13aWR0aDogODAlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogcmVtKDE0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itc2t5d2FycCwuOCk7XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0Ym9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWpldGZpcmU7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZywgY29sb3IgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0cGFkZGluZzogcmVtKDIwKSByZW0oNDApO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0fVxufVxuXG5cblxuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIFJFUVVFU1QgSU5GTyBCQVNFIElNUE9SVFNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBU0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcInJlcXVlc3QtaW5mb1wiOyIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBSRVFVRVNUIElORk9cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhJREUgRklYRUQgQ1RBIE9OIE1PQklMRSBPTiBSRVFVRVNUIElORk9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnJlcXVlc3QtaW5mbyB7XG5cdC5maXhlZC1jdGEge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0Ly8gUmVtb3ZlIHRoZSBtYXJnaW4gb24gdGhlIGJvdHRvbSBzaW5jZSBmaXhlZCBjdGEgd29uJ3QgbmVlZCB0aGUgc3BhY2Vcblx0Zm9vdGVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhJREUgRklYRUQgQ1RBIE9OIFRIQU5LWU9VIFBBR0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnJlcXVlc3QtaW5mby10aGFua3lvdSAuZml4ZWQtY3RhIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRk9STSBJRlJBTUVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI2lmcmFtZV9mb3JtX3JlcXVlc3QtaW5mbyB7XG5cdGhlaWdodDogMTQ3MHB4O1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiBub25lO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYXJnZSkge1xuXHRcdGhlaWdodDogMTM2MHB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuXHRcdGhlaWdodDogMTI1MHB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGhlaWdodDogMTY0MHB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGhlaWdodDogMTQ2MHB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRoZWlnaHQ6IDEzNjBweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR3aWRlKSB7XG5cdFx0aGVpZ2h0OiAxMjYwcHg7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBIT0YgSU1QT1JUU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkFTRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0IFwiaG9tZVwiO1xuQGltcG9ydCBcImluZHVjdGVlc1wiO1xuXG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIEhBTEwgT0YgRkFNRSAtIEV2ZXJncmVlblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQVdBUkQgSU1BR0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmF3YXJkIGltZyB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgbWF4LXdpZHRoOiAyNjFweDtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIT0YgQ1JFRElUU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaG9mLWNyZWRpdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3RhcnNjcmVhbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaG9mLWNyZWRpdHNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiByZW0oMTgpO1xuICBjb2xvcjogJGNvbG9yLWRldmFzdGF0b3I7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctYm90dG9tOiByZW0oMjApO1xuXG4gIC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgzMCk7XG4gIH1cbn1cblxuLmhvZi1jcmVkaXRzIC53b3JkLWNsb3VkIHtcbiAgY29sb3I6ICRjb2xvci1kZXZhc3RhdG9yO1xufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1FRVQgVEhFIElORFVDVEVFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jaG9tZS1pbmR1Y3RlZSB7XG5cdC5pdGVtOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcblx0fVxuXHQuaXRlbTpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHR9XG59XG5cbi5ob21lLWluZHVjdGVlX19jcmVkaXRzIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdG1hcmdpbi10b3A6IDI2cHg7XG5cdFx0Ly8gbWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4uaG9tZS1pbmR1Y3RlZV9fY3RhIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRmb250LXdlaWdodDogYm9sZDtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIT01FIC0gRkVBVFVSRSAoSG9GIDcpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ob2YtZmVhdHVyZSB7XG4gIHBhZGRpbmc6IDQwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFDMzU1RTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9zcmMvaW1nL2hhbGwtb2YtZmFtZS9ob21lLWJnLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTUlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICBAaW5jbHVkZSBmbGV4LWZsb3coY29sdW1uIG5vd3JhcCk7XG4gIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gIC8vXG4gIC8vIEJSRUFLUE9JTlRTXG4gIC8vXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIH1cbn1cblxuLmhvZi1mZWF0dXJlX19jb250ZW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaG9mLWZlYXR1cmVfX2NvbnRlbnQgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcblxuICAvL1xuICAvLyBCUkVBS1BPSU5UU1xuICAvL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYXJnZSkge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5ob2YtZmVhdHVyZSBoMiB7XG4gIGNvbG9yOiAjZjc5NDFlO1xuICBmb250LXNpemU6IDMwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCAjMDAwOyAgICAgIFxufVxuXG4uaG9mLWZlYXR1cmUgcCB7XG4gIGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICBtYXJnaW46IDQwcHggMCAwIDA7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAvL1xuICAvLyBCUkVBS1BPSU5UU1xuICAvL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfSAgIFxufVxuXG4uaG9mLWZlYXR1cmUgLmJ0bi1iYXIge1xuICBwYWRkaW5nLWxlZnQ6IHJlbSg0MCk7XG4gIHBhZGRpbmctcmlnaHQ6IHJlbSg0MCk7XG5cbiAgLy9cbiAgLy8gQlJFQUtQT0lOVFNcbiAgLy9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbSg4MCk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDgwKTtcbiAgfVxufVxuXG4uaG9mLWZlYXR1cmUgLmJ0biB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFDMzU1RTtcbiAgY29sb3I6ICRjb2xvci1qZXRmaXJlOyAgXG4gIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogc29saWQgMnB4ICRjb2xvci1qZXRmaXJlO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcpO1xuXG4gIC8vIFNldCB0aGUgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3Ryb2Q7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG90cm9kO1xuICB9XG59IFxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIQVNIIEJBUlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGFzaC1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGUyNjQzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcbiAgcGFkZGluZzogMzBweCAwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcblxuICAvL1xuICAvLyBCUkVBS1BPSU5UU1xuICAvL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gT04gREVNQU5EIFlPVVRVQkVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnlvdXR1YmUtcGxheWVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjMlO1xuICAvKiBVc2UgNzUlIGZvciA0OjMgdmlkZW9zICovXG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAvLyBtYXJnaW46IDVweDtcbn1cblxuLnlvdXR1YmUtcGxheWVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4ueW91dHViZS1wbGF5ZXIgaW1nIHtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICRnbG9iYWwtdGltaW5nICRnbG9iYWwtZWFzaW5nKTtcbn1cblxuLnlvdXR1YmUtcGxheWVyOmhvdmVyIGltZyB7XG4gIEBpbmNsdWRlIGZpbHRlcihicmlnaHRuZXNzKDc1JSkpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4xKSk7XG59XG5cbi55b3V0dWJlLXBsYXllciAucGxheSB7XG4gIGhlaWdodDogNzJweDtcbiAgd2lkdGg6IDcycHg7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzZweDtcbiAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLy9pLmltZ3VyLmNvbS9UeHpDNzBmLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgXG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gSEFMTCBPRiBGQU1FIC0gSW5kdWN0ZWUgTGlzdFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRklMVEVSXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5maWx0ZXItLWluZHVjdGVlcyB7XG5cblx0Ly8gUEFORUxcblx0LmZpbHRlcl9fcGFuZWwge1xuXHRcdG1pbi13aWR0aDogcmVtKDI0MCk7IC8vIHN0b3Agc2lkZSBwYW5lbCBmcm9tIGJlaW5nIHRvbyBzbWFsbFxuXHR9XG5cblx0Ly8gTElTVCBCTE9DS1xuXHQuZmlsdGVyLWxpc3QtYmxvY2sge1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7IC8vIHJlbW92ZSB0aGUgZGVmYXVsdCBib3R0b20gYm9yZGVyXG5cdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7IC8vIGFsaWduIHRvIHRoZSB0b3Agb24gbW9iaWxlXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbSgyMCk7XG5cblx0XHQvL1xuXHRcdC8vIEJSRUFLUE9JTlRTXG5cdFx0Ly9cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRcdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7IC8vIGNlbnRlciBpbWFnZSBhbmQgdGV4dCBvbiBkZXNrdG9wXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDMwKTtcblx0XHR9XG5cdH1cblxuXHQvLyBJTkRVQ1RFRSBJTUFHRVxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdC5maWx0ZXItbGlzdC1ibG9ja19faW1hZ2Uge1xuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cdFx0XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRtYXgtd2lkdGg6IDQzM3B4OyAvLyBsaW1pdCB0aGUgc2NhbGluZyB0byBwcmVzZXJ2ZSBxdWFsaXR5IG9uIGxhcmdlciBzY3JlZW5zXG5cdFx0fVxuXHR9XG5cblx0Ly8gQ09OVEVOVFxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdC8vIEhFQURJTkdcblx0LmZpbHRlci1saXN0LWJsb2NrIC5oMyB7XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRwYWRkaW5nLXRvcDogcmVtKDEwKTtcblxuXHRcdC8vXG5cdFx0Ly8gQlJFQUtQT0lOVFNcblx0XHQvL1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cdH1cblxuXHQvLyBUSVRMRVxuXHQuaW5kdWN0ZWUtdGl0bGUge1xuXHRcdGNvbG9yOiAkY29sb3ItdHJ5cHRpY29uO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG5cblx0Ly8gQ09QWVxuXHQuaW5kdWN0ZWUtY29udGVudCB7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR9XG5cblx0Ly8gR1JJRCBWSUVXXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHQuZ3JpZC12aWV3IHtcblxuXHRcdC8vIEFkZCBtYXJnaW4gdG8gdGhlIHRodW1ibmFpbHNcblx0XHQuZmlsdGVyLWxpc3QtYmxvY2sge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0Ly8gUmVtb3ZlIGxlZnQgcGFkZGluZyBmcm9tIHRoZSBjb3B5XG5cdFx0LmZpbHRlci1saXN0LWJsb2NrX19jb3B5IHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHR9XG5cblx0XHQuZmlsdGVyLWxpc3QtYmxvY2tfX2NvcHkgLmgzIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdG1hcmdpbi10b3A6IHJlbSgxMCk7XG5cdFx0fVxuXG5cdFx0Ly8gSGlkZSB0aGUgY29weVxuXHRcdC5maWx0ZXItbGlzdC1ibG9ja19fY29weSAuaDQsXG5cdFx0LmZpbHRlci1saXN0LWJsb2NrX19jb3B5IC5pbmR1Y3RlZS10aXRsZSxcblx0XHQuZmlsdGVyLWxpc3QtYmxvY2tfX2NvcHkgLmluZHVjdGVlLWNvbnRlbnQsXG5cdFx0LmZpbHRlci1saXN0LWJsb2NrX19jb3B5IC5kaXNjbGFpbWVyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Ly9cblx0XHQvLyBCUkVBS1BPSU5UU1xuXHRcdC8vXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcblx0XHRcdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWZsb3cocm93IHdyYXApO1xuXHRcdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG5cdFx0XHRAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cblx0XHRcdC5maWx0ZXItbGlzdC1ibG9jayB7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbSg3KTtcblx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRcdC5maWx0ZXItbGlzdC1ibG9jayB7XG5cdFx0XHRcdHdpZHRoOiAzMy4zMzMzMyU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZJRVcgVE9HR0xFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi50b2dnbGUtdmlldyB7XG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdEBpbmNsdWRlIGZsZXgtZmxvdyhyb3cgbm93cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXG5cdC8vIEdlbmVyYWwgc3R5bGVzXG5cdGxpIHtcblx0XHRwYWRkaW5nOiAwIHJlbSgyMCk7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggJGNvbG9yLW1lZ2F0cm9uO1xuXHR9XG5cblx0Ly8gRmlyc3QgQ2hpbGRcblx0bGk6Zmlyc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0fVxuXG5cdC8vIExhc3QgQ2hpbGRcblx0bGk6bGFzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdH1cblxuXHQuYnRuIHtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHRpIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0oMTApO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDI0KTtcblx0fVxuXG5cdC5hY3RpdmUgaSB7XG5cdFx0Y29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdH1cblxuXHRsaTpob3ZlciBpIHtcblx0XHRjb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTUE9OU09SU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaG9mLXNwb25zb3JzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN0YXJzY3JlYW07XG59XG5cbi5ob2Ytc3BvbnNvcnNfX3RpdGxlIHtcblx0Zm9udC1zaXplOiByZW0oMjgpO1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRmb250LWZhbWlseTogJGN1c3RvbS1mb250LTI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6ICRjb2xvci10cnlwdGljb247XG5cdG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cblx0Ly9cblx0Ly8gQlJFQUtQT0lOVFNcblx0Ly9cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcblx0XHRmb250LXNpemU6IHJlbSgzMik7XG5cdH1cbn1cblxuLmhvZi1zcG9uc29yc19fbG9nb3Mge1xuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWZsb3cocm93IG5vd3JhcCk7XG5cdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbn1cblxuLmhvZi1zcG9uc29yc19fbG9nbyBpbWcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHJlbSg1KTtcbn1cblxuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIEhBTEwgT0YgRkFNRSAtIEluZHVjdGVlIERldGFpbFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVklERU8gKHlvdXR1YmUpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oYWxsLW9mLWZhbWUgLm92ZXJ2aWV3LXZpZGVvIHtcblx0bWFyZ2luOiByZW0oMjApIDA7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIElORFVDVEVFIENSRURJVCBCTE9DS1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaW5kdWN0ZWUtY3JlZGl0LWJsb2NrIHtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KHJvdyBub3dyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG4vLyBTYWlsZWVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNhaWxlZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDkycHg7XG5cdG1hcmdpbjogcmVtKDMwKSAwO1xufVxuXG4uc2FpbGVlX19pY29uIHtcblx0Zm9udC1zaXplOiAxODBweDtcblx0Y29sb3I6ICRjb2xvci1ncmltbG9jaztcbn1cblxuLnNhaWxlZV9fbnVtYmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDEycHg7XG5cdGxlZnQ6IDUwJTtcblx0d2lkdGg6IDUwcHg7XG5cdGhlaWdodDogNTBweDtcblx0bWFyZ2luLWxlZnQ6IC0yNXB4OyAvLyBtb3ZlIHRoaXMgaGFsZiB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgdG8gY2VudGVyXG5cdGZvbnQtc2l6ZTogMzJweDtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogJGNvbG9yLWdyaW1sb2NrO1xuXHRwYWRkaW5nLWxlZnQ6IDRweDsgLy8gdG8gaGVscCBtYWtlIHRoZSBudW1iZXIgbG9vayBjZW50ZXJlZFxufVxuXG4vLyBUZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5pbmR1Y3RlZS1jcmVkaXQtYmxvY2tfX3RleHQge1xuXHRwYWRkaW5nLWxlZnQ6IHJlbSgzMCk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEVQSUMgUVVPVEVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhbGwtb2YtZmFtZSAuZXBpYy1xdW90ZSB7XG5cdG1hcmdpbjogcmVtKDMwKSAwO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDVEEgLSBFWFBMT1JFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5leHBsb3JlLWN0YSB7XG5cdG1hcmdpbjogcmVtKDMwKSAwIHJlbSg2MCkgMDtcbn1cblxuLmV4cGxvcmUtY3RhX19pbWFnZSBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4uZXhwbG9yZS1jdGFfX2NvbnRlbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5leHBsb3JlLWN0YV9fdGl0bGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMHB4O1xuXHRib3JkZXI6IHNvbGlkIDNweCAkY29sb3ItaG90cm9kO1xuXHRib3JkZXItYm90dG9tOiBub25lO1xuXHR3aWR0aDogOTAlO1xuXHRtYXJnaW46IDAgNSU7XG5cdHBhZGRpbmc6IHJlbSgxNSk7XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC1zaXplOiByZW0oMjQpO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMzApO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTUpO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjQpO1xuXHRcdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMzApO1xuXHR9XG59XG5cbi5leHBsb3JlLWN0YV9fbGluayB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym9yZGVyOiBzb2xpZCAzcHggJGNvbG9yLWhvdHJvZDtcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0d2lkdGg6IDkwJTtcblx0bWFyZ2luOiAwIDUlO1xuXHRwYWRkaW5nOiByZW0oMTUpO1xuXHRmb250LXNpemU6IHJlbSgxNCk7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjb2xvcjogJGNvbG9yLXRyeXB0aWNvbjtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFVkVOVCBQSE9UT1Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhvZi1ldmVudC1waG90b3NfX2ltZyB7XG5cdFxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSU5EVUNURUUgR1JJRFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaG9mLWluZHVjdGVlLWdyaWQge1xuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWZsb3cocm93IHdyYXApO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXHR9XG59XG5cbi8vIEJsb2NrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ob2YtaW5kdWN0ZWUtZ3JpZF9fYmxvY2sge1xuXG5cdC8vIFNldCB0aGUgbWFyZ2luIHdpZHRoIGZvciBzcGFjZSBiZXR3ZWVuIGJsb2Nrc1xuXHQkaG9mLWluZHVjdGVlLWdyaWQtbWFyZ2luOiByZW0oMTApO1xuXG5cdC8vIFRoaXMgZmFrZXMgbWFyZ2luc1xuXHRAaW5jbHVkZSBjYWxjKHdpZHRoLCBcIjUwJSAtICN7JGhvZi1pbmR1Y3RlZS1ncmlkLW1hcmdpbn1cIik7XG5cblx0Ly8gTmVlZCBzb21lIHNwYWNlIGJlbG93IHRoZSBibG9ja3MgZm9yIG1vYmlsZVxuXHRtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuXG5cdC8vXG5cdC8vIEJSRUFLUE9JTlRTXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0QGluY2x1ZGUgY2FsYyh3aWR0aCwgXCIzMy4zMzMzMyUgLSAjeyRob2YtaW5kdWN0ZWUtZ3JpZC1tYXJnaW59XCIpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG5cblx0XHQvLyBTZXQgdGhlIG1hcmdpbiB3aWR0aCBmb3Igc3BhY2UgYmV0d2VlbiBibG9ja3Ncblx0XHQkaG9mLWluZHVjdGVlLWdyaWQtbWFyZ2luOiByZW0oMjApO1xuXG5cdFx0Ly8gVGhpcyBmYWtlcyBtYXJnaW5zXG5cdFx0QGluY2x1ZGUgY2FsYyh3aWR0aCwgXCIxNi42NjY2NiUgLSAjeyRob2YtaW5kdWN0ZWUtZ3JpZC1tYXJnaW59XCIpO1xuXHR9XG59XG5cbi8vIFBob3RvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ob2YtaW5kdWN0ZWUtZ3JpZF9fcGhvdG8ge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLy8gTmFtZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaG9mLWluZHVjdGVlLWdyaWRfX25hbWUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiByZW0oMTApIDA7XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gR0xJREVcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdMSURFIEhFSUdIVFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyogVGhpcyBpcyB0byBmaXggdGhlIGhlaWdodCBpc3N1ZXMgb3V0IG9mIHRoZSBib3ggc2luY2Ugd2UgYXJlIHVzaW5nIGltYWdlcyBhcyBiYWNrZ3JvdW5kcyAqL1xuXG4uZ2xpZGUge1xuXHRoZWlnaHQ6IHJlbSgzMDApO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyAuMjVzKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UU1xuXHQvL1xuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG5cdFx0aGVpZ2h0OiByZW0oMzMwKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRoZWlnaHQ6IHJlbSg1MDApO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcblx0XHRoZWlnaHQ6IHJlbSg2MDApO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcblx0XHRoZWlnaHQ6IHJlbSg4MDApO1xuXHR9XG59XG5cbi5nbGlkZV9fd3JhcHBlciB7XG5cdGhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0xJREVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmdsaWRlX19zbGlkZSB7XG5cdGhlaWdodDogaW5oZXJpdDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNreXdhcnA7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyk7IC8vIHNvbWV0aW5nIGJyb2tlIGdsaWRlIHNsaWRlIGZhZGUgdHJhbnNpdGlvblxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXUkFQUEVSXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5nbGlkZV9fc2xpZGUtd3JhcHBlciB7XG5cdGhlaWdodDogaW5oZXJpdDtcbn1cblxuLmdsaWRlX19zbGlkZS13cmFwcGVyIC5jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogaW5oZXJpdDtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1mbG93KGNvbHVtbiB3cmFwKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNMSURFIElNQUdFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFRoaXMgaXMgdXNlZCBmb3IgdGhlIGltYWdlIGZhZGUgZWZmZWN0IHNvIHRoYXQgYSBibGFjayBiYWNrZ3JvdW5kIFxuLy8gY2FuIGJlIHNlZW4gdGhyb3VnaCB0aGUgaW1hZ2Ugd2hlbiBmYWRlZFxuXG4uZ2xpZGVfX3NsaWRlLWltYWdlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9wYWNpdHk6IDE7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyAuNHMpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT1BZXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5nbGlkZSAuaDEsXG4uZ2xpZGUgLmhlYWRlcl9fc2Vjb25kYXJ5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAwIHJlbSgzMCk7XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0ei1pbmRleDogJHotaW5kZXgtMTtcblx0b3BhY2l0eTogMDtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDIpKTtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcgLjRzLG9wYWNpdHkgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcgLjRzKTtcbn1cblxuLmdsaWRlIHAge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiAkY29sb3ItamV0ZmlyZTtcblx0ei1pbmRleDogJHotaW5kZXgtMTtcblx0b3BhY2l0eTogMDtcblx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcgLjZzKTtcblxuXHQvL1xuXHQvLyBCUkVBS1BPSU5UXG5cdC8vXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjIpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMzQpO1xuXHR9XG59XG5cbi5nbGlkZSAuZGl2aWRlciB7XG5cdHotaW5kZXg6ICR6LWluZGV4LTE7XG5cdG9wYWNpdHk6IDA7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjUpIHRyYW5zbGF0ZVkoMzBweCkpO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAkZ2xvYmFsLXRpbWluZyAkZ2xvYmFsLWVhc2luZyAuOHMsIG9wYWNpdHkgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcgLjhzKTtcbn1cblxuLmdsaWRlIGEge1xuXHRvcGFjaXR5OiAwO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgJGdsb2JhbC10aW1pbmcgJGdsb2JhbC1lYXNpbmcgLjhzKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQUNUSVZFIFNUQVRFIEFOSU1BVElPTlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZ2xpZGUtLXdpdGgtY29udGVudCAuZ2xpZGVfX3NsaWRlLmFjdGl2ZSB7XG5cdC5nbGlkZV9fc2xpZGUtaW1hZ2Uge1xuXHRcdG9wYWNpdHk6IC41O1xuXHR9XG5cdC5oMSxcblx0LmhlYWRlcl9fc2Vjb25kYXJ5IHtcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0cCB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQuZGl2aWRlciB7XG5cdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpIHRyYW5zbGF0ZVkoMHB4KSk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHRhIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJVTExFVFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmdsaWRlLS1ob3Jpem9udGFsIC5nbGlkZV9fYnVsbGV0cyB7XG5cdGJvdHRvbTogMjAlO1xufVxuXG4uZ2xpZGVfX2J1bGxldCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItY29sb3I6ICRjb2xvci1qZXRmaXJlO1xuXHRib3JkZXItd2lkdGg6IDFweDtcbn1cblxuLmdsaWRlX19idWxsZXQuYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJ1bWJsZWJlZTtcblx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRib3JkZXItd2lkdGg6IDFweDtcbn1cblxuLmdsaWRlX19idWxsZXQ6aG92ZXIge1xuXHRib3JkZXItY29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1idW1ibGViZWU7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItY29sb3I6ICRjb2xvci1idW1ibGViZWU7XG59XG5cbi5nbGlkZV9fYnVsbGV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHRib3JkZXItd2lkdGg6IDFweDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQVJST1dTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5nbGlkZS0taG9yaXpvbnRhbCAuZ2xpZGVfX2Fycm93IHtcblx0Ym9yZGVyOiBub25lO1xuXHRmb250LXNpemU6IDQwcHg7XG5cdHBhZGRpbmc6IDA7XG5cdGNvbG9yOiAkY29sb3ItYnVtYmxlYmVlO1xuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbGlnaHRlbigkY29sb3ItYnVtYmxlYmVlLCAyMCk7XG5cdH1cbn1cblxuXG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBPV0wgU0xJREVSIE9WRVJSSURFU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQlVMTEVUUyAtIE9uIHdoaXRlIGJnXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vd2wtdGhlbWUgLm93bC1jb250cm9scyAub3dsLXBhZ2Ugc3BhbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tZWdhdHJvbjtcbn1cblxuLm93bC10aGVtZSAub3dsLWNvbnRyb2xzIC5vd2wtcGFnZS5hY3RpdmUgc3BhbiwgLm93bC10aGVtZSAub3dsLWNvbnRyb2xzLmNsaWNrYWJsZSAub3dsLXBhZ2U6aG92ZXIgc3BhbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1idW1ibGViZWU7XG59XG5cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gVEVNUCBDU1MgSU1QT1JUU1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJTVBPUlQgUEFSVElBTFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQGltcG9ydCBcIndoYXR0aGVmdWNrZXZlclwiO1xuXG5cbiJdLCJtYXBwaW5ncyI6IjtBMEZhQSxBQUFBLENBQUMsRUFBRSxBQUFDLENBQUEsQUFBQSxPQUFPLEVBQUUsQUFBQyxDQUFBLEFBQUEsTUFBTSxDQUFDO0VBQ3BCLFVBQVUsRUFBRSxVQUFXO0NBQ3ZCOztBQU1ELEFBQUEsTUFBTTtBQUNOLEFBQUEsS0FBSztBQUNMLEFBQUEsT0FBTztBQUNQLEFBQUEsR0FBRztBQUNILEFBQUEsSUFBSTtBQUNKLEFBQUEsS0FBSztBQUNMLEFBQUEsUUFBUTtBQUNSLEFBQUEsTUFBTTtBQUNOLEFBQUEsTUFBTTtBQUNOLEFBQUEsQ0FBQyxDQUFDO0VBQ0EsMkJBQTJCLEVBQUUsV0FBSTtDQUNsQzs7QUFNRCxBQUFBLElBQUksQ0FBQztFQUdKLHNCQUFzQixFQUFFLFdBQVk7RUFDcEMsdUJBQXVCLEVBQUUsU0FBVTtDQUNuQzs7QUFFRCxBQUFBLElBQUksQ0FBQztFQUdKLFNBQVMsRURuQ0UsSUFBSTtFQ29DZixXQUFXLEVEbkNJ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 */
