.bg-primary, .bg-dark-blue {
  background-color: #050050;
}

.bg-secondary, .bg-light-blue {
  background-color: #00dcff;
}

.bg-white {
  background-color: #fff;
}

.bg-yellow {
  background-color: #FCC400;
}

.bg-red {
  background-color: #c4262e;
}

.bg-orange {
  background-color: #eb7121;
}

.bg-grey {
  background-color: #F1F1F1;
}

.col-primary {
  color: #050050;
}

.col-secondary {
  color: #00dcff;
}

.col-white {
  color: #fff;
}

/* SCREEN BREAK POINTS ---------------------  */
/* http://susydocs.oddbird.net/en/latest/toolkit/#tools-susy-breakpoint */
/* http://breakpoint-sass.com/ */
/* Mobile First */
/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(/bundles/app/assets/fonts/MaterialIcons-Regular.5004197d.eot) format("embedded-opentype"), url(/bundles/app/assets/fonts/MaterialIcons-Regular.beb4e954.woff) format("woff"), url(/bundles/app/assets/fonts/MaterialIcons-Regular.c42ac0f1.ttf) format("truetype");
}

@font-face {
  font-family: "AvantGardeGothic-Book";
  src: url(/bundles/app/assets/fonts/2a334c60-3e0d-4f43-b0e9-5284ea33961a.bf157eec.eot);
  src: url(/bundles/app/assets/fonts/2a334c60-3e0d-4f43-b0e9-5284ea33961a.bf157eec.eot) format("eot"), url(/bundles/app/assets/fonts/c68f0543-0caf-4988-b234-355520476b8c.dc02441c.woff) format("woff"), url(/bundles/app/assets/fonts/2d4f1d98-ddb3-4acc-ae78-c8b1863f780e.4daecc55.ttf) format("truetype"), url(/bundles/app/assets/images/80f98a03-905d-49e6-8614-cec7c32ca4f2.6f8f7dbb.svg) format("svg");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "AvantGardeGothic-BookOblique";
  src: url(/bundles/app/assets/fonts/d6c308a1-6908-40bc-b732-0fec02d083ac.dd1623b4.eot);
  src: url(/bundles/app/assets/fonts/d6c308a1-6908-40bc-b732-0fec02d083ac.dd1623b4.eot) format("eot"), url(/bundles/app/assets/fonts/7571e8e6-97a2-48aa-97c1-b8aeeefc5409.18c1e862.woff) format("woff"), url(/bundles/app/assets/fonts/8f1e17ad-3b38-4d51-83f5-4e5469174a77.ebcb40b4.ttf) format("truetype"), url(/bundles/app/assets/images/1ee7d1fd-0f7c-4d70-b970-f4dc602eab62.52eaadbd.svg) format("svg");
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: "AvantGardeGothic-Bold";
  src: url(/bundles/app/assets/fonts/85564178-fd88-4387-9226-0e632723ca24.013563a1.eot);
  src: url(/bundles/app/assets/fonts/85564178-fd88-4387-9226-0e632723ca24.013563a1.eot) format("eot"), url(/bundles/app/assets/fonts/e9a79553-7093-47c7-8d9c-70dc3619e94b.2df5b2d0.woff) format("woff"), url(/bundles/app/assets/fonts/7265b8d0-a67c-4a8b-84aa-273d1759270a.36c62267.ttf) format("truetype"), url(/bundles/app/assets/images/75d377f2-28ee-43f8-b231-44f8eba218c4.e85e41f5.svg) format("svg");
  font-weight: 700;
  font-style: normal;
}

.font-family-bold {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
}

/* apply a natural box layout model to all elements, but allowing components to change */
html, body {
  box-sizing: border-box;
}

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

*:focus {
  outline: none;
}

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

body {
  margin: 0;
  padding: 0;
  font-family: "AvantGardeGothic-Book", Arial, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  text-transform: none;
  color: #050050;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  line-height: 1.2;
  color: inherit;
  font-family: "AvantGardeGothic-Book", Arial, sans-serif;
  margin-top: 0;
}

h1, .h1 {
  font-size: 40px;
  font-size: 2.5rem;
}

h2, .h2 {
  font-size: 32px;
  font-size: 2rem;
}

@media (min-width: 640px) {
  h2, .h2 {
    font-size: 38px;
    font-size: 2.375rem;
  }
}

@media (min-width: 960px) {
  h2, .h2 {
    font-size: 44px;
    font-size: 2.75rem;
  }
}

h3, .h3, .register__sign-in-tab .register__sign-in-tab__wording {
  font-size: 16px;
  font-size: 1rem;
}

@media (min-width: 640px) {
  h3, .h3, .register__sign-in-tab .register__sign-in-tab__wording {
    font-size: 18px;
    font-size: 1.125rem;
  }
}

@media (min-width: 960px) {
  h3, .h3, .register__sign-in-tab .register__sign-in-tab__wording {
    font-size: 21px;
    font-size: 1.3125rem;
  }
}

h4, .h4 {
  font-size: 16px;
  font-size: 1rem;
}

ul {
  padding-left: 20px;
}

a {
  color: inherit;
}

p {
  margin-bottom: 1em;
  font-size: 15px;
  font-size: 0.9375rem;
}

p.equal-margin {
  margin-bottom: 1.0em;
}

li {
  font-size: 15px;
  font-size: 0.9375rem;
}

img {
  border: none;
  outline: none;
}

blockquote {
  margin: 0px;
  padding: 0;
  font-family: Georgia, serif;
  font-size: 21px;
  font-size: 1.3125rem;
  font-style: italic;
  margin: 0 0 16px 0;
}

/* ::Sprites & Icons
/* ------------------------------------------------------------ */
.sprite__icon, .form .form__field--checkbox + label .form__icon, .form .form__field--radio + .form__icon {
  display: inline-block;
  vertical-align: middle;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  background-image: url(/bundles/app/assets/images/sprite.f915f1b2.png);
  background-repeat: no-repeat;
}

@media (min--moz-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6 / 2), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
  .sprite__icon, .form .form__field--checkbox + label .form__icon, .form .form__field--radio + .form__icon {
    background-image: url(/bundles/app/assets/images/sprite@2x.ff954203.png);
    background-size: 200px;
  }
}

/* Footer social media icons */
/* We create `$selector` */
.btcIcon--instagram {
  background-position: -31px 0;
}

/* We create `$selector` */
.btcIcon--twitter {
  background-position: -63px 0;
}

/* We create `$selector` */
.btcIcon--pinterest {
  background-position: -95px 0;
}

/* We create `$selector` */
.btcIcon--youtube {
  background-position: -127px 0;
}

/* We create `$selector` */
.btcIcon--flickr {
  background-position: -159px 0;
}

/* We create `$selector` */
.btcIcon--wordpress {
  background-position: -191px 0;
}

/* We create `$selector` */
.btcIcon--rss {
  background-position: -223px 0;
}

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

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

.u-centerAlign {
  text-align: center;
  margin: 0 auto;
}

.u-floatLeft {
  float: left;
}

.u-floatRight {
  float: right;
}

.u-clearfix {
  *zoom: 1;
}

.u-clearfix:before, .u-clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.u-clearfix:after {
  clear: both;
}

.u-clear {
  clear: both;
}

.u-verticalAlign {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  margin: 0;
}

.u-noVerticalAlign {
  position: static;
  top: auto;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  margin: 0;
}

.u-noList {
  margin: 0;
  padding: 0;
  list-style: none;
}

.u-paddingLeft {
  padding-left: 20px;
}

.u-paddingBottom--20 {
  padding-bottom: 20px;
}

.u-sectionPadding {
  position: relative;
  padding: 20px 0 0;
}

.u-uppercase {
  text-tranform: uppercase;
}

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

.u-background-contain {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.u-background-cover {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.u-float-none {
  float: none !important;
}

.u-margin-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 640px) {
  .u-M-centerAlign {
    text-align: center;
  }
  .u-M-verticalAlign {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: 0;
  }
  .u-M-hide {
    display: none;
  }
}

@media (min-width: 960px) {
  .u-L-hide {
    display: none;
  }
}

.ratio {
  position: relative;
}

.ratio:before {
  display: block;
  content: '';
  width: 100%;
}

.ratio-2-1 {
  padding-top: 50%;
}

.ratio-2-3 {
  padding-top: 65%;
}

.ratio-4-1 {
  padding-top: 25%;
}

.ratio-4-5 {
  padding-top: 80%;
}

.ratio-5-1 {
  padding-top: 20%;
}

.ratio-5-2 {
  padding-top: 40%;
}

.ratio-20-1 {
  padding-top: 5%;
}

.ratio-card {
  padding-top: 65%;
}

@media (min-width: 320px) {
  .ratio-card {
    padding-top: 75%;
  }
}

@media (min-width: 640px) {
  .ratio-card {
    padding-top: 85%;
  }
}

@media (min-width: 960px) {
  .ratio-card {
    padding-top: 95%;
  }
}

.ratio-filter {
  padding-top: 77%;
}

.ab-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  object-fit: cover;
}

.m-0 {
  margin: 0;
}

.mt {
  margin-top: 1em;
}

.mt-2 {
  margin-top: 2em;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-05 {
  margin-bottom: 0.5em;
}

.mb {
  margin-bottom: 1em;
}

.mb-2 {
  margin-bottom: 2em;
}

.dib {
  display: inline-block;
}

.pa-05 {
  padding: 0.5em;
}

.pa {
  padding: 1em;
}

.pa-2 {
  padding: 2em;
}

.pa-3 {
  padding: 3em;
}

.pa-4 {
  padding: 4em;
}

.pa-20 {
  padding: 20px;
}

@media (min-width: 960px) {
  .pa-0-L {
    padding: 0;
  }
}

@media (min-width: 960px) {
  .pa-L {
    padding: 1em;
  }
}

.pr-05 {
  padding-right: 0.5em;
}

.pr-2 {
  padding-right: 2em;
}

@media (min-width: 960px) {
  .pr-5-L {
    padding-right: 5em;
  }
}

.td-n {
  text-decoration: none;
}

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

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

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

.pt-05 {
  padding-top: 0.5em;
}

.pt {
  padding-top: 1em;
}

.pt-2 {
  padding-top: 2em;
}

.pl-20 {
  padding-left: 20px;
}

.pl-05 {
  padding-left: 0.5em;
}

.p-r-0 {
  padding-right: 0;
}

.p-l-0 {
  padding-left: 0;
}

.p-b {
  padding-bottom: 1em;
}

.p-b-2 {
  padding-bottom: 2em;
}

.h-100 {
  height: 100%;
}

.min-3 {
  min-height: 3em;
}

.min-5 {
  min-height: 5em;
}

.over-hid {
  overflow: hidden;
}

.primary-border-top {
  border-top: 4px solid #050050;
}

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

.l-content {
  position: relative;
}

.l-content.l-content--padding {
  padding: 30px 0 40px;
}

.l-header, .l-footer {
  min-width: 320px;
}

.l-innerContent {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  min-width: 300px;
  position: relative;
  padding: 0 10px;
  margin: 0 auto;
  border-radius: 15px;
}

.l-innerContent:after {
  content: " ";
  display: block;
  clear: both;
}

.l-innerContent.shadow {
  box-shadow: -5px 0 5px 0 rgba(0, 0, 0, 0.125), 5px 0 5px 0 rgba(0, 0, 0, 0.125);
  overflow: hidden;
}

.l-innerContent:after {
  content: ' ';
  display: block;
  clear: both;
}

.l-innerContent.no-pad {
  padding: 0;
}

.l-innerContent.l-innerContent--spacer-bottom {
  margin-bottom: 2em;
}

.l-innerContent.l-innerContent--pt-2 {
  padding-top: 2em;
}

.l-innerContent.l-innerContent--pa-20 {
  padding: 20px;
}

.l-innerContent.l-innerContent--pa-40 {
  padding: 40px;
}

@media (min-width: 640px) {
  .l-innerContent {
    padding: 0 20px;
  }
}

@media (min-width: 960px) {
  .l-L-innerContent {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    min-width: 300px;
    position: relative;
    padding: 0 20px;
    margin: 0 auto;
  }
  .l-L-innerContent:after {
    content: " ";
    display: block;
    clear: both;
  }
  .l-L-innerContent:after {
    content: ' ';
    display: block;
    clear: both;
  }
  .l-content.l-content--uplift {
    padding: 0 0 60px;
    margin-top: -120px;
  }
}

.l-margin {
  margin-left: 10px;
  margin-right: 10px;
}

@media (min-width: 640px) {
  .l-margin {
    margin: auto;
  }
}

/* Mobile First */
/** USE OFTEN **/
.l-1of2 {
  width: 48.93617%;
  float: left;
  margin-right: 2.12766%;
}

.l-1of3 {
  width: 31.91489%;
  float: left;
  margin-right: 2.12766%;
}

.l-1of4 {
  width: 23.40426%;
  float: left;
  margin-right: 2.12766%;
}

.l-1of4:nth-of-type(4n) {
  float: right;
  margin-right: 0;
}

.l-1of6 {
  width: 14.89362%;
  float: left;
  margin-right: 2.12766%;
}

.l-3of4 {
  width: 74.46809%;
  float: left;
  margin-right: 2.12766%;
}

.l-2of3 {
  width: 65.95745%;
  float: left;
  margin-right: 2.12766%;
}

.l-full {
  width: 100%;
  float: left;
  margin-left: 0;
  margin-right: 0;
}

.l-last {
  float: right;
  margin-right: 0;
}

.l-hide {
  display: none;
}

.l-hide-important {
  display: none !important;
}

.l-block {
  display: block;
}

.l-inline-block {
  display: inline-block;
}

.l-nested-full {
  width: 100%;
  float: left;
}

.l-nested-1of4 {
  width: 25%;
  float: left;
}

.l-nested-3of4 {
  width: 75%;
  float: left;
}

.l-nested-1of2 {
  width: 50%;
  float: left;
}

.l-nested-2of3 {
  width: 67%;
  float: left;
}

.l-nested-1of3 {
  width: 33%;
  float: left;
}

@media (min-width: 640px) {
  .l-M-hide {
    display: none;
  }
  .l-M-block {
    display: block;
  }
  .l-M-inline-block {
    display: inline-block;
  }
  .l-M-full {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
  .l-M-1of2 {
    width: 48.93617%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-M-1of3 {
    width: 31.91489%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-M-2of3 {
    width: 65.95745%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-M-3of4 {
    width: 74.46809%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-M-1of4 {
    width: 23.40426%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-M-nested {
    width: 100%;
    float: left;
  }
  .l-M-nested-1of2 {
    width: 50%;
    float: left;
  }
  .l-M-nested-1of3 {
    width: 33.33%;
    float: left;
  }
  .l-M-nested-2of3 {
    width: 66.66%;
    float: left;
  }
  .l-M-nested-1of4 {
    width: 25%;
    float: left;
  }
  .l-M-nested-3of4 {
    width: 75%;
    float: left;
  }
  .l-M-last {
    float: right;
    margin-right: 0;
  }
}

@media (min-width: 960px) {
  .l-L-hide {
    display: none;
  }
  .l-L-block {
    display: block;
  }
  .l-L-inline-block {
    display: inline-block;
  }
  .l-L-full {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
  .l-L-5of6 {
    width: 82.97872%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-L-2of3 {
    width: 65.95745%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-L-1of2 {
    width: 48.93617%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-L-1of2-flush {
    width: 50%;
    float: left;
  }
  .l-L-1of3 {
    width: 31.91489%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-L-2of3 {
    width: 65.95745%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-L-1of4 {
    width: 23.40426%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-L-2of4 {
    width: 48.93617%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-L-3of4 {
    width: 74.46809%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-L-5of12 {
    width: 40.42553%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-L-1of6 {
    width: 14.89362%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-L-last {
    float: right;
    margin-right: 0;
  }
  .l-L-50 {
    width: 50%;
  }
  .l-group .l-L-1of2:nth-of-type(2n) {
    float: right;
    margin-right: 0;
  }
  .l-group .l-L-1of3:nth-of-type(3n) {
    float: right;
    margin-right: 0;
  }
  .l-group .l-L-1of4:nth-of-type(4n) {
    float: right;
    margin-right: 0;
  }
}

@media (min-width: 1200px) {
  .l-XL-1of3 {
    width: 31.91489%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-XL-1of2 {
    width: 48.93617%;
    float: left;
    margin-right: 2.12766%;
  }
}

@media (min-width: 1400px) {
  .l-XXL-1of3 {
    width: 31.91489%;
    float: left;
    margin-right: 2.12766%;
  }
  .l-XXL-1of2 {
    width: 48.93617%;
    float: left;
    margin-right: 2.12766%;
  }
}

@media (min-width: 640px) and (max-width: 960px) {
  .l-group .l-M-1of3:nth-of-type(3n) {
    float: right;
    margin-right: 0;
  }
  .l-group .l-M-1of4:nth-of-type(4n) {
    float: right;
    margin-right: 0;
  }
}

.l-header {
  text-align: center;
  background-color: #fff;
  max-width: 100%;
}

.l-header .header-logo {
  display: block;
  z-index: 1;
  position: relative;
}

.l-header .header-logo img {
  width: 54%;
  margin-bottom: 13px;
  background-color: #fff;
}

@media (min-width: 640px) {
  .l-header .header-logo img {
    width: 64%;
  }
}

.l-header .homepage-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 64vw;
  display: none;
}

@media (min-width: 960px) {
  .l-header .homepage-image {
    display: block;
    top: 10vw;
  }
}

@media (min-width: 1400px) {
  .l-header .homepage-image {
    top: 0vw;
  }
}

.l-header .small-hero-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 32vw;
  display: none;
}

@media (min-width: 960px) {
  .l-header .small-hero-image {
    display: block;
  }
}

.l-header:before {
  content: '';
  width: 26vw;
  height: 30vw;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  background-size: 100%;
}

@media (min-width: 640px) {
  .l-header:before {
    width: 23vw;
  }
}

.l-header:after {
  content: '';
  width: 28vw;
  height: 30vw;
  float: right;
  top: 0;
  right: 0;
  position: absolute;
  background-size: 100%;
}

@media (min-width: 640px) {
  .l-header:after {
    width: 23vw;
  }
}

@media (min-width: 640px) {
  .l-header .header-logo img {
    max-width: 450px;
    width: 100%;
    padding: 30px 50px;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    box-shadow: 0 1.5px 4px rgba(0, 0, 0, 0.24), 0 1.5px 6px rgba(0, 0, 0, 0.12);
  }
}

.sponsorship {
  text-align: center;
}

.sponsorship .sponsorship-banner {
  display: inline-block;
  height: auto;
  width: 100%;
  max-width: 180px;
  margin-right: 0px;
  background: #fff;
  padding: 5px;
  margin-bottom: 15px;
}

.l-footer {
  padding-top: 20px;
  padding-bottom: 20px;
  margin-top: 20px;
  background-color: #050050;
  color: #fff;
  text-align: center;
  font-size: 15px;
  font-size: 0.9375rem;
  font-family: "AvantGardeGothic-Book", Arial, sans-serif;
  max-width: 100%;
}

.l-footer span {
  width: 100%;
  display: block;
}

.l-footer .footernav {
  margin-top: 40px;
  width: 100%;
}

.l-footer:before {
  content: '';
  position: absolute;
  margin-top: -30vw;
  left: 0;
  width: 60vw;
  height: 30vw;
  background: url(/bundles/app/assets/images/gsef-footer-bottom-left.9190ae60.png) no-repeat center center;
  background-size: 100%;
  background-position: top;
  z-index: -1;
  display: none;
}

.footer-copyright--centered {
  width: 100%;
  text-align: center;
  margin: 0;
}

@media (min-width: 640px) {
  .sponsorship {
    text-align: left;
  }
  .sponsorship .sponsorship-banner {
    display: inline-block;
    width: auto;
    margin-right: 10px;
    max-width: 180px;
  }
  .l-footer {
    text-align: left;
  }
  .l-footer span {
    display: inline;
    width: 100%;
    text-align: center;
    margin-right: 50px;
    margin-bottom: 30px;
  }
  .l-footer .footernav {
    margin-top: 0px;
    text-align: center;
  }
  .l-footer .footernav .footernav__item {
    border-right: 1px solid #fff;
    padding-right: 15px;
    margin-right: 15px;
    display: inline;
  }
  .l-footer .footernav .footernav__item:last-of-type {
    border: none;
    margin: 0;
    padding: 0;
  }
  .l-footer .footernav a {
    text-decoration: none;
  }
  .l-footer:before {
    display: block;
  }
}

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

@media (min-width: 1200px) {
  .l-footer span {
    width: auto;
    margin-bottom: 0px;
  }
  .l-footer .footernav {
    width: auto;
  }
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  vertical-align: middle;
  word-wrap: normal;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.home__tab--heading {
  font-size: 32px;
  font-size: 2rem;
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  margin: 0.5em 0.5em 0.25em 0;
}

.home__tab--block-heading {
  font-size: 27px;
  font-size: 1.6875rem;
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  margin: 0.5em 0.5em 0.5em 0;
}

.home__top-banner {
  position: relative;
  margin-top: 0em;
  border-top: 4px solid #050050;
}

@media (min-width: 640px) {
  .home__top-banner {
    border-top: none;
  }
}

@media (min-width: 960px) {
  .home__top-banner {
    margin-top: 1em;
  }
}

@media (min-width: 960px) {
  .home__top-banner {
    margin-bottom: 1em;
    padding-top: 32%;
  }
}

@media (min-width: 1200px) {
  .home__top-banner {
    padding-top: 30%;
  }
}

@media (min-width: 1400px) {
  .home__top-banner {
    padding-top: 24%;
  }
}

@media (min-width: 1600px) {
  .home__top-banner {
    padding-top: 20%;
  }
}

.home__top-banner--ab-fill {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

@media (min-width: 960px) {
  .home__top-banner--ab-fill {
    position: absolute;
    margin-left: 20px;
    margin-right: 20px;
  }
}

.home__top-banner--bg {
  background-size: cover;
  background-position: center;
}

.home__top-banner__featured-image {
  padding-top: 60%;
  z-index: 9;
  margin-bottom: 2em;
  height: 100%;
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  top: 30px;
  background-image: none !important;
  display: none;
}

@media (min-width: 960px) {
  .home__top-banner__featured-image {
    background-position: center center;
    top: 0px;
  }
}

.home__top-banner__featured-image .video-js {
  height: 100%;
  padding-top: 0px;
  margin-top: 0px;
}

@media (min-width: 960px) {
  .home__top-banner__featured-image .video-js {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    max-height: 360px;
    margin-top: 0px;
  }
}

.home__top-banner__featured-image .vjs-big-play-button {
  height: 30%;
  width: 17%;
  border: none;
  top: 38%;
  left: 43%;
  background: none;
}

.home__top-banner__featured-image .vjs-big-play-button:hover {
  background-color: transparent !important;
}

.home__top-banner__featured-image .vjs-big-play-button:before {
  background: url(/bundles/app/assets/images/video-play.0136f115.svg) no-repeat top center;
  background-size: 100%;
  content: '';
}

.home__top-banner__featured-image .video-js:hover .vjs-big-play-button {
  background-color: transparent !important;
}

.home__top-banner__featured-image .video-js .vjs-control-bar {
  background-color: rgba(0, 60, 105, 0.8);
}

.home__top-banner__featured-image .vjs-poster {
  background-size: cover;
}

@media (min-width: 1400px) {
  .home__top-banner__featured-image .vjs-poster {
    background-size: 100%;
  }
}

@media (min-width: 960px) {
  .home__top-banner__featured-image {
    margin-bottom: 0;
    padding-top: 0%;
  }
}

@media (min-width: 1200px) {
  .home__top-banner__featured-image {
    padding-top: 0%;
  }
}

@media (min-width: 1400px) {
  .home__top-banner__featured-image {
    padding-top: 0%;
  }
}

.home__top-banner .home__top__image-container {
  height: 100%;
}

@media (min-width: 960px) {
  .home__top-banner .home__top__image-container {
    width: 50%;
  }
}

@media (min-width: 1200px) {
  .home__top-banner .home__top__image-container {
    width: 55%;
  }
}

.home__thin-card--padding {
  padding: 1.6%;
}

.home__promo-image {
  padding-top: 90%;
}

@media (min-width: 640px) {
  .home__promo-image {
    padding-top: 0;
  }
}

.home__promo-block .title-large {
  font-size: 30px;
  font-size: 1.875rem;
}

.home__promo-block .title-medium {
  font-size: 30px;
  font-size: 1.875rem;
}

@media (min-width: 640px) {
  .home__promo-block .title-large {
    font-size: 4.5rem;
    line-height: 1.0;
  }
  .home__promo-block .title-medium {
    font-size: 2.5rem;
  }
}

.breadcrumbs {
  padding: 0 0 30px 0;
  color: inherit;
  font-size: 14px;
  font-size: 0.875rem;
}

.breadcrumbs .breadcrumb-item {
  display: inline-block;
}

.breadcrumbs .breadcrumb-divider {
  margin: 0 5px 0 5px;
}

.padded-links .padded-links__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.padded-links .padded-links__item {
  border-top: 1px solid #050050;
  padding: 20px 20px 10px 20px;
}

.padded-links .padded-links__item p {
  font-size: 14px;
  font-size: 0.875rem;
}

.padded-links .padded-links__label {
  padding: 0;
  margin: 0;
}

.padded-links .padded-links__link {
  text-decoration: none;
  display: block;
}

@-webkit-keyframes loading-card {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@-moz-keyframes loading-card {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@-o-keyframes loading-card {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@keyframes loading-card {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.card {
  margin-bottom: 25px;
  position: relative;
  border-radius: 15px;
  background-color: #fff;
  *zoom: 1;
  box-shadow: 0 1.5px 4px rgba(0, 0, 0, 0.24), 0 1.5px 6px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}

.card:before, .card:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.card:after {
  clear: both;
}

.card.over-inherit {
  overflow: inherit;
}

.card.card-loading {
  background: linear-gradient(270deg, #ffffff, #c8c8c8);
  background-size: 400% 400%;
  -webkit-animation: loading-card 5s ease infinite;
  -moz-animation: loading-card 5s ease infinite;
  -o-animation: loading-card 5s ease infinite;
  animation: loading-card 5s ease infinite;
}

.card.card--yellow {
  background-color: #FCC400;
}

.card.card--yellow .card__content {
  background: #FCC400;
}

.card.card--yellow .card__content--inner h4 {
  color: #050050;
}

.card.card--yellow .card__content--inner h2.larger {
  font-size: 27px;
  font-size: 1.6875rem;
}

.card.card--yellow .card__download {
  color: #050050;
}

.card.card--blue {
  background-color: #050050;
}

.card.card--blue .card__content {
  min-height: 120px;
  float: left;
  width: 100%;
  background-color: #050050;
}

.card.card--blue .card__content h4, .card.card--blue .card__content h2, .card.card--blue .card__content p, .card.card--blue .card__content blockquote, .card.card--blue .card__content footer {
  color: #fff;
}

.card.card--blue.card--light-blue {
  background-color: #00dcff;
}

.card.card--blue.card--light-blue .card__content {
  background-color: #00dcff;
}

.card.card--blue.card--light-blue .card__content h4, .card.card--blue.card--light-blue .card__content h2, .card.card--blue.card--light-blue .card__content p {
  color: #fff;
}

.card.card--blue.card--light-blue:hover h4, .card.card--blue.card--light-blue:hover h2, .card.card--blue.card--light-blue:hover p {
  color: #fff;
}

.card.card--blue.card--blue-dark {
  background-color: #050050;
}

.card.card--light-blue {
  background-color: #00dcff;
}

.card.card--light-blue .card__content {
  background-color: #00dcff;
}

.card.card--light-blue .card__content h4, .card.card--light-blue .card__content h2, .card.card--light-blue .card__content p {
  color: #fff;
}

.card.card--light-blue:hover h4, .card.card--light-blue:hover h2, .card.card--light-blue:hover p {
  color: #fff;
}

.card.card--red {
  background-color: #c4262e;
}

.card.card--red .card__content {
  background-color: #c4262e;
}

.card.card--red .card__content h4, .card.card--red .card__content h2, .card.card--red .card__content p {
  color: #fff;
}

.card.card--orange {
  background-color: #eb7121;
}

.card.card--orange .card__content {
  background-color: #eb7121;
}

.card.card--orange .card__content h4, .card.card--orange .card__content h2, .card.card--orange .card__content p {
  color: #fff;
}

.card.card--white {
  background-color: #fff;
}

.card.card--white .card__content {
  background-color: #fff;
}

.card.card--white .card__content h4, .card.card--white .card__content h2, .card.card--white .card__content p {
  color: #050050;
}

.card.card--hover {
  transition: all 0.5s ease;
}

.card.card--hover .card__content {
  position: absolute;
  bottom: 0;
  opacity: 1;
  transition: all 0.5s ease;
}

.card.card--hover:hover .card__content {
  opacity: 0.8;
  transition: all 0.5s ease;
}

.card .card__title {
  color: inherit;
  margin: 0;
}

.card.card--setHeight {
  height: 320px;
}

.card.card--setHeight.card--hover .card__image {
  height: auto;
  width: 100%;
}

.card h1.card__title {
  font-size: 23px;
  font-size: 1.4375rem;
  line-height: 1.4;
}

.card h1.card__title.bold {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  line-height: 1.2;
}

@media (min-width: 960px) {
  .card h1.card__title {
    font-size: 28px;
    font-size: 1.75rem;
  }
}

.card h2.card__title {
  font-size: 23px;
  font-size: 1.4375rem;
  line-height: 1.4;
}

.card h2.card__title.bold {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  line-height: 1.2;
}

.card h2.card__title.uppercase {
  text-transform: uppercase;
}

.card h2.card__title span.normal {
  font-family: "AvantGardeGothic-Book", Arial, sans-serif;
}

.card h2.card__title.number {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  font-size: 60px;
  font-size: 3.75rem;
  text-align: center;
}

.card h3.card__title {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.4;
}

@media (min-width: 640px) {
  .card h3.card__title {
    font-size: 19px;
    font-size: 1.1875rem;
  }
}

@media (min-width: 960px) {
  .card h3.card__title {
    font-size: 21px;
    font-size: 1.3125rem;
  }
}

.card p.card__blurb {
  font-size: 20px;
  font-size: 1.25rem;
}

.card .card__title--setWidth {
  width: 200px;
  font-size: 0;
}

.card .card__header {
  padding: 15px 20px;
  *zoom: 1;
}

.card .card__header:before, .card .card__header:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.card .card__header:after {
  clear: both;
}

.card .card__header a {
  text-decoration: none;
}

.card .card__content {
  padding: 20px 20px 10px 20px;
  border-radius: 15px;
}

.card .card__content h4 {
  font-family: Arial;
  font-weight: bold;
  font-size: 14px;
  font-size: 0.875rem;
  color: #00dcff;
}

.card .card__content.card__content--no-cat {
  padding: 40px 20px 20px;
}

@media (min-width: 640px) {
  .card .card__content.card__content--no-padding {
    padding: 0;
  }
}

.card .card__content--inner {
  float: left;
  width: 100%;
}

.card .card__content--quotes .card__quote {
  border-bottom: 1px solid #050050;
  padding: 10px;
}

.card .card__content--quotes .card__quote:last-child {
  border-bottom: none;
}

.card .card__content--quotes .card__quote footer span {
  font-weight: bold;
}

.card .card__content--tweets {
  padding: 10px;
}

.card .card__content--transparency {
  background: rgba(255, 255, 255, 0.9);
}

.card .card__content-image {
  float: right;
  margin: 0 auto;
  padding: 20px;
  width: 50%;
}

.card .card__download {
  background-color: rgba(0, 0, 0, 0.1);
  padding: 10px;
  text-decoration: none;
  color: white;
  display: block;
  margin: 25px 0 10px;
}

.card .card__link, .card.card__link {
  text-decoration: none;
  display: block;
}

.card .card__link .card__arrow, .card.card__link .card__arrow {
  text-decoration: none;
}

.card .card__href {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.card .card__button {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: -46px;
}

.card .card__image {
  overflow: hidden;
}

.card .card__image img {
  display: block;
}

.card .card__image--top-right {
  width: 100%;
  margin-bottom: 20px;
}

.card .card__image--inline {
  width: 100%;
  margin-bottom: 20px;
}

.card .card__doubleImage {
  width: 100%;
}

.card .card__icon {
  width: 120px;
  max-width: 120px;
  margin-top: 10px;
  max-height: 120px;
}

.card .card__description {
  max-width: 400px;
}

.card .card__strap {
  height: 15px;
}

.card .card__strap--label {
  content: '';
  position: absolute;
  right: 20px;
  top: -40px;
  width: 50px;
  height: 40px;
  background-position: center;
  background-repeat: no-repeat;
  display: none;
}

.card .card__strap--label-yellow {
  background-image: url(/bundles/app/assets/images/fresh-label-yellow.2b05ef35.png);
}

.card .card__strap--label-dark-blue {
  background-image: url(/bundles/app/assets/images/fresh-label-dark-blue.24965455.png);
}

.card .card__strap--label-light-blue {
  background-image: url(/bundles/app/assets/images/fresh-label-light-blue.7641e3d2.png);
}

.card .card__strap--label-red {
  background-image: url(/bundles/app/assets/images/fresh-label-red.7ba7dbb7.png);
}

.card .card__strap--label-orange {
  background-image: url(/bundles/app/assets/images/fresh-label-orange.62b048f8.png);
}

.card--reveal {
  overflow: hidden;
}

@media (min-width: 960px) {
  .card--reveal {
    min-height: 360px;
    max-height: 360px;
  }
}

.card--reveal .card__content-wrapper {
  transition: all 0.5s ease;
  position: relative;
}

.card--reveal .card__strap {
  height: 15px;
}

.card--reveal .card__title:first-letter {
  text-transform: uppercase;
}

.card--reveal .card__content--inner {
  float: none;
}

.card--reveal:hover .card__content-wrapper {
  transition: all 0.5s ease;
}

@media (min-width: 960px) {
  .card--reveal:hover .card__content-wrapper {
    margin-top: -70px;
  }
}

.card--reveal:hover .card__content-wrapper p {
  visibility: visible;
  opacity: 1.0;
  transition: all 0.5s ease;
}

@media (min-width: 960px) {
  .card--reveal p {
    visibility: hidden;
    opacity: 0.0;
    transition: all 0.5s ease;
  }
}

.card--reveal a {
  text-decoration: none;
}

.card--reveal:after {
  content: '';
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), white 90%);
  position: absolute;
  height: 30px;
  bottom: 0px;
  left: 0;
  width: 100%;
  z-index: 11;
}

@media (min-width: 960px) {
  .card--reveal-large {
    min-height: 320px;
    max-height: 320px;
  }
}

.card--reveal-large:hover .card__content-wrapper {
  transition: all 0.7s ease;
}

@media (min-width: 960px) {
  .card--reveal-large:hover .card__content-wrapper {
    margin-top: -50%;
    height: 100%;
  }
}

.card--reveal-large:after {
  content: none;
}

.card--reveal-large p {
  font-size: 12px;
  font-size: 0.75rem;
}

.card:nth-child(1) .card__strap--label, .card:nth-child(2) .card__strap--label, .card:nth-child(3) .card__strap--label, .card:nth-child(4) .card__strap--label {
  display: block;
}

.cards .card {
  margin-bottom: 40px;
}

@media (min-width: 640px) {
  .card.card--double, .card .card--double {
    height: 350px;
  }
  .card .card__doubleImage {
    width: auto;
    height: 100%;
  }
  .card .card__content-image {
    padding: 0;
    margin: 22px 0px 20px 20px;
  }
  .card.card--setHeight {
    height: 320px;
  }
  .card.card--setHeight.card--hover .card__image {
    height: 100%;
    width: auto;
  }
}

@media (min-width: 850px) {
  .card .card__doubleImage {
    float: right;
  }
}

@media (min-width: 960px) {
  .card .card__content--register p {
    display: none;
  }
  .card.card--double, .card .card--double {
    height: 320px;
  }
  .card.card--square {
    height: 350px;
  }
}

@media (min-width: 1150px) {
  .card .card__content--register p {
    display: inline-block;
  }
}

.card__arrow {
  font-family: "Material Icons";
  color: #fff;
  border-radius: 50%;
  font-size: 24px;
  font-size: 1.5rem;
  height: 40px;
  line-height: 1.7;
  text-align: center;
  width: 40px;
  display: block;
  float: right;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.card__arrow.card__arrow--white {
  background-color: #fff;
  color: #050050;
}

.card__arrow.card__arrow--blue {
  color: #fff;
  background-color: #050050;
}

.card__arrow.card__arrow--primary {
  color: #fff;
  background-color: #050050;
}

@media (min-width: 960px) {
  .card__arrow {
    position: absolute;
  }
}

@media (min-width: 960px) {
  .card .card__image--top-right {
    float: right;
    margin: -71px -20px 20px 20px;
    width: auto;
  }
  .card .card__image--inline {
    float: left;
    margin: 4px 30px 20px 0;
    width: auto;
  }
  .card .card__doubleImage {
    float: none;
  }
  .card--register-height-1 {
    height: 180px;
  }
  .card--register-height-2 {
    height: 373px;
  }
  .card__double-image {
    width: 100%;
    height: auto;
  }
}

.navigation-bar {
  width: 100%;
  position: relative;
  text-align: center;
  border-bottom: 1px solid #050050;
}

.navigation-bar__tab {
  cursor: pointer;
  position: relative;
  padding: 0.5em;
  width: 100%;
  z-index: 999;
}

@media (min-width: 960px) {
  .navigation-bar__tab {
    border-width: 1px 1px 0px 1px;
    border-color: #003c69;
    border-style: solid;
    bottom: -1px;
    max-width: 14em;
  }
}

.navigation-bar__tab .navigation-bar__tab--heading {
  padding-left: 40px;
  display: inline-block;
  text-transform: uppercase;
  line-height: 2.5em;
}

@media (min-width: 960px) {
  .navigation-bar__tab .navigation-bar__tab--heading {
    padding-left: 0;
  }
}

.navigation-bar__tab__arrow {
  font-family: "Material Icons";
  background-color: #050050;
  color: #fff;
  border-radius: 50%;
  font-size: 24px;
  font-size: 1.5rem;
  height: 40px;
  line-height: 1.7;
  text-align: center;
  width: 40px;
  display: inline-block;
  float: right;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}

.navigation-bar__tab__arrow.white {
  background-color: #fff;
  color: #050050;
}

.hero__wrapper {
  line-height: 0;
  position: relative;
  width: 100%;
}

@media (min-width: 960px) {
  .hero__wrapper {
    display: inline-block;
  }
}

.hero__wrapper .hero__image--only {
  width: 100%;
  height: auto;
  margin-top: 20px;
}

.hero .hero__image {
  display: block;
  min-height: 300px;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  margin: 0;
  width: auto;
}

.hero.hero__captions {
  background-color: #050050;
  padding: 20px;
}

.hero.hero__captions h3, .hero.hero__captions h4, .hero.hero__captions a {
  color: #fff;
}

.hero.hero__captions h3 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.3;
}

.hero.hero__captions h4 {
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 6px;
}

.hero.hero__captions a {
  font-size: 14px;
  font-size: 0.875rem;
}

@media (min-width: 960px) {
  .hero-wrapper {
    display: inline-block;
    max-height: 420px;
  }
  .hero {
    overflow: hidden;
  }
  .hero .hero__image {
    max-height: none;
    width: 100%;
  }
  .hero.hero__captions {
    position: absolute;
    bottom: 0;
    width: 30%;
    left: 0;
  }
}

@media (min-width: 1800px) {
  .hero {
    background-color: #eee;
  }
  .hero .hero__image {
    display: inline;
    width: auto;
    margin: 0 auto;
  }
}

.flexslider .slides > li.full .centered {
  overflow: hidden;
  text-align: center;
}

.flexslider .slides > li.full .centered img {
  min-width: 1000px !important;
}

.homegrown-heroes {
  line-height: 0;
}

.homegrown-heroes__header {
  background-color: #050050;
  padding: 30px;
}

.homegrown-heroes__title {
  color: white;
  text-align: center;
  margin: 0;
}

.homegrown-heroes__iframe {
  border: none;
  width: 100%;
  height: 1236px;
}

.homegrown-heroes__footer {
  padding: 30px;
  background-color: #050050;
}

.homegrown-heroes__footer h3 {
  color: white;
  text-align: left;
}

.homegrown-heroes__footer ul {
  margin: 20px 0 0 0;
}

.homegrown-heroes__footer p, .homegrown-heroes__footer li {
  line-height: 1.5;
  color: white;
  font-size: 16px;
  font-size: 1rem;
}

@media (min-width: 620px) {
  .homegrown-heroes__iframe {
    height: 1241px;
  }
}

@media (min-width: 1064px) {
  .homegrown-heroes__iframe {
    height: 665px;
  }
}

.mainnav {
  font-family: "AvantGardeGothic-Book", Arial, sans-serif;
  text-align: right;
  position: initial;
  margin-top: -30px;
}

@media (min-width: 640px) {
  .mainnav {
    margin-top: 0px;
  }
}

.mainnav .mainnav__list {
  display: none;
  background-color: #050050;
  box-sizing: unset;
  left: 0px;
  overflow: auto;
  padding: 20px 0 20px 10px;
  position: absolute;
  z-index: 999;
  border-radius: 30px;
}

.mainnav .mainnav__list--primary {
  background-color: #00dcff !important;
}

@media (min-width: 640px) {
  .mainnav .mainnav__list--primary a:hover {
    text-decoration: underline;
  }
}

.mainnav .mainnav__list--secondary {
  background-color: #050050 !important;
  display: none !important;
}

.mainnav .mainnav__list--secondary a {
  color: #fff !important;
}

.mainnav .mainnav__list--secondary a:before {
  border-left: 2px solid #fff;
}

@media (min-width: 640px) {
  .mainnav .mainnav__list--secondary a:hover {
    text-decoration: underline;
  }
}

@media (min-width: 640px) {
  .mainnav .mainnav__list--secondary {
    display: flex !important;
  }
}

.mainnav .mainnav__item {
  color: #050050;
  padding: 10px 0;
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
}

.mainnav .mainnav__item span {
  background-color: #fff;
  display: block;
  height: 1px;
  margin: 16px auto 0;
  width: 50px;
}

.mainnav a {
  text-decoration: none;
  position: relative;
  z-index: 4;
  padding: 0 40px;
  line-height: 1;
  display: inline-block;
  font-size: 14px;
  font-size: 0.875rem;
}

.mainnav a:hover {
  text-decoration: underline;
}

.mainnav #mainnav__action {
  background-color: #050050;
  color: #fff;
  border: none;
  padding: 6px 8px;
  position: relative;
  right: 0px;
  top: 0px;
  z-index: 1;
  cursor: pointer;
}

.mainnav #mainnav__action .material-icons {
  pointer-events: none;
}

@media (min-width: 640px) {
  .mainnav {
    text-align: center;
    margin-top: 10px;
  }
  .mainnav .mainnav__list {
    background-color: #eb7121;
    padding: 0;
    border-bottom: none;
    position: relative;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    box-shadow: 0 1.5px 4px rgba(0, 0, 0, 0.24), 0 1.5px 6px rgba(0, 0, 0, 0.12);
    margin-bottom: 10px;
  }
  .mainnav .mainnav__list--primary {
    margin-bottom: 10px;
  }
  .mainnav .mainnav__list--secondary {
    margin-bottom: 20px;
  }
  .mainnav #mainnav__action {
    display: none;
  }
  .mainnav .mainnav__item {
    color: #fff;
    float: left;
    padding: 0px;
    flex-grow: 5;
    overflow: hidden;
  }
  .mainnav .mainnav__item span {
    display: none;
  }
  .mainnav .mainnav__item:nth-child(1) a:before {
    border-left: none;
  }
  .mainnav a {
    text-decoration: none;
    position: relative;
    z-index: 4;
    padding: 15px 0px;
    line-height: 1;
    font-weight: bold;
    display: inline-block;
    width: 100%;
    transition: all 0.2s ease;
    color: #050050;
  }
  .mainnav a:before {
    content: '';
    border-left: 2px solid #050050;
    position: absolute;
    left: 0;
    height: 16px;
  }
}

@media (min-width: 960px) {
  .mainnav {
    margin-top: 30px;
  }
  .mainnav a {
    font-size: 16px;
    font-size: 1rem;
  }
  .mainnav .mainnav__list--primary {
    margin-bottom: 0px;
  }
  .mainnav .mainnav__list--secondary {
    margin-bottom: 0px;
  }
}

.topnav {
  font-size: 14px;
  font-size: 0.875rem;
  display: none;
  z-index: 1;
  position: relative;
}

.topnav .topnav__tagline {
  display: none;
}

.topnav ul {
  padding: 0;
  margin: 0;
  text-align: center;
}

.topnav ul li {
  list-style: none;
  display: inline-block;
}

.topnav ul li p {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  color: #050050;
  margin: 0 10px 0 0;
}

.topnav ul li a {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  text-transform: uppercase;
  color: #050050;
  padding: 10px;
  display: block;
}

@media (min-width: 640px) {
  .topnav {
    height: auto;
    display: block;
    text-align: right;
    padding: 2px 0 0;
  }
  .topnav .topnav__tagline {
    display: inline-block;
    width: 100%;
    margin-bottom: 10px;
  }
  .topnav .topnav__tagline p {
    font-size: 12px;
    font-size: 0.75rem;
    margin: 0;
  }
  .topnav ul li a {
    padding: 12px 25px;
    text-decoration: none;
    color: white;
    background-color: #00dcff;
  }
  .topnav ul li a.active {
    background-color: #c4262e;
    color: #fff;
    margin-left: -4px;
  }
}

@media (min-width: 960px) {
  .topnav .topnav__tagline {
    width: auto;
    margin-right: 15px;
  }
}

@media (min-width: 1200px) {
  .topnav .topnav__tagline p {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}

.intro {
  padding: 1em;
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
  top: 0%;
  position: relative;
  width: 100%;
}

@media (min-width: 960px) {
  .intro {
    margin-bottom: 2.12766%;
    padding: 2em 1em 2em 0em;
    border-bottom: none;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
  }
}

@media (min-width: 960px) {
  .intro--bg {
    padding: 2em 1em 2em 2em;
    left: 2em;
  }
}

.intro h2 {
  margin-bottom: 0px;
  line-height: 0.7;
  margin-bottom: 10px;
}

.intro h2 span {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  font-size: 26px;
  font-size: 1.625rem;
  clear: left;
  line-height: 0.9;
}

@media (min-width: 960px) {
  .intro h2 span {
    font-size: 36px;
    font-size: 2.25rem;
  }
}

@media (min-width: 1200px) {
  .intro h2 span {
    font-size: 42px;
    font-size: 2.625rem;
  }
}

.intro h3 {
  font-size: 18px;
  font-size: 1.125rem;
}

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

.intro h4 {
  font-family: Arial;
  font-size: 14px;
  font-size: 0.875rem;
}

.intro p {
  display: inline;
  margin: 0 0 10px 0;
  line-height: 1.5;
}

@media (min-width: 960px) {
  .intro {
    width: 50%;
    float: left;
    display: inline-block;
  }
}

@media (min-width: 1200px) {
  .intro {
    width: 45%;
  }
  .intro p {
    display: block;
  }
}

@media (min-width: 1400px) {
  .intro p {
    display: inline;
  }
}

.register .register__content {
  padding: 50px 0;
}

.register .register__header h3 {
  font-size: 48px;
  font-size: 3rem;
  color: #fff;
  text-align: right;
}

.register .register__text {
  font-size: 20px;
  font-size: 1.25rem;
}

.register .register__text p {
  font-family: "AvantGardeGothic-Book", Arial, sans-serif;
  margin: 0;
}

.register .regsiter__content--complete {
  padding: 100px 0;
}

.register .regsiter__content--complete h2 {
  text-align: center;
  font-family: "AvantGardeGothic-Book", Arial, sans-serif;
  font-size: 94px;
  font-size: 5.875rem;
  color: #fff;
  margin-bottom: 20px;
}

.register .regsiter__content--complete h3 {
  font-size: 22px;
  font-size: 1.375rem;
  text-align: center;
}

.register__sign-in-tab {
  display: table;
  width: 100%;
}

.register__sign-in-tab.register__sign-in-tab--height {
  height: 5em;
}

.register__sign-in-tab .register__sign-in-tab__wording {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  margin: 0;
}

.register--primary {
  color: #fff;
  background: #00dcff;
  border-bottom: 10px solid #0295cb;
}

.school {
  background: #fff;
  margin-bottom: 35px;
}

.school p {
  margin: 0;
  font-size: 18px;
  font-size: 1.125rem;
  color: #00dcff;
}

.school .school__list {
  width: 100%;
}

.school .school__row {
  display: inline-block;
  width: 100%;
  min-height: 40px;
}

.school .school__header {
  text-transform: uppercase;
  font-size: 10px;
  font-size: 0.625rem;
}

.school .school__row:first-of-type .school__cell {
  border: none;
}

.school .school__cell {
  border-top: 1px solid #3893c9;
  padding: 10px 0 10px;
}

.school .school__cell:first-of-type {
  margin-right: 5px;
}

.school .school__postcode {
  text-transform: uppercase;
  font-size: 16px;
  font-size: 1rem;
  line-height: 27px;
}

.school .school__name {
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 27px;
  float: left;
  width: 90%;
}

.search-community {
  padding: 10px;
}

.form-row {
  margin-bottom: 10px;
}

.search-community__search .form__label,
.search-community__tags .form__label,
.search-community__order .form__label,
.search-community__tag-options .form__label {
  background-color: #fff;
  border: none;
  width: 100%;
  display: block;
  cursor: pointer;
  z-index: 10;
  position: relative;
  font-weight: bold;
  border: none;
}

.search__button {
  width: 380px;
}

.search-community__tags,
.search-community__tag-options {
  position: relative;
}

.search-community__tags .tag-checkbox,
.search-community__tag-options .tag-checkbox {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  z-index: 5;
}

.search-community__tags .tick,
.search-community__tag-options .tick {
  color: #b9b9b9;
  position: absolute;
  top: 4px;
  right: 9px;
}

.search-community__tags.is-not-checked .tick,
.search-community__tags .form-row.is-checked .tick,
.search-community__tag-options.is-not-checked .tick,
.search-community__tag-options .form-row.is-checked .tick {
  color: #00dcff;
}

.search-community__tag-options .tick {
  top: -2px;
  right: -8px;
}

.search-community__select-all .select-all {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
}

.search-community__select-all .select-all:first-child {
  border-right: solid 1px;
  padding-right: 10px;
  margin-right: 5px;
  padding-left: 0;
}

.form .search-community__tag-options {
  overflow: hidden;
  margin-bottom: 10px;
  padding: 10px;
}

.form .search-community__tag-options .form__label {
  font-size: 14px;
  font-size: 0.875rem;
  padding-right: 3em;
  width: 100%;
}

.search-community__order {
  position: relative;
}

.search-community__order .order-toggle {
  position: absolute;
  top: 5px;
  bottom: 11px;
  right: 10px;
  z-index: 10;
  cursor: pointer;
  color: #050050;
}

.search-community__order .order-toggle--newest {
  right: 33px;
  border-right: solid 1px #00dcff;
}

.search-community__order.ordered-newest .order-toggle--newest {
  color: #00dcff;
}

.search-community__order.ordered-oldest .order-toggle--oldest {
  color: #00dcff;
}

.search-community__order input {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
}

.form__field--search-community {
  border: none;
}

.form .search-community__search {
  position: relative;
}

.form .search-community__search .form__label {
  border: none !important;
  margin: 3px 0;
  width: auto;
  padding-top: 3px;
  padding-bottom: 3px;
  padding-left: 0;
}

.form .search-community__search .form__field--search-community {
  padding: 7px 10px;
}

.search-results {
  margin-top: 66px;
}

.question-mark {
  background-color: #fff;
  border-radius: 100%;
  padding: 0;
  width: 1em;
  height: 1em;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
}

@media (min-width: 960px) {
  .form-row {
    margin-bottom: 20px;
  }
  .search-community .form .form__field, .search-community .form .form__label {
    width: 100%;
  }
  .form .search-community__search .form__label {
    border-right: none;
    position: relative;
    display: inline-block;
    background-color: transparent;
    top: auto;
    left: auto;
    width: auto;
    float: left;
  }
  .form .search-community__search .form__field--search-community {
    padding-left: 10px;
    display: inline-block;
    width: 73%;
    float: left;
  }
  .search-community {
    padding: 20px 20px 0 20px;
  }
  .search-community__tags .tick,
  .search-community__tags .un-ticked {
    right: 10px;
  }
  .form .search-community__tag-options {
    margin-bottom: 20px;
    padding: 0;
  }
  .form .search-community__tag-options .tick, .form .search-community__tag-options .un-ticked {
    right: 5px;
  }
}

.panel.panel--blue {
  background: #00dcff;
}

.panel.panel--yellow {
  background: #FCC400;
}

.panel .panel__content {
  padding: 20px;
}

.panel .panel__content.panel__content--error p {
  margin: 0;
}

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

.panel .panel__title {
  margin: 0 0 10px;
}

.panel .panel__text {
  font-size: 16px;
  font-size: 1rem;
  margin-top: 0;
  margin-bottom: 10px;
  line-height: 1;
  display: block;
  color: #fff;
  text-transform: uppercase;
}

.panel form {
  padding-top: 10px;
}

.quick-facts {
  margin-top: 20px;
}

.quick-facts .quick-facts__label {
  margin-bottom: 5px;
}

.quick-facts .quick-facts__fact {
  margin-top: 0;
}

.twitter-timeline {
  min-height: 500px;
  height: 95%;
}

.uploadify {
  position: relative;
}

.uploadify .swfupload {
  bottom: 0;
  left: 0;
  height: 45px;
  z-index: 5 !important;
  cursor: pointer;
}

.uploadifive-queue {
  margin: 20px 0;
}

.uploadifive-queue-item {
  padding-bottom: 5px;
  font-size: 15px;
  font-size: 0.9375rem;
}

.uploadifive-queue-item .close {
  float: right;
}

.uploadify-queue-item {
  padding-bottom: 5px;
  font-size: 15px;
  font-size: 0.9375rem;
}

.uploadify-queue-item .cancel {
  float: right;
}

.carousel__container__flexslider {
  margin: 0 0 20px;
  border-bottom: none;
  border-right: none;
  border-left: none;
  border-top: 0px solid #eb7121;
  border-radius: 15px;
  overflow: hidden;
}

@media (min-width: 960px) {
  .carousel__container__flexslider {
    margin: 20px 0 20px;
  }
}

.carousel__container__flexslider.default-nav.flexslider:hover .flex-direction-nav .flex-prev, .carousel__container__flexslider.default-nav .flexslider .flex-direction-nav .flex-prev {
  left: -45px;
  opacity: 1;
  z-index: 99;
}

.carousel__container__flexslider.default-nav.flexslider:hover .flex-direction-nav .flex-next, .carousel__container__flexslider.default-nav .flexslider .flex-direction-nav .flex-next {
  right: -45px;
  opacity: 1;
  z-index: 99;
}

.carousel__container__flexslider.default-nav .flex-direction-nav a {
  width: 90px;
  height: 90px;
  opacity: 1;
  margin: 0;
  top: 43%;
}

.carousel__container__flexslider.default-nav .flex-direction-nav a:before {
  color: #050050;
  font-size: 25px;
}

.carousel__container__flexslider.default-nav .flex-direction-nav a.flex-prev, .carousel__container__flexslider.default-nav .flex-direction-nav a.flex-next {
  background-color: white;
  font-size: 0;
}

.carousel__container__flexslider.default-nav .flex-direction-nav a.flex-prev {
  border-radius: 0 50% 50% 0;
}

.carousel__container__flexslider.default-nav .flex-direction-nav a.flex-prev:before {
  padding: 30px 56.25px;
}

.carousel__container__flexslider.default-nav .flex-direction-nav a.flex-next {
  border-radius: 50% 0 0 50%;
}

.carousel__container__flexslider.default-nav .flex-direction-nav a.flex-next:before {
  padding: 30px 56.25px 0 0;
}

.carousel__container__flexslider.smaller-nav.flexslider:hover .flex-direction-nav .flex-prev, .carousel__container__flexslider.smaller-nav .flexslider .flex-direction-nav .flex-prev {
  left: -25px;
  opacity: 1;
  z-index: 99;
}

.carousel__container__flexslider.smaller-nav.flexslider:hover .flex-direction-nav .flex-next, .carousel__container__flexslider.smaller-nav .flexslider .flex-direction-nav .flex-next {
  right: -25px;
  opacity: 1;
  z-index: 99;
}

.carousel__container__flexslider.smaller-nav .flex-direction-nav a {
  width: 50px;
  height: 50px;
  opacity: 1;
  margin: 0;
  top: 43%;
}

.carousel__container__flexslider.smaller-nav .flex-direction-nav a:before {
  color: #050050;
  font-size: 13.88889px;
}

.carousel__container__flexslider.smaller-nav .flex-direction-nav a.flex-prev, .carousel__container__flexslider.smaller-nav .flex-direction-nav a.flex-next {
  background-color: white;
  font-size: 0;
}

.carousel__container__flexslider.smaller-nav .flex-direction-nav a.flex-prev {
  border-radius: 0 50% 50% 0;
}

.carousel__container__flexslider.smaller-nav .flex-direction-nav a.flex-prev:before {
  padding: 16.66667px 31.25px;
}

.carousel__container__flexslider.smaller-nav .flex-direction-nav a.flex-next {
  border-radius: 50% 0 0 50%;
}

.carousel__container__flexslider.smaller-nav .flex-direction-nav a.flex-next:before {
  padding: 16.66667px 31.25px 0 0;
}

.carousel__container__flexslider--slides > li {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
}

.carousel__container__flexslider--caption {
  background-color: #050050;
  color: white;
  position: relative;
  width: 100%;
  border-bottom: 4px solid #FCC400;
  margin-bottom: 40px;
  border-radius: 15px;
  height: auto;
  left: 0;
}

@media (min-width: 960px) {
  .carousel__container__flexslider--caption {
    position: absolute;
    width: 38%;
    margin-bottom: 0;
    margin-left: 3em;
    border-bottom: none;
    background-color: white;
    color: #050050;
  }
}

.carousel__container--header-offset {
  margin-top: 85px;
}

@media (min-width: 1200px) {
  .carousel__container--resource-hero .carousel__container__flexslider--caption {
    padding: 30px;
    margin-left: 4em;
  }
}

.carousel__container--resource-hero .carousel__container__title {
  font-size: 34px;
  font-size: 2.125rem;
}

@media (min-width: 1200px) {
  .carousel__container--resource-hero .carousel__container__title {
    margin-bottom: 20px;
  }
}

.carousel__container--resource-hero .carousel__container__body h3 {
  font-size: 18px;
  font-size: 1.125rem;
}

@media (min-width: 960px) {
  .carousel__container--resource-hero .carousel__container__body {
    display: none;
  }
}

@media (min-width: 1200px) {
  .carousel__container--resource-hero .carousel__container__body {
    display: inline;
  }
}

.video-js {
  width: 100%;
  z-index: 0;
}

.royalSlider {
  width: 100%;
}

.video__button {
  background: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  width: 62px;
  height: 62px;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10;
}

.video__button .material-icons {
  color: #050050;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -.5em;
  margin-left: -.5em;
  font-size: 5em;
}

.video__thumb .video__button {
  width: 18px;
  height: 18px;
}

.playing .video__button {
  display: none;
}

.rsThumbs {
  margin-bottom: 20px;
}

.rsDefault .rsThumb.rsNavSelected img {
  opacity: 1;
}

.rsDefault .rsThumb .material-icons {
  font-size: 1.5em;
}

.resource-activity__video-container {
  margin-bottom: 3em;
}

.resource-activity__video-container .vjs-big-play-button {
  height: 30%;
  width: 17%;
  border: none;
  top: 38%;
  left: 43%;
  background: none;
}

.resource-activity__video-container .vjs-big-play-button:hover {
  background-color: transparent !important;
}

.resource-activity__video-container .vjs-big-play-button:before {
  background: url(/bundles/app/assets/images/video-play.0136f115.svg) no-repeat center center;
  background-size: 100%;
  content: '';
}

.resource-activity__video-container .video-js:hover .vjs-big-play-button {
  background-color: transparent !important;
}

.resource-activity__video-container .video-js .vjs-control-bar {
  background-color: rgba(0, 60, 105, 0.8);
}

.resources-search {
  width: 100%;
  display: inline-block;
  height: 100%;
  position: relative;
}

@media (min-width: 960px) {
  #resources-search__dyn-blocks, #related__dyn-blocks {
    padding: 0;
  }
}

@media (min-width: 640px) {
  .card.l-M-1of2:nth-of-type(2n) {
    margin-right: 0;
  }
}

@media (min-width: 960px) {
  .card.l-M-1of2:nth-of-type(2n) {
    width: 23.40426%;
    float: left;
    margin-right: 2.12766%;
  }
  .card.l-M-1of2:nth-of-type(4n) {
    float: right;
    margin-right: 0;
  }
}

.resources-search__header {
  width: 100%;
  display: inline-block;
  border-bottom: solid 1px grey;
}

@media (min-width: 960px) {
  .resources-search__header {
    height: 6em;
  }
}

.resources-search__header__col {
  width: 100%;
  float: none;
  display: inline-block;
  max-height: 4em;
  position: relative;
  line-height: 2.66667em;
}

.resources-search__header__col:last-of-type {
  margin-bottom: 2em;
}

@media (min-width: 960px) {
  .resources-search__header__col {
    width: 25%;
    float: left;
  }
  .resources-search__header__col:last-of-type {
    margin-bottom: 0;
  }
}

.resources-search__header__col--primary {
  width: auto;
}

@media (min-width: 960px) {
  .resources-search__header__col--primary {
    display: inline-block;
  }
  .resources-search__header__col--primary p {
    font-size: 16px;
    font-size: 1rem;
  }
}

.resources-search__header__col .resources-search__header__col__button-group {
  width: 100%;
  height: 100%;
}

@media (min-width: 960px) {
  .resources-search__header__col .resources-search__header__col__button-group {
    padding-right: 2em;
    padding-left: 0;
  }
}

.resources-search__header__col .resources-search__header__col__button-group .btn--resources {
  transition: all 0.2s ease;
}

.resources-search__header__col .resources-search__header__col__button-group.open > .dropdown-menu {
  display: block;
  border-radius: 15px;
  border: none;
}

.resources-search__header__col .resources-search__header__col__button-group.open > .btn--resources {
  background-color: #050050;
  color: #fff;
}

.resources-search__header__col .resources-search__header__col__button-group.open > .btn--resources i {
  transform: rotate(180deg);
  border: none;
}

.resources-search__header__col .resources-search__header__col__button-group .dropdown-menu {
  width: auto;
  padding-right: 2em;
  position: absolute;
  top: 2.5em;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  margin: 7px 0 0;
  font-size: 14px;
  font-size: 0.875rem;
  text-align: left;
  list-style: none;
  background-color: #fff;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border: 1px solid #ccc;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}

@media (min-width: 960px) {
  .resources-search__header__col .resources-search__header__col__button-group .dropdown-menu {
    left: 0;
  }
}

.resources-search__header__col .resources-search__header__col__button-group .dropdown-menu .dropdown-menu__item {
  max-height: 4em;
  padding-left: 3em;
}

.resources-search__header__col .resources-search__header__col__button-group .dropdown-menu .dropdown-menu__item label {
  display: inline-block;
  position: relative;
  min-width: 10em;
}

.resources-search__header__col .resources-search__header__col__button-group .dropdown-menu .dropdown-menu__item input[type=checkbox] {
  border: none;
  display: inline;
  left: 10px;
  position: absolute;
  margin-top: 11px;
  cursor: pointer;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.resources-search__header__col .resources-search__header__col__button-group .dropdown-menu .dropdown-menu__item input[type=checkbox]:focus {
  outline: none;
}

.resources-search__header__col .resources-search__header__col__button-group .dropdown-menu .dropdown-menu__item input[type=checkbox]:before {
  position: relative;
  display: block;
  width: 21px;
  height: 21px;
  border: 1px solid #050050;
  content: "";
  background: #FFF;
}

.resources-search__header__col .resources-search__header__col__button-group .dropdown-menu .dropdown-menu__item input[type=checkbox]:after {
  position: relative;
  display: block;
  left: 1px;
  top: -20px;
  width: 19px;
  height: 19px;
  border: 1px solid #050050;
  content: "";
}

.resources-search__header__col .resources-search__header__col__button-group .dropdown-menu .dropdown-menu__item input[type=checkbox]:checked:before {
  background-color: #050050;
}

.resources-search__header__col .resources-search__header__col__button-group .dropdown-menu .dropdown-menu__item input[type=checkbox]:checked:after {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Material Icons";
  color: #fff;
  content: "\E876";
}

.s-ugc h3, h3.s-ugc {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  font-size: 30px;
  font-size: 1.875rem;
}

.s-ugc h3 {
  font-size: 18px;
  font-size: 1.125rem;
}

@media (min-width: 640px) {
  .s-ugc h3 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

@media (min-width: 960px) {
  .s-ugc h3 {
    font-size: 21px;
    font-size: 1.3125rem;
  }
}

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

.video-js {
  width: 100%;
  z-index: 0;
}

.royalSlider {
  width: 100%;
}

.video__button {
  background: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  width: 62px;
  height: 62px;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10;
}

.video__button .material-icons {
  color: #050050;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -.5em;
  margin-left: -.5em;
  font-size: 5em;
}

.video__thumb .video__button {
  width: 18px;
  height: 18px;
}

.playing .video__button {
  display: none;
}

.rsThumbs {
  margin-bottom: 20px;
}

.rsDefault .rsThumb.rsNavSelected img {
  opacity: 1;
}

.rsDefault .rsThumb .material-icons {
  font-size: 1.5em;
}

.resource-activity__video-container {
  margin-bottom: 3em;
}

.resource-activity__video-container .vjs-big-play-button {
  height: 30%;
  width: 17%;
  border: none;
  top: 38%;
  left: 43%;
  background: none;
}

.resource-activity__video-container .vjs-big-play-button:hover {
  background-color: transparent !important;
}

.resource-activity__video-container .vjs-big-play-button:before {
  background: url(/bundles/app/assets/images/video-play.0136f115.svg) no-repeat center center;
  background-size: 100%;
  content: '';
}

.resource-activity__video-container .video-js:hover .vjs-big-play-button {
  background-color: transparent !important;
}

.resource-activity__video-container .video-js .vjs-control-bar {
  background-color: rgba(0, 60, 105, 0.8);
}

.accordion h3 {
  cursor: pointer;
}

.accordion h3:before {
  content: '+';
  display: block;
  float: left;
  width: 30px;
  height: 30px;
  background: #050050;
  border-radius: 50%;
  margin-top: -3px;
  margin-right: 12px;
  text-align: center;
  color: #fff;
  font-family: "AvantGardeGothic-Book", Arial, sans-serif;
  padding: 1px;
  line-height: 26px;
}

.accordion h3.open:before {
  content: '-';
  padding: 2px;
}

.accordion ul {
  padding-left: 60px;
}

/*
@import "modules/title";
@import "modules/info";
*/
.btn {
  display: inline-block;
  -webkit-appearance: none;
  background: none;
  border: none;
  text-align: center;
  font-size: 22px;
  font-size: 1.375rem;
  border-radius: 30px;
  vertical-align: middle;
  cursor: pointer;
  text-decoration: none;
  font-family: "AvantGardeGothic-Book", Arial, sans-serif;
}

.btn:focus {
  outline: none;
}

@keyframes spin {
  0% {
    transform: rotate(359deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

.active.btn--load-more:after, .active.btn--resources:after, .active.btn--postcode:after {
  font-size: 22px;
  font-size: 1.375rem;
  color: white;
  margin-left: 0.75em;
  margin-top: 0.1em;
  animation: spin 0.75s infinite linear;
  transform-origin: 50% 50%;
  font-family: "Material Icons";
  content: "\E627";
  display: block;
  visibility: visible;
}

.active.btn--load-more .material-icons, .active.btn--resources .material-icons, .active.btn--postcode .material-icons {
  display: none;
}

.btn--load-more:after, .btn--resources:after, .btn--postcode:after {
  content: '';
  display: none;
  visibility: none;
  float: right;
  width: 1em;
  height: 1em;
}

.btn--load-more {
  background-color: #050050;
  color: white;
  padding: 0.7em 2em;
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.4em;
}

.btn--resources {
  background-color: white;
  border-radius: 30px;
}

.btn--resources.active:after {
  font-size: 36px;
  font-size: 2.25rem;
  margin-right: 0;
  color: #fff;
}

.btn--resources {
  font-size: 16px;
  font-size: 1rem;
  padding-left: 1em;
  border: 1px solid lightgrey;
  width: 100%;
  text-align: left;
  line-height: 36px;
  position: relative;
}

.btn--resources i {
  float: right;
  font-size: 36px;
  font-size: 2.25rem;
  border-left: 1px solid lightgrey;
  height: 85%;
  position: absolute;
  display: inline-block;
  right: 0;
}

.btn--rsd {
  line-height: 1;
  padding: 13px 12px !important;
  width: 200px;
  font-size: 14px;
  text-align: Center;
}

.btn--flt {
  width: 60px;
  height: 60px;
  line-height: 60px;
  border-radius: 50%;
  margin-left: 10px;
}

.btn--flt .material-icons {
  line-height: 60px;
  font-size: 34px;
  font-size: 2.125rem;
}

.btn--primary {
  color: #fff;
  background: #050050;
}

.btn--primary:focus {
  background: white;
  color: #050050;
}

.btn--white {
  color: #000;
  background: #fff;
}

.btn--white:focus {
  background: #000;
  color: #fff;
}

.btn--search {
  font-family: "Material Icons";
  font-family: "Material Icons";
  height: 60px;
  padding: 0;
  text-align: center;
  width: 60px;
  border-radius: 50%;
  font-size: 40px;
  font-size: 2.5rem;
  margin-left: -55px;
}

.btn--extended {
  position: relative;
  width: 100%;
  background: none;
  border: none;
}

.btn--extended .btn--extended-label {
  text-transform: uppercase;
  color: #050050;
  background: #FCC400;
  font-size: 14px;
  font-size: 0.875rem;
  width: 100%;
  text-align: right;
  padding: 10px 70px 10px 0;
  display: inline-block;
  border-bottom-right-radius: 10px;
  border-top-right-radius: 10px;
}

.btn--extended .btn--extended-icon {
  position: absolute;
  top: -10px;
  right: -10px;
}

.btn--discover, .btn--postcode {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  width: 100%;
  display: block;
  min-height: 1.75em;
  padding: 0.7em;
  line-height: 1.4em;
  text-align: center;
  max-width: 100%;
  font-size: 16px;
  font-size: 1rem;
  text-transform: uppercase;
  background-color: #050050;
  color: #fff;
  text-decoration: none;
  border-radius: 30px;
}

.btn--discover:hover, .btn--postcode:hover {
  cursor: pointer;
}

.btn--discover.small, .small.btn--postcode {
  max-width: 11.2em;
}

.btn--discover.btn--discover--to-bottom, .btn--discover--to-bottom.btn--postcode {
  position: relative;
}

@media (min-width: 960px) {
  .btn--discover.btn--discover--to-bottom, .btn--discover--to-bottom.btn--postcode {
    bottom: 10%;
    position: absolute;
  }
}

@media (min-width: 960px) {
  .btn--discover, .btn--postcode {
    max-width: 12em;
  }
}

.btn--postcode {
  background-color: #050050;
  color: white;
}

.btn--postcode.active:after {
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 1px;
  line-height: 1.3rem;
}

.btn--square {
  cursor: pointer;
  height: 2.8em;
  width: 2.8em;
  color: white;
  display: inline-block;
  text-align: center;
  position: relative;
}

.btn--square.printer {
  background: url(/bundles/app/assets/images/printer.a5aae8ed.svg) no-repeat center center #050050;
  background-size: 60%;
}

.btn--square.share {
  background: url(/bundles/app/assets/images/share.efcfe63e.svg) no-repeat center center #050050;
  background-size: 60%;
}

.btn--square ul.socialOptions {
  position: absolute;
  top: 2.8em;
  left: 0;
  width: 2.8em;
  margin: 0;
  padding: 0;
}

.btn--square ul.socialOptions li, .btn--square ul.socialOptions li a {
  position: relative;
  z-index: 9;
  height: 1.75em;
  width: 100%;
  float: left;
  display: inline-block;
}

.btn--square ul.socialOptions li.fb, .btn--square ul.socialOptions li a.fb {
  background: url(/bundles/app/assets/images/F_icon.acfa9d2b.svg) no-repeat center center #050050;
  background-size: 30%;
}

.btn--square ul.socialOptions li.twit, .btn--square ul.socialOptions li a.twit {
  background: url(/bundles/app/assets/images/twitter-logo.1a459456.svg) no-repeat center center #050050;
  background-size: 30%;
}

.btn--square ul.socialOptions li.email, .btn--square ul.socialOptions li a.email {
  background: url(/bundles/app/assets/images/email-invite.dd3cba02.svg) no-repeat center center #050050;
  background-size: 30%;
}

.btn--resources-caro {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  width: 100%;
  display: block;
  min-height: 1.75em;
  padding: 0.7em;
  line-height: 1.4em;
  text-align: center;
  max-width: 100%;
  font-size: 16px;
  font-size: 1rem;
  border-radius: 30px;
  text-transform: uppercase;
  background-color: #050050;
  text-decoration: none;
  color: #fff;
}

.btn--resources-caro:hover {
  cursor: pointer;
}

.btn--resources-caro.small {
  max-width: 11.2em;
}

.btn--resources-caro.btn--resources-caro--to-bottom {
  position: relative;
}

@media (min-width: 960px) {
  .btn--resources-caro.btn--resources-caro--to-bottom {
    bottom: 0%;
    position: relative;
  }
}

@media (min-width: 960px) {
  .btn--resources-caro {
    max-width: 14em;
  }
}

.form .form__section {
  padding: 40px 20px;
}

.form .form__field__label-container {
  display: flex;
  align-items: center;
  margin-right: 30px;
}

.form .form__field__label-container.error > input + span {
  border-color: #c4262e;
}

.form .form__field__label-container p {
  margin-left: 10px;
}

.form .form__field__label-container > input {
  display: none;
}

.form .form__field__label-container > input + span {
  display: inline-block;
  min-width: 30px;
  min-height: 30px;
  background-color: #ffffff;
  background-size: 0%;
  background-position: center;
  border: 2px solid #050050;
  border-radius: 10px;
  transform: rotate(-90deg);
  transition: all 300ms cubic-bezier(0.07, 0.98, 0.3, 1.88);
}

.form .form__field__label-container > input + span:hover {
  cursor: pointer;
}

.form .form__field__label-container > input:checked + span {
  background-color: #050050;
  background-image: url(https://storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_check_white_24px.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  transform: rotate(0deg);
}

.form .form__field__label-container > input:disabled + span {
  background-color: #333333;
}

.form .form__field__label-container:last-child {
  margin-right: 0;
}

.form .form__section--blue, .panel--blue .form {
  background-color: #00dcff;
  color: #fff;
}

.form .form__section--blue .form__title, .panel--blue .form .form__title {
  color: #fff;
}

.form .form__section--blue .form__field.form__field--error, .panel--blue .form .form__field.form__field--error {
  border: 2px solid #c4262e;
}

.form .form__section--blue .form__error, .panel--blue .form .form__error {
  color: white;
}

.form .form__section--blue .form__field--checkbox:focus + .form__label--checkbox .form__icon, .panel--blue .form .form__field--checkbox:focus + .form__label--checkbox .form__icon {
  background-position: -31px -87px;
}

.form .form__section--blue .form__field--checkbox:checked:checked + .form__field--error .form__icon, .panel--blue .form .form__field--checkbox:checked:checked + .form__field--error .form__icon {
  background-position: -33px -2px;
}

.form .form__section--blue .form__label--checkbox, .panel--blue .form .form__label--checkbox {
  color: white;
}

.form .form__section--blue .form__label--checkbox a:focus, .panel--blue .form .form__label--checkbox a:focus {
  color: #050050;
}

.form .form__section--blue .form__label--checkbox.form__field--error, .panel--blue .form .form__label--checkbox.form__field--error {
  border: none;
}

.form .form__section--blue .form__label--checkbox.form__field--error .form__icon, .panel--blue .form .form__label--checkbox.form__field--error .form__icon {
  background-position: -167px -30px;
}

.form .form__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-family: Arial;
  font-weight: bold;
}

.form .form__block {
  font-size: 18px;
  font-size: 1.125rem;
  margin-bottom: 30px;
}

.form .form__block:last-child {
  margin-bottom: 0;
}

.form .form__label {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.form .form__label--small {
  font-size: 16px;
  font-size: 1rem;
}

.form .form__field {
  width: 100%;
  color: #050050;
  font-size: 16px;
  font-size: 1rem;
  text-transform: none;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  line-height: 1.3;
  padding: 8px 10px;
  border-radius: 30px;
  font-family: 'Arial', sans-serif;
  border: 1px solid #00dcff;
}

.form .form__field.form__error {
  border-color: #050050;
}

.form .form__field:disabled {
  background-color: #eee;
}

.form .form__field:focus {
  outline: 2px solid #050050;
}

.form .form__field--search {
  padding-right: 70px;
  border-bottom-right-radius: 12px;
  border-top-right-radius: 12px;
  width: 90%;
}

.form input[type="checkbox"] {
  vertical-align: middle;
}

.form .form__block--radio ul {
  margin: 0;
  padding: 0;
}

.form .form__block--radio ul li {
  list-style: none;
}

.form .form__block--radio input, .form .form__block--radio label {
  display: inline-block;
  font-weight: bold;
}

.form .form__field--checkbox {
  opacity: 0;
  position: absolute;
  left: 0;
  text-indent: -9999px;
}

.form .form__field--checkbox + label .form__icon {
  background-position: -32px -30px;
  display: inline-block;
  width: 27px;
  height: 27px;
  margin-right: 5px;
}

.form .form__field--checkbox:checked + label .form__icon {
  background-position: -32px -2px;
}

.form .form__label--checkbox.form__field--error {
  border: none;
}

.form .form__label--checkbox.form__field--error .form__icon {
  background-position: -168px -30px;
}

.form .form__field--radio {
  opacity: 0;
  position: absolute;
  left: 0;
  text-indent: -9999px;
}

.form .form__field--radio + .form__icon {
  background-position: -92px -30px;
  display: inline-block;
  width: 27px;
  height: 27px;
}

.form .form__field--radio:checked + .form__icon {
  background-position: -92px -2px;
}

.form .form__field--radio:focus + .form__icon {
  background-position: -92px -2px;
}

.form .form__block--checkbox input, .form .form__block--checkbox label {
  display: inline-block;
}

.form .form__block--checkbox input[type="checkbox"] {
  display: none;
}

.form input[type="radio"] + label span, .form input[type="checkbox"] + label span {
  display: inline-block;
  width: 23px;
  height: 23px;
  margin: -1px 10px 0 0;
  vertical-align: middle;
  cursor: pointer;
}

.form input[type="checkbox"] + label span {
  background-position: -4px -32px;
}

.form input[type="checkbox"] + label span.dark {
  background-position: -4px -4px;
}

.form input[type="checkbox"]:checked + label span {
  background-position: -4px -4px;
}

.form input[type="checkbox"]:checked + label span.dark {
  background-position: -4px -4px;
}

.form input[type="radio"] + label span {
  background-postion: 0px 0px;
}

.form input[type="radio"]:checked + label span {
  background-postion: 0px 0px;
}

.form .field__error {
  font-family: "Arial", sans-serif;
  font-weight: bold;
  font-size: 16px;
  font-size: 1rem;
  margin-top: 4px;
}

.form .form__button {
  padding: 6px 12px;
}

.form .form__button input[multiple] {
  height: 48px;
  cursor: pointer;
  width: 100%;
}

.form .form__field--error {
  border: 2px solid #c4262e;
  color: #000;
}

.form .select-style {
  width: 50%;
  overflow: hidden;
  background: #fff url(/bundles/app/assets/images/select-icon.aa5f6fc9.png) no-repeat 96% 50%;
}

.form .select-style.select-style-small {
  width: 25%;
}

.form .select-style::-ms-expand {
  display: none;
}

.form .select-style select {
  padding: 7px 8px;
  width: 100%;
  box-shadow: none;
  background: transparent;
  background-image: none;
  -webkit-appearance: none;
}

.form .select-style select::-ms-expand {
  display: none;
}

.form .select-style select:focus {
  outline: 2px solid #050050;
}

@media (min-width: 960px) {
  .form .form__label, .form .form__field, .form .field__error {
    width: 50%;
  }
  .form.form--split .form__label, .form.form--split .form__field, .form.form--split .field__error {
    width: 90%;
  }
  .form .form__field--small {
    width: 120px;
  }
}

.tags {
  margin-bottom: 50px;
}

.m-form-g-recaptcha {
  margin: 30px 0;
}

.m-form-g-recaptcha .m-form-g-recaptcha__error {
  color: #da291c;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 22px;
}

.m-form-g-recaptcha .g-recaptcha {
  margin: 0;
}

.u-skiptocontent {
  height: 1px;
  width: 1px;
  position: absolute;
  overflow: hidden;
  top: -10px;
}

.u-skiptocontent:focus {
  position: relative;
  top: 0;
  height: auto;
  width: auto;
  padding: 0 10px;
  color: black;
  border-bottom: 1px solid black;
}

.u-screenreader {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.ui-datepicker {
  background-color: white;
  border: 1px solid #00dcff;
}

.p-0 {
  padding: 0px;
}

.m-0 {
  margin: 0px;
}

.d-none {
  display: none;
}

.form__section.p-0 {
  padding: 0px;
}

.display-ib {
  display: inline-block;
  width: 100%;
}

.form .select-style-full {
  width: 100%;
}

.border-top-blue {
  border-top: 2px solid #003c69;
}

.form .custum-check-box .form__field__label-container > input + span {
  min-width: 35px;
  min-height: 35px;
  border-radius: 0px;
}

.form .custum-check-box .form-blockField--checkbox {
  padding-left: 15px;
  padding-right: 15px;
}

.form .custum-check-box .form-blockField--checkbox p {
  font-size: 16px;
  line-height: 20px;
}

.blue-btn-submit {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  display: block;
  min-height: 1.75em;
  padding: 0.7em 1em;
  line-height: 1.1em;
  text-align: center;
  font-size: 14px;
  text-transform: uppercase;
  text-decoration: none;
  background-color: #003c69;
  color: white;
  border: 0px;
  margin: 0 auto;
}

.mb-2.campaign {
  margin-bottom: 2em;
}

.sh-large-screen {
  display: none;
}

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

.campaign.mt-3 {
  margin-top: 3em;
}

.order-pack {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  max-width: 270px;
  display: block;
  margin: 1em auto 0;
  text-align: center;
  color: #fff;
  font-weight: bold;
  padding: 10px 15px;
  font-size: 20px;
}

.red-bg-label {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  max-width: 800px;
  display: block;
  margin: 0em auto 0;
  text-align: center;
  color: #fff;
  padding: 10px 15px;
  font-size: 20px;
  background: #c4262e;
  text-transform: uppercase;
}

.campaign .right-content {
  position: relative;
}

.campaign .left-content {
  padding: 1em;
}

.campaign .intro_txt {
  font-size: 22px;
  margin-bottom: 2em;
}

.campaign .btn-full-block {
  display: block;
  width: 100%;
  max-width: 100%;
  text-align: center;
  background: #003c69;
  color: #fff;
  font-size: 16px;
}

.campaign h2 {
  font-size: 2.1rem;
}

.campaign .campaign-description h3 {
  margin-bottom: 10px;
  font-size: 1.5rem;
}

.campaign .campaign-description p {
  margin-top: 0px;
  line-height: 1.2em;
}

.campaign .landing-title.bold {
  font-family: AvantGardeGothic-Bold,Arial,sans-serif;
  line-height: 1.2;
}

.campaign .l-nested-1of2 {
  width: 100%;
}

.campaign .add-padding {
  padding: 1em;
}

.campaign .form .form__section {
  padding: 1em;
}

.campaign .form__block {
  position: relative;
  margin-bottom: 5px;
  padding-bottom: 25px;
}

.campaign .school.form {
  margin-bottom: 60px;
}

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

.logged-user a {
  display: inline-block;
}

.form.header-search {
  position: relative;
  padding-bottom: 30px;
}

.form.header-search .field__error {
  position: absolute;
  bottom: 0px;
  left: 0px;
}

.form.full-width-form .form__field, .form.full-width-form .field__error {
  width: 100%;
}

@media (min-width: 640px) {
  .mw-18 {
    max-width: 18em;
  }
  .campaign.display-box {
    display: block;
  }
  .campaign .left-block-width {
    width: 100%;
  }
  .campaign .right-block-width {
    width: 100%;
  }
  .campaign .left-content {
    padding: 1em 2em;
  }
  .campaign h2 {
    font-size: 2.6rem;
  }
  .campaign .add-padding {
    padding: 2em;
  }
  .campaign .add-border-after {
    position: relative;
  }
  .campaign .add-border-after :after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0px;
    width: 2px;
    height: 80%;
    background: #003c69;
  }
  .campaign .l-nested-1of2 {
    width: 50%;
  }
  .campaign .form .form__section {
    padding: 40px 50px;
  }
  .order-pack {
    max-width: 590px;
    font-size: 30px;
  }
  .blue-btn-submit {
    padding: 0.7em 2em;
    font-size: 17px;
  }
  .blue-btn-submit :hover {
    cursor: pointer;
  }
  .form .custum-check-box .form__field__label-container > input + span {
    min-width: 50px;
    min-height: 50px;
  }
}

@media (min-width: 960px) {
  .min-h-l-430 {
    min-height: 430px;
  }
  .min-h-l-330 {
    min-height: 330px;
  }
  .sh-large-screen {
    display: block;
  }
  .campaign.display-box {
    display: flex;
  }
  .campaign .header-p {
    font-size: 1.31em;
    line-height: 1.2em;
  }
  .campaign .left-block-width {
    width: 37%;
    float: left;
  }
  .campaign .right-block-width {
    width: 63%;
    float: left;
  }
  .campaign .add-padding {
    padding: 2em 5em;
  }
  .campaign .l-L-1of2 {
    width: 50%;
    float: left;
    margin-right: 0;
  }
  .campaign h2 {
    font-size: 2.1rem;
  }
  .campaign .intro_txt {
    font-size: 20px;
  }
  .form .custum-check-box .form-blockField--checkbox {
    padding-left: 85px;
    padding-right: 85px;
  }
  .form .custum-check-box .form-blockField--checkbox p {
    font-size: 19px;
    line-height: 22px;
  }
}

@media (min-width: 1200px) {
  .campaign h2 {
    font-size: 2.75rem;
  }
  .order-pack {
    max-width: 800px;
    font-size: 40px;
  }
  .campaign .intro_txt {
    font-size: 22px;
    margin-bottom: 2em;
  }
  .campaign .btn-full-block {
    font-size: 16px;
  }
  .campaign .left-content {
    padding: 30px 60px;
  }
  .campaign .campaign-description h3 {
    margin-bottom: 10px;
    font-size: 1.5rem;
  }
  .campaign .campaign-description p {
    line-height: 1.2em;
  }
}

@media only screen and (max-width: 1300px) {
  .campaign .header-p {
    font-size: 1.0em;
    line-height: 1.1em;
  }
  .sh-large-screen.right-block-width img {
    height: auto;
    max-height: 100%;
  }
}

.min-2 {
  min-height: 2em;
}

.mb-25 {
  margin-bottom: 25px;
}

.img-border-wrap {
  border-top: 4px solid #003c69;
  border-bottom: 4px solid #fcc400;
  border-radius: 4px;
  overflow: hidden;
}

.img-border-wrap img {
  display: block;
}

.big-red-fontsize {
  font-size: 2.8125rem;
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
  color: #c4262e;
}

.athlete-details {
  max-width: 585px;
  font-size: 22px;
  line-height: 26px;
}

.athlete-details strong {
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
}

.athlete-block-title {
  font-size: 38px;
  font-family: "AvantGardeGothic-Bold", Arial, sans-serif;
}

.athlete-in-a-day table {
  width: 100%;
  background-color: #f5f5f5;
  padding: 15px;
}

.athlete-in-a-day table tbody {
  vertical-align: top;
  font-size: 22px;
}

.athlete-in-a-day table tbody tr p {
  font-size: 23px;
  line-height: 30px;
  margin: 0px;
}

.athlete-in-a-day table tbody tr td {
  padding-bottom: 10px;
}

.athlete-in-a-day table tbody tr td:nth-child(1) {
  color: #c4262e;
  min-width: 180px;
}

.quote-wrap::after {
  content: "";
  position: absolute;
  bottom: -39px;
  left: 40px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 40px 65px 0 0;
  border-color: #c4262e transparent transparent transparent;
  line-height: 0px;
  _border-color: #c4262e #000000 #000000 #000000;
  _filter: progid:DXImageTransform.Microsoft.Chroma(color='#000000');
}

.quote-wrap {
  position: relative;
  background-color: #c4262e;
  color: #ffffff;
  padding: 30px;
}

.quote-wrap p {
  font-size: 20px;
}

.quotes-l {
  font-family: "AvantGardeGothic-Bold", Arial, Sans-Serif;
  font-size: 97px;
  display: block;
  line-height: 65px;
  height: 35px;
}

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

.athlete-block-repeater .card__content {
  color: #050050;
}

.athlete-block-repeater .card__content p {
  margin-top: 10px;
}

.athlete-block-repeater .bg-yellow .card__content {
  color: #003c69;
}

.athlete-block-repeater .card:nth-child(4n) {
  margin-right: 0px;
}

@media screen and (max-width: 1365px) {
  .home__tab--heading, .big-red-fontsize {
    font-size: 2rem;
  }
  .athlete-details {
    font-size: 18px;
    line-height: 20px;
  }
  .athlete-block-title {
    font-size: 30px;
  }
  .athlete-in-a-day table tbody {
    font-size: 18px;
  }
  .athlete-in-a-day table tbody tr p {
    font-size: 18px;
    line-height: 26px;
  }
  .quote-wrap p {
    font-size: 16px;
  }
  .quotes-l {
    font-size: 75px;
  }
  .quote-wrap {
    padding: 15px;
  }
  .quote-wrap::after {
    content: "";
    position: absolute;
    bottom: -29px;
    left: 30px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 55px 0 0;
    border-color: #c4262e transparent transparent transparent;
    line-height: 0px;
    _border-color: #c4262e #000000 #000000 #000000;
    _filter: progid:DXImageTransform.Microsoft.Chroma(color='#000000');
  }
}

@media screen and (max-width: 959px) {
  .athlete-block-repeater .min-2 {
    min-height: auto;
  }
  .athlete-block-repeater .min-3 {
    min-height: auto;
  }
  .athlete-block-title {
    margin-top: 30px;
  }
  .quote-wrap {
    margin-bottom: 60px;
  }
  .athlete-block-repeater .card:nth-child(2n) {
    margin-right: 0px;
  }
}

@media screen and (max-width: 768px) {
  .athlete-in-a-day table tbody tr td:nth-child(1) {
    min-width: 125px;
  }
}

@media screen and (max-width: 580px) {
  .mb-25 {
    margin-bottom: 15px;
  }
  .home__tab--heading, .big-red-fontsize {
    font-size: 1.4rem;
  }
  .athlete-details {
    font-size: 16px;
    line-height: 16px;
  }
  .athlete-block-title {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 24px;
  }
  .athlete-in-a-day table tbody tr td:nth-child(1) {
    min-width: 80px;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZ2xvYmFsL19zZXR0aW5ncy5zY3NzIiwid2VicGFjazovLy9zdHlsZXMuc2NzcyIsIndlYnBhY2s6Ly8vZ2xvYmFsL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vZ2xvYmFsL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vL2dsb2JhbC9fYmFzZS5zY3NzIiwid2VicGFjazovLy8uLi9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3MiLCJ3ZWJwYWNrOi8vL2dsb2JhbC9fc3ByaXRlLnNjc3MiLCJ3ZWJwYWNrOi8vL2dsb2JhbC9fdXRpbGl0aWVzLnNjc3MiLCJ3ZWJwYWNrOi8vL2dsb2JhbC9fYXRvbWljcy5zY3NzIiwid2VicGFjazovLy9nbG9iYWwvX3ByaW50LnNjc3MiLCJ3ZWJwYWNrOi8vL2xheW91dC9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3JlbS5zY3NzIiwid2VicGFjazovLy8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fY2xlYXJmaXguc2NzcyIsIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3NwYW4uc2NzcyIsIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX2RpcmVjdGlvbi5zY3NzIiwid2VicGFjazovLy8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ3V0dGVycy5zY3NzIiwid2VicGFjazovLy8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fcm93cy5zY3NzIiwid2VicGFjazovLy9sYXlvdXQvX2hlYWRlci5zY3NzIiwid2VicGFjazovLy9sYXlvdXQvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19tYXRlcmlhbC1pY29ucy5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19ob21lLnNjc3MiLCJ3ZWJwYWNrOi8vL21vZHVsZXMvX2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vL21vZHVsZXMvX3BhZGRlZC1saW5rcy5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vL21vZHVsZXMvX25hdmlnYXRpb24tYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vL21vZHVsZXMvX2hlcm8uc2NzcyIsIndlYnBhY2s6Ly8vbW9kdWxlcy9faG9tZWdyb3duX2hlcm9lcy5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19tYWlubmF2LnNjc3MiLCJ3ZWJwYWNrOi8vL21vZHVsZXMvX3RvcG5hdi5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19pbnRyby5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19yZWdpc3Rlci5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19zY2hvb2wuc2NzcyIsIndlYnBhY2s6Ly8vbW9kdWxlcy9fc2VhcmNoLWNvbW11bml0eS5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19wYW5lbC5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19xdWljay1mYWN0cy5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL190d2l0dGVyLnNjc3MiLCJ3ZWJwYWNrOi8vL21vZHVsZXMvX3VwbG9hZGlmeS5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL192aWRlby5zY3NzIiwid2VicGFjazovLy8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fc2hhcmVkLnNjc3MiLCJ3ZWJwYWNrOi8vL21vZHVsZXMvX3Jlc291cmNlcy5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19zLXVnYy5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly8vbW9kdWxlcy9fYnRuLnNjc3MiLCJ3ZWJwYWNrOi8vL21vZHVsZXMvX2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly8vbW9kdWxlcy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19vdmVycmlkZXMuc2NzcyIsIndlYnBhY2s6Ly8vbW9kdWxlcy9fbGFuZGluZ19wYWdlcy5zY3NzIiwid2VicGFjazovLy9tb2R1bGVzL19hdGhsZXRlX2xhbmRpbmcuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyREE7RUFDRSx5QkF4QnFCO0FDOUJ2Qjs7QUR5REE7RUFDRSx5QkEzQnVCO0FDM0J6Qjs7QUR5REE7RUFDRSxzQkFuQ1U7QUNuQlo7O0FEeURBO0VBQ0UseUJBL0JjO0FDdkJoQjs7QUR5REE7RUFDRSx5QkEvQlc7QUN2QmI7O0FEeURBO0VBQ0UseUJBckNjO0FDakJoQjs7QUR5REE7RUFDRSx5QkFBeUI7QUN0RDNCOztBRHlEQTtFQUNFLGNBcERxQjtBQ0Z2Qjs7QUR5REE7RUFDRSxjQXZEdUI7QUNDekI7O0FEeURBO0VBQ0UsV0EvRFU7QUNTWjs7QUQyREE7QUFDQTtBQUNBO0FBR0E7QUU5RkE7Ozs7Ozs7Ozs7RUQ4Q0U7QUVuREY7RUFDSSw2QkFBNkI7RUFDN0Isa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQiw0TEFFK0Q7QUZtRG5FOztBRWhEQTtFQUNJLG9DQUFvQztFQUNwQyw0Q0FBK0Y7RUFDL0YscU9BQW1jO0VBQ25jLGdCQUFnQjtFQUNoQixrQkFBa0I7QUZtRHRCOztBRWhEQTtFQUNJLDJDQUEyQztFQUMzQyw0Q0FBK0Y7RUFDL0Ysc09BQWtjO0VBQ2xjLGdCQUFnQjtFQUNoQixrQkFBa0I7QUZtRHRCOztBRWhEQTtFQUNJLG9DQUFvQztFQUNwQyw2Q0FBZ0c7RUFDaEcseU9BQW1jO0VBQ25jLGdCQUFnQjtFQUNoQixrQkFBa0I7QUZtRHRCOztBRWhEQTtFQUNJLHVEQXZDdUQ7QUYwRjNEOztBRzVGQTtBQUNBO0VBQ0ksc0JBQXNCO0FIK0YxQjs7QUc1RkE7RUFDSSxtQkFBbUI7QUgrRnZCOztBRzVGQTtFQUNJLGFBQWE7QUgrRmpCOztBR3hHQTtFQWFJLFlBQVk7RUFDWixnQkFBZ0I7QUgrRnBCOztBRzVGQTtFQUNJLFNBQVM7RUFDVCxVQUFVO0VBQ1YsdUREbEIwRDtFREsxRCxlRWN1QjtFRmJ2QixlQUx1QjtFRW1CdkIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixjSldtQjtBQ3FGdkI7O0FHN0ZBO0VBQ0ksbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsdUREN0IwRDtFQzhCMUQsYUFBYTtBSGdHakI7O0FHN0ZBO0VGNUJJLGVFNkJ1QjtFRjVCdkIsaUJBTHVCO0FEa0kzQjs7QUc5RkE7RUZoQ0ksZUVpQ3VCO0VGaEN2QixlQUx1QjtBRHVJM0I7O0FJM0VJO0VEeEJKO0lGaENJLGVFbUMyQjtJRmxDM0IsbUJBTHVCO0VENkl6QjtBQUNGOztBSWxGSTtFRHhCSjtJRmhDSSxlRXNDMkI7SUZyQzNCLGtCQUx1QjtFRG9KekI7QUFDRjs7QUd2R0E7RUYxQ0ksZUUyQ3VCO0VGMUN2QixlQUx1QjtBRDBKM0I7O0FJOUZJO0VEZEo7SUYxQ0ksZUU2QzJCO0lGNUMzQixtQkFMdUI7RURnS3pCO0FBQ0Y7O0FJckdJO0VEZEo7SUYxQ0ksZUVnRDJCO0lGL0MzQixvQkFMdUI7RUR1S3pCO0FBQ0Y7O0FHaEhBO0VGcERJLGVFcUR1QjtFRnBEdkIsZUFMdUI7QUQ2SzNCOztBR2pIQTtFQUNJLGtCQUFrQjtBSG9IdEI7O0FHakhBO0VBQ0ksY0FBYztBSG9IbEI7O0FHakhBO0VBQ0ksa0JBQWtCO0VGakVsQixlRWtFdUI7RUZqRXZCLG9CQUx1QjtBRDJMM0I7O0FHdkhBO0VBSUssb0JBQW9CO0FIdUh6Qjs7QUduSEE7RUZ4RUksZUV5RXVCO0VGeEV2QixvQkFMdUI7QURvTTNCOztBR3BIQTtFQUNJLFlBQVk7RUFDWixhQUFhO0FIdUhqQjs7QUdwSEE7RUFDQyxXQUFXO0VBQ1gsVUFBVTtFQUNWLDJCQUEyQjtFRnBGeEIsZUVxRm9CO0VGcEZwQixvQkFMdUI7RUUwRjFCLGtCQUFrQjtFQUNsQixrQkFBa0I7QUh3SG5COztBS3JOQTtpRUx3TmlFO0FLOU1qRTtFQUVFLHFCQUFvQjtFQUNwQixzQkFBc0I7RUFHdEIsbUNBQW1DO0VBQ25DLGdDQUFnQztFQUNoQywyQkFBMkI7RUFHM0IsMERBQWdEO0VBQ2hELDRCQUE0QjtBTDJNOUI7O0FLdk1DO0VBaEJEO0lBcUJJLDBEQUFtRDtJQUNuRCxzQkFBc0I7RUx1TXhCO0FBQ0Y7O0FLbk1BO0FBS0U7QUFDQTtFQUVFLDRCQUFrQztBTGlNdEM7O0FLcE1FO0FBQ0E7RUFFRSw0QkFBa0M7QUxzTXRDOztBS3pNRTtBQUNBO0VBRUUsNEJBQWtDO0FMMk10Qzs7QUs5TUU7QUFDQTtFQUVFLDZCQUFrQztBTGdOdEM7O0FLbk5FO0FBQ0E7RUFFRSw2QkFBa0M7QUxxTnRDOztBS3hORTtBQUNBO0VBRUUsNkJBQWtDO0FMME50Qzs7QUs3TkU7QUFDQTtFQUVFLDZCQUFrQztBTCtOdEM7O0FNMVFBO0VBQ0ksZ0JBQWdCO0FONlFwQjs7QU0xUUE7RUFDSSxpQkFBaUI7QU42UXJCOztBTTFRQTtFQUNJLGtCQUFrQjtFQUNsQixjQUFjO0FONlFsQjs7QU0xUUE7RUFDSSxXQUFXO0FONlFmOztBTTFRQTtFQUNJLFlBQVk7QU42UWhCOztBTTFRQTtHTjZRRSxPQzVRVTtBRDZRWjs7QUM1UUk7RUFFSSxZQUFZO0VBQUU7RUFDZCxjQUFjO0VBQUU7QURnUnhCOztBQzdRSTtFQUNJLFdBQVc7QURnUm5COztBTXJSQTtFQUNJLFdBQVc7QU53UmY7O0FNclJBO0VBQ0ksa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixtQ0FBbUM7RUFDbkMsK0JBQStCO0VBQy9CLDJCQUEyQjtFQUMzQixTQUFTO0FOd1JiOztBTXJSQTtFQUNJLGdCQUFnQjtFQUNoQixTQUFTO0VBQ1QsZ0NBQWdDO0VBQ2hDLDRCQUE0QjtFQUM1Qix3QkFBd0I7RUFDeEIsU0FBUztBTndSYjs7QU1qUkE7RUFDSSxTQUFTO0VBQ1QsVUFBVTtFQUNWLGdCQUFnQjtBTm9ScEI7O0FNalJBO0VBQ0ksa0JBQWtCO0FOb1J0Qjs7QU1sUkE7RUFDSSxvQkFBb0I7QU5xUnhCOztBTWxSQTtFQUNJLGtCQUFrQjtFQUNsQixpQkFBaUI7QU5xUnJCOztBTWxSQTtFQUNJLHdCQUF3QjtBTnFSNUI7O0FNbFJBO0VBQ0ksd0JBQXVCO0FOcVIzQjs7QU1sUkE7RUFDSSx3QkFBd0I7RUFDeEIsNEJBQTRCO0VBQzVCLDJCQUEyQjtBTnFSL0I7O0FNbFJBO0VBQ0ksc0JBQXNCO0VBQ3RCLDRCQUE0QjtFQUM1QiwyQkFBMkI7QU5xUi9COztBTWxSQTtFQUNJLHNCQUFzQjtBTnFSMUI7O0FNbFJBO0VBQ0ksNEJBQTRCO0VBQzVCLDZCQUE2QjtBTnFSakM7O0FJeFRJO0VFMkNBO0lBQ0ksa0JBQWtCO0VOaVJ4QjtFTS9RRTtJQUNJLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsbUNBQW1DO0lBQ25DLCtCQUErQjtJQUMvQiwyQkFBMkI7SUFDM0IsU0FBUztFTmlSZjtFTS9RRTtJQUNJLGFBQWE7RU5pUm5CO0FBQ0Y7O0FJelVJO0VFNERBO0lBQ0ksYUFBYTtFTmlSbkI7QUFDRjs7QU8vWUE7RUFDRSxrQkFBa0I7QVBrWnBCOztBT25aQTtFQUlJLGNBQWM7RUFDZCxXQUFXO0VBQ1gsV0FBVztBUG1aZjs7QU9oWkU7RUFDRSxnQkFBZ0I7QVBtWnBCOztBT2paRTtFQUNFLGdCQUFnQjtBUG9acEI7O0FPbFpFO0VBQ0UsZ0JBQWdCO0FQcVpwQjs7QU9uWkU7RUFDRSxnQkFBZ0I7QVBzWnBCOztBT3BaRTtFQUNFLGdCQUFnQjtBUHVacEI7O0FPclpFO0VBQ0UsZ0JBQWdCO0FQd1pwQjs7QU90WkU7RUFDRSxlQUFlO0FQeVpuQjs7QU92WkU7RUFDRSxnQkFBZ0I7QVAwWnBCOztBSXpYSTtFR2xDRjtJQUlJLGdCQUFnQjtFUDRacEI7QUFDRjs7QUkvWEk7RUdsQ0Y7SUFPSSxnQkFBZ0I7RVArWnBCO0FBQ0Y7O0FJcllJO0VHbENGO0lBVUksZ0JBQWdCO0VQa2FwQjtBQUNGOztBT2hhRTtFQUNFLGdCQUFnQjtBUG1hcEI7O0FPaGFBO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsaUJBQWlCO0FQbWFuQjs7QU9oYUE7RUFDRSxTQUFTO0FQbWFYOztBT2hhQTtFQUNFLGVBQWU7QVBtYWpCOztBT2hhQTtFQUNFLGVBQWU7QVBtYWpCOztBT2hhQTtFQUNFLDJCQUEyQjtBUG1hN0I7O0FPaGFBO0VBQ0Usb0JBQW9CO0FQbWF0Qjs7QU9oYUE7RUFDRSxrQkFBa0I7QVBtYXBCOztBT2hhQTtFQUNFLGtCQUFrQjtBUG1hcEI7O0FPaGFBO0VBQ0UscUJBQXFCO0FQbWF2Qjs7QU9oYUE7RUFDRSxjQUFjO0FQbWFoQjs7QU9qYUE7RUFDRSxZQUFZO0FQb2FkOztBT2xhQTtFQUNFLFlBQVk7QVBxYWQ7O0FPbmFBO0VBQ0UsWUFBWTtBUHNhZDs7QU9wYUE7RUFDRSxZQUFZO0FQdWFkOztBT3BhQTtFQUNFLGFBQWE7QVB1YWY7O0FJamRJO0VHNkNKO0lBRUksVUFBVTtFUHVhWjtBQUNGOztBSXZkSTtFR21ESjtJQUVJLFlBQVk7RVB1YWQ7QUFDRjs7QU9wYUE7RUFDRSxvQkFDRjtBUHNhQTs7QU9wYUE7RUFDRSxrQkFDRjtBUHNhQTs7QUlyZUk7RUdpRUo7SUFFSSxrQkFBa0I7RVB1YXBCO0FBQ0Y7O0FPcGFBO0VBQ0UscUJBQXFCO0FQdWF2Qjs7QU9wYUE7RUFDRSxrQkFBa0I7QVB1YXBCOztBT3BhQTtFQUNFLGlCQUFpQjtBUHVhbkI7O0FJdmZJO0VHbUZKO0lBRUksZ0JBQWdCO0VQdWFsQjtBQUNGOztBT3JhQTtFQUNFLGtCQUFrQjtBUHdhcEI7O0FPcmFBO0VBQ0UsZ0JBQWdCO0FQd2FsQjs7QU9yYUE7RUFDRSxnQkFBZ0I7QVB3YWxCOztBT3JhQTtFQUNFLGtCQUFrQjtBUHdhcEI7O0FPcmFBO0VBQ0UsbUJBQW1CO0FQd2FyQjs7QU9yYUE7RUFDRSxnQkFBZ0I7QVB3YWxCOztBT3JhQTtFQUNFLGVBQWU7QVB3YWpCOztBT3JhQTtFQUNFLG1CQUFtQjtBUHdhckI7O0FPcmFBO0VBQ0UsbUJBQW1CO0FQd2FyQjs7QU9yYUE7RUFDRSxZQUFZO0FQd2FkOztBT3RhQTtFQUNFLGVBQWU7QVB5YWpCOztBT3ZhQTtFQUNFLGVBQWU7QVAwYWpCOztBT3ZhQTtFQUNFLGdCQUFnQjtBUDBhbEI7O0FPdmFBO0VBQ0UsNkJSdktxQjtBQ2lsQnZCOztBUXJuQkE7RUFDRTtJQUNFLHdCQUF3QjtFUnduQjFCO0FBQ0Y7O0FTem5CQTtFQUNJLGtCQUFrQjtBVDRuQnRCOztBUzduQkE7RUFJSyxvQkFBb0I7QVQ2bkJ6Qjs7QVN6bkJBO0VBQ0ksZ0JWaUd3QztBQzJoQjVDOztBU3puQkE7RUNLSSxpQlg0RnlDO0VXNUZ6QyxpQkNxRG9DO0VEckRwQyxrQkNxRG1FO0VGeERuRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixjQUFjO0VBQ2QsbUJBQW1CO0FUOG5CdkI7O0FZdm9CSTtFQUNFLFlBQVk7RUFDWixjQUFjO0VBQ2QsV0FBVztBWjBvQmpCOztBUzFvQkE7RUFRUSwrRUFBNEU7RUFDNUUsZ0JBQWdCO0FUc29CeEI7O0FZbHBCSTtFSGVJLFlBQVk7RUFDWixjQUFjO0VBQ2QsV0FBVztBVHVvQm5COztBU3JwQkE7RUFpQlEsVUFBVTtBVHdvQmxCOztBU3pwQkE7RUFvQlEsa0JBQWtCO0FUeW9CMUI7O0FTN3BCQTtFQXVCUSxnQkFBZ0I7QVQwb0J4Qjs7QVNqcUJBO0VBMEJRLGFBQWE7QVQyb0JyQjs7QVNycUJBO0VBNkJRLGFBQWE7QVQ0b0JyQjs7QUl2bkJJO0VLbERKO0lBb0NRLGVBQWU7RVQwb0JyQjtBQUNGOztBSTduQkk7RUtUQTtJQ3BDQSxpQlg0RnlDO0lXNUZ6QyxpQkNxRG9DO0lEckRwQyxrQkNxRG1FO0lGZi9ELGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGNBQWM7RVQ0b0JwQjtFWTdyQkU7SUFDRSxZQUFZO0lBQ1osY0FBYztJQUNkLFdBQVc7RVorckJmO0VZbHNCRTtJSG1EUSxZQUFZO0lBQ1osY0FBYztJQUNkLFdBQVc7RVRrcEJyQjtFUzlvQkQ7SUFHSyxpQkFBaUI7SUFDakIsa0JBQWtCO0VUOG9CdEI7QUFDRjs7QVMxb0JBO0VBQ0ksaUJBQWlCO0VBQ2pCLGtCQUFrQjtBVDZvQnRCOztBSTVwQkk7RUthSjtJQU9RLFlBQVk7RVQ2b0JsQjtBQUNGOztBUzFvQkE7QUFFQTtBQUNBO0VDeEVJLGdCR3dJMEM7RUh4STFDLFdJQTREO0VKQTVELHNCSzREOEU7QWYycEJsRjs7QVM1b0JBO0VDM0VJLGdCR3dJMEM7RUh4STFDLFdJQTREO0VKQTVELHNCSzREOEU7QWZpcUJsRjs7QVMvb0JBO0VDOUVJLGdCR3dJMEM7RUh4STFDLFdJQTREO0VKQTVELHNCSzREOEU7QWZ1cUJsRjs7QVNycEJBO0VDOUVJLFlJQXVFO0VKQXZFLGVNaURzQztBaEJ1ckIxQzs7QVNwcEJBO0VDcEZJLGdCR3dJMEM7RUh4STFDLFdJQTREO0VKQTVELHNCSzREOEU7QWZrckJsRjs7QVN0cEJBO0VDeEZJLGdCR3dJMEM7RUh4STFDLFdJQTREO0VKQTVELHNCSzREOEU7QWZ3ckJsRjs7QVN4cEJBO0VDNUZJLGdCR3dJMEM7RUh4STFDLFdJQTREO0VKQTVELHNCSzREOEU7QWY4ckJsRjs7QVMxcEJBO0VDaEdJLFdHd0kwQztFSHhJMUMsV0lBNEQ7RUpBNUQsY0crRXFCO0VIL0VyQixlR2tGb0I7QWIrcUJ4Qjs7QVM3cEJBO0VDcEdJLFlJQXVFO0VKQXZFLGVNaURzQztBaEJxdEIxQzs7QVM5cEJBO0VBQ0ksYUFBYTtBVGlxQmpCOztBUzlwQkE7RUFDSSx3QkFBd0I7QVRpcUI1Qjs7QVM5cEJBO0VBQ0ksY0FBYztBVGlxQmxCOztBUzlwQkE7RUFDSSxxQkFBcUI7QVRpcUJ6Qjs7QVM1cEJBO0VDMUhJLFdEMkhrQjtFQzNIbEIsV0lBNEQ7QWQyeEJoRTs7QVM3cEJBO0VDOUhJLFVEK0hpQjtFQy9IakIsV0lBNEQ7QWRneUJoRTs7QVM5cEJBO0VDbElJLFVEbUlpQjtFQ25JakIsV0lBNEQ7QWRxeUJoRTs7QVMvcEJBO0VDdElJLFVEdUlpQjtFQ3ZJakIsV0lBNEQ7QWQweUJoRTs7QVNocUJBO0VDMUlJLFVEMklpQjtFQzNJakIsV0lBNEQ7QWQreUJoRTs7QVNscUJBO0VDN0lJLFVEOElpQjtFQzlJakIsV0lBNEQ7QWRvekJoRTs7QUl2d0JJO0VLc0dBO0lBQ0ksYUFBYTtFVHFxQm5CO0VTbnFCRTtJQUNJLGNBQWM7RVRxcUJwQjtFU25xQkU7SUFDSSxxQkFBcUI7RVRxcUIzQjtFU25xQkU7SUM1SkEsV0d3STBDO0lIeEkxQyxXSUE0RDtJSkE1RCxjRytFcUI7SUgvRXJCLGVHa0ZvQjtFYm12QnRCO0VTdHFCRTtJQy9KQSxnQkd3STBDO0lIeEkxQyxXSUE0RDtJSkE1RCxzQks0RDhFO0VmOHdCaEY7RVN4cUJFO0lDbEtBLGdCR3dJMEM7SUh4STFDLFdJQTREO0lKQTVELHNCSzREOEU7RWZteEJoRjtFUzFxQkU7SUNyS0EsZ0JHd0kwQztJSHhJMUMsV0lBNEQ7SUpBNUQsc0JLNEQ4RTtFZnd4QmhGO0VTNXFCRTtJQ3hLQSxnQkd3STBDO0lIeEkxQyxXSUE0RDtJSkE1RCxzQks0RDhFO0VmNnhCaEY7RVM5cUJFO0lDM0tBLGdCR3dJMEM7SUh4STFDLFdJQTREO0lKQTVELHNCSzREOEU7RWZreUJoRjtFUzdxQkU7SUNqTEEsV0RrTHNCO0lDbEx0QixXSUE0RDtFZGsyQjlEO0VTN3FCRTtJQ3JMQSxVRHNMcUI7SUN0THJCLFdJQTREO0VkczJCOUQ7RVM5cUJFO0lDeExBLGFEeUx3QjtJQ3pMeEIsV0lBNEQ7RWQwMkI5RDtFUy9xQkU7SUMzTEEsYUQ0THdCO0lDNUx4QixXSUE0RDtFZDgyQjlEO0VTL3FCRTtJQy9MQSxVRGdNcUI7SUNoTXJCLFdJQTREO0VkazNCOUQ7RVMvcUJFO0lDbk1BLFVEb01xQjtJQ3BNckIsV0lBNEQ7RWRzM0I5RDtFU2hyQkU7SUN0TUEsWUlBdUU7SUpBdkUsZU1pRHNDO0VoQnkwQnhDO0FBQ0Y7O0FJOTBCSTtFSytKQTtJQUNJLGFBQWE7RVRtckJuQjtFU2pyQkU7SUFDSSxjQUFjO0VUbXJCcEI7RVNqckJFO0lBQ0kscUJBQXFCO0VUbXJCM0I7RVNqckJFO0lDck5BLFdHd0kwQztJSHhJMUMsV0lBNEQ7SUpBNUQsY0crRXFCO0lIL0VyQixlR2tGb0I7RWIwekJ0QjtFU3ByQkU7SUN4TkEsZ0JHd0kwQztJSHhJMUMsV0lBNEQ7SUpBNUQsc0JLNEQ4RTtFZnExQmhGO0VTdHJCRTtJQzNOQSxnQkd3STBDO0lIeEkxQyxXSUE0RDtJSkE1RCxzQks0RDhFO0VmMDFCaEY7RVN2ckJFO0lDL05BLGdCR3dJMEM7SUh4STFDLFdJQTREO0lKQTVELHNCSzREOEU7RWYrMUJoRjtFU3pyQkU7SUNsT0EsVURtT3FCO0lDbk9yQixXSUE0RDtFZCs1QjlEO0VTMXJCRTtJQ3JPQSxnQkd3STBDO0lIeEkxQyxXSUE0RDtJSkE1RCxzQks0RDhFO0VmdzJCaEY7RVN6c0JFO0lDM05BLGdCR3dJMEM7SUh4STFDLFdJQTREO0lKQTVELHNCSzREOEU7RWY2MkJoRjtFUzlyQkU7SUMzT0EsZ0JHd0kwQztJSHhJMUMsV0lBNEQ7SUpBNUQsc0JLNEQ4RTtFZmszQmhGO0VTaHNCRTtJQzlPQSxnQkd3STBDO0lIeEkxQyxXSUE0RDtJSkE1RCxzQks0RDhFO0VmdTNCaEY7RVNsc0JFO0lDalBBLGdCR3dJMEM7SUh4STFDLFdJQTREO0lKQTVELHNCSzREOEU7RWY0M0JoRjtFU3BzQkU7SUNwUEEsZ0JHd0kwQztJSHhJMUMsV0lBNEQ7SUpBNUQsc0JLNEQ4RTtFZmk0QmhGO0VTdHNCRTtJQ3ZQQSxnQkd3STBDO0lIeEkxQyxXSUE0RDtJSkE1RCxzQks0RDhFO0VmczRCaEY7RVN2c0JFO0lDM1BBLFlJQXVFO0lKQXZFLGVNaURzQztFaEJxNUJ4QztFU3hzQkU7SUFDSSxVQUFVO0VUMHNCaEI7RVN4c0JFO0lDalFBLFlJQXVFO0lKQXZFLGVNaURzQztFaEI0NUJ4QztFUzVzQkU7SUNqUUEsWUlBdUU7SUpBdkUsZU1pRHNDO0VoQmc2QnhDO0VTaHRCRTtJQ2pRQSxZSUF1RTtJSkF2RSxlTWlEc0M7RWhCbzZCeEM7QUFDRjs7QUl6NkJJO0VLd09BO0lDclJBLGdCR3dJMEM7SUh4STFDLFdJQTREO0lKQTVELHNCSzREOEU7RWZpNkJoRjtFU3JzQkU7SUN4UkEsZ0JHd0kwQztJSHhJMUMsV0lBNEQ7SUpBNUQsc0JLNEQ4RTtFZnM2QmhGO0FBQ0Y7O0FJdDdCSTtFS2lQQTtJQzlSQSxnQkd3STBDO0lIeEkxQyxXSUE0RDtJSkE1RCxzQks0RDhFO0VmODZCaEY7RVN6c0JFO0lDalNBLGdCR3dJMEM7SUh4STFDLFdJQTREO0lKQTVELHNCSzREOEU7RWZtN0JoRjtBQUNGOztBSW44Qkk7RUswUEE7SUN2U0EsWUlBdUU7SUpBdkUsZU1pRHNDO0VoQnE4QnhDO0VTL3NCRTtJQ3ZTQSxZSUF1RTtJSkF2RSxlTWlEc0M7RWhCeThCeEM7QUFDRjs7QWlCOWdDQTtFQUNDLGtCQUFrQjtFQUVsQixzQmxCOEJXO0VrQjdCWCxlQUFlO0FqQmdoQ2hCOztBaUJwaENBO0VBT0UsY0FBYztFQUNkLFVBQVU7RUFDVixrQkFBa0I7QWpCaWhDcEI7O0FpQjFoQ0E7RUFXWSxVQUFVO0VBQ1YsbUJBQW1CO0VBQzVCLHNCbEJvQlM7QUMrL0JaOztBSWgrQkk7RWFoRUo7SUFlSSxVQUFVO0VqQnNoQ1o7QUFDRjs7QWlCdGlDQTtFQXFCRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixXQUFXO0VBQ1gsYUFBYTtBakJxaENmOztBSTkrQkk7RWFoRUo7SUE0QkcsY0FBYztJQUNkLFNBQVM7RWpCdWhDVjtBQUNGOztBSXIvQkk7RWFoRUo7SUFpQ0csUUFBUTtFakJ5aENUO0FBQ0Y7O0FpQjNqQ0E7RUFzQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsV0FBVztFQUNYLGFBQWE7QWpCeWhDZjs7QUluZ0NJO0VhaEVKO0lBNkNHLGNBQWM7RWpCMmhDZjtBQUNGOztBaUJ6a0NBO0VBa0RFLFdBQVc7RUFDWCxXQUFXO0VBQ1gsWUFBWTtFQUNaLFdBQVc7RUFDWCxNQUFNO0VBQ04sT0FBTztFQUNQLGtCQUFrQjtFQUVsQixxQkFBcUI7QWpCMGhDdkI7O0FJcGhDSTtFYWhFSjtJQTRERyxXQUFXO0VqQjZoQ1o7QUFDRjs7QWlCMWxDQTtFQWdFRSxXQUFXO0VBQ1gsV0FBVztFQUNYLFlBQVk7RUFDWixZQUFZO0VBQ1osTUFBTTtFQUNOLFFBQVE7RUFDUixrQkFBa0I7RUFFbEIscUJBQXFCO0FqQjZoQ3ZCOztBSXJpQ0k7RWFoRUo7SUEwRUcsV0FBVztFakJnaUNaO0FBQ0Y7O0FJM2lDSTtFYWhFSjtJQW9GSSxnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQiwrQkFBK0I7SUFDL0IsZ0NBQWdDO0lBQ2hDLDRFaEJka0I7RUQwaUNwQjtBQUNGOztBa0J0bkNBO0VBQ0ksa0JBQWtCO0FsQnluQ3RCOztBa0IxbkNBO0VBR1EscUJBQXFCO0VBQ3JCLFlBQVk7RUFDWixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLG1CQUFtQjtBbEIybkMzQjs7QWtCdm5DQTtFQUNJLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLHlCbkJrQm1CO0VtQmpCbkIsV25CY1E7RW1CYlIsa0JBQWtCO0VqQlpsQixlaUJhdUI7RWpCWnZCLG9CQUx1QjtFaUJrQnZCLHVEaEJuQjBEO0VnQm9CMUQsZUFBZTtBbEIybkNuQjs7QWtCcG9DQTtFQVdRLFdBQVc7RUFDWCxjQUFjO0FsQjZuQ3RCOztBa0J6b0NBO0VBZVEsZ0JBQWdCO0VBQ2hCLFdBQVc7QWxCOG5DbkI7O0FrQjlvQ0E7RUFtQlEsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsT0FBTztFQUNQLFdBQVc7RUFDWCxZQUFZO0VBQ1osNEVBQW1GO0VBQ25GLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsV0FBVztFQUNYLGFBQWE7QWxCK25DckI7O0FrQjFuQ0k7RUFDSSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLFNBQVM7QWxCNm5DakI7O0FJaG5DSTtFY2hFSjtJQTBEUSxnQkFBZ0I7RWxCMm5DdEI7RWtCcnJDRjtJQTREWSxxQkFBcUI7SUFDckIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixnQkFBZ0I7RWxCNG5DMUI7RWtCN3FDRjtJQXNEUSxnQkFBZ0I7RWxCMG5DdEI7RWtCaHJDRjtJQXdEWSxlQUFlO0lBQ2YsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsbUJBQW1CO0VsQjJuQzdCO0VrQnZyQ0Y7SUErRFksZUFBZTtJQUNmLGtCQUFrQjtFbEIybkM1QjtFa0J0b0NFO0lBYWEsNEJuQi9DTDtJbUJnREssbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixlQUFlO0VsQjRuQzlCO0VrQjVvQ0U7SUFrQmlCLFlBQVk7SUFDWixTQUFTO0lBQ1QsVUFBVTtFbEI2bkM3QjtFa0JqcENFO0lBd0JZLHFCQUFxQjtFbEI0bkNuQztFa0J6c0NGO0lBaUZhLGNBQWM7RWxCMm5DekI7QUFDRjs7QUkzcENJO0VjaEVKO0lBdUdRLGlCQUFpQjtFbEJ5bkN2QjtBQUNGOztBSWpxQ0k7RWNsREo7SUFnR1ksV0FBVztJQUNYLGtCQUFrQjtFbEJ3bkM1QjtFa0J6dENGO0lBb0dZLFdBQVc7RWxCd25DckI7QUFDRjs7QW1CM3VDQTtFQUNJLDZCQUE2QjtFQUM3QixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFBRztFQUNsQixxQkFBcUI7RUFDckIsY0FBYztFQUNkLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsc0JBQXNCO0VBQ3RCLGlCQUFpQjtFQUNqQjtFQUNBLG1DQUFtQztFQUNuQztFQUNBLGtDQUFrQztFQUVsQztFQUNBLGtDQUFrQztFQUVsQztFQUNBLDZCQUE2QjtBbkI2dUNqQzs7QW9CandDQTtFbkJRSSxlbUJQcUI7RW5CUXJCLGVBTHVCO0VtQkZ6Qix1RGxCQXlEO0VrQkN6RCw0QkFBNEI7QXBCcXdDOUI7O0FvQmx3Q0E7RW5CRUksZW1CRHFCO0VuQkVyQixvQkFMdUI7RW1CSXpCLHVEbEJOeUQ7RWtCT3pELDJCQUNGO0FwQnF3Q0E7O0FvQm53Q0E7RUFDRSxrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLDZCckJxQnFCO0FDaXZDdkI7O0FJcnRDSTtFZ0JwREo7SUFLSSxnQkFBZ0I7RXBCeXdDbEI7QUFDRjs7QUkzdENJO0VnQnBESjtJQVFJLGVBQWU7RXBCNHdDakI7QUFDRjs7QUlqdUNJO0VnQnBESjtJQVdJLGtCQUFrQjtJQUNsQixnQkFBZ0I7RXBCK3dDbEI7QUFDRjs7QUl4dUNJO0VnQnBESjtJQWVJLGdCQUFnQjtFcEJreENsQjtBQUNGOztBSTl1Q0k7RWdCcERKO0lBa0JJLGdCQUFnQjtFcEJxeENsQjtBQUNGOztBSXB2Q0k7RWdCcERKO0lBcUJJLGdCQUFnQjtFcEJ3eENsQjtBQUNGOztBb0J0eENBO0VBQ0ksTUFBSztFQUNMLE9BQU07RUFDTixTQUFRO0VBQ1IsUUFBUTtBcEJ5eENaOztBSWp3Q0k7RWdCNUJKO0lBTVEsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixrQkFBa0I7RXBCNHhDeEI7QUFDRjs7QW9CMXhDQTtFQUNJLHNCQUFzQjtFQUN0QiwyQkFBMkI7QXBCNnhDL0I7O0FvQjF4Q0k7RUFDSSxnQkFBZ0I7RUFDaEIsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osd0JBQXdCO0VBQ3hCLCtCQUErQjtFQUMvQiw0QkFBNEI7RUFDNUIsU0FBUztFQUNULGlDQUFpQztFQUNqQyxhQUFhO0FwQjZ4Q3JCOztBSTN4Q0k7RWdCWkE7SUFZUSxrQ0FBa0M7SUFDbEMsUUFBUTtFcEJneUNsQjtBQUNGOztBb0I5eUNLO0VBZ0JPLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsZUFBZTtBcEJreUMzQjs7QUl4eUNJO0VnQlpDO0lBb0JXLG1DQUFtQztJQUNuQywyQkFBMkI7SUFDM0IsUUFBUTtJQUNSLGlCQUFpQjtJQUNqQixlQUFlO0VwQnF5QzdCO0FBQ0Y7O0FvQjl6Q0s7RUE0Qk8sV0FBVztFQUNYLFVBQVU7RUFDVixZQUFZO0VBQ1osUUFBUTtFQUNSLFNBQVM7RUFDVCxnQkFBZ0I7QXBCc3lDNUI7O0FvQnYwQ0s7RUFtQ1Msd0NBQXdDO0FwQnd5Q3REOztBb0IzMENLO0VBc0NTLHlFQUFtRTtFQUNuRSxxQkFBcUI7RUFDckIsV0FBVztBcEJ5eUN6Qjs7QW9CajFDSztFQTRDTyx3Q0FBd0M7QXBCeXlDcEQ7O0FvQnIxQ0s7RUErQ08sdUNBQW9DO0FwQjB5Q2hEOztBb0J6MUNLO0VBa0RPLHNCQUFzQjtBcEIyeUNsQzs7QUlqMUNJO0VnQlpDO0lBb0RTLHFCQUFxQjtFcEI4eUNqQztBQUNGOztBSXYxQ0k7RWdCWkE7SUF3RFEsZ0JBQWdCO0lBQ2hCLGVBQWU7RXBCZ3pDekI7QUFDRjs7QUk5MUNJO0VnQlpBO0lBNERRLGVBQWU7RXBCbXpDekI7QUFDRjs7QUlwMkNJO0VnQlpBO0lBK0RRLGVBQWU7RXBCc3pDekI7QUFDRjs7QW9CdjNDQTtFQW9FTSxZQUFZO0FwQnV6Q2xCOztBSTkyQ0k7RWdCYko7SUFzRVUsVUFBVTtFcEIwekNsQjtBQUNGOztBSXAzQ0k7RWdCYko7SUF5RVUsVUFBVTtFcEI2ekNsQjtBQUNGOztBb0J6ekNBO0VBQ0ksYUFBYTtBcEI0ekNqQjs7QW9CenpDQTtFQUNJLGdCQUFnQjtBcEI0ekNwQjs7QUlsNENJO0VnQnFFSjtJQUdRLGNBQWM7RXBCK3pDcEI7QUFDRjs7QW9CNXpDQTtFbkJwSUksZW1Cc0kyQjtFbkJySTNCLG1CQUx1QjtBRHk4QzNCOztBb0JqMENBO0VuQnBJSSxlbUJ5STJCO0VuQnhJM0IsbUJBTHVCO0FEODhDM0I7O0FJbDVDSTtFZ0I0RUo7SUFTWSxpQkFBaUI7SUFDakIsZ0JBQWdCO0VwQmswQzFCO0VvQjUwQ0Y7SUFhWSxpQkFBaUI7RXBCazBDM0I7QUFDRjs7QXFCNTlDQTtFQUNJLG1CQUFtQjtFQUNuQixjQUFjO0VwQk1kLGVvQkx1QjtFcEJNdkIsbUJBTHVCO0FEKzlDM0I7O0FxQm4rQ0E7RUFLUSxxQkFBcUI7QXJCaytDN0I7O0FxQnYrQ0E7RUFRUSxtQkFBbUI7QXJCbStDM0I7O0FzQjMrQ0E7RUFFUSxnQkFBZ0I7RUFDaEIsVUFBVTtFQUNWLFNBQVM7QXRCNitDakI7O0FzQmovQ0E7RUFPUSw2QnZCNkJlO0V1QjVCZiw0QkFBNEI7QXRCOCtDcEM7O0FzQnQvQ0E7RXJCUUksZXFCRStCO0VyQkQvQixtQkFMdUI7QUR1L0MzQjs7QXNCMy9DQTtFQWNRLFVBQVU7RUFDVixTQUFTO0F0QmkvQ2pCOztBc0JoZ0RBO0VBa0JRLHFCQUFxQjtFQUNyQixjQUFjO0F0QmsvQ3RCOztBdUJyZ0RBO0VBQ0k7SUFBRywyQkFBMEI7RXZCeWdEL0I7RXVCeGdERTtJQUFJLDZCQUE0QjtFdkIyZ0RsQztFdUIxZ0RFO0lBQUssMkJBQTBCO0V2QjZnRGpDO0FBQ0Y7O0F1QjVnREE7RUFDSTtJQUFHLDJCQUEwQjtFdkJnaEQvQjtFdUIvZ0RFO0lBQUksNkJBQTRCO0V2QmtoRGxDO0V1QmpoREU7SUFBSywyQkFBMEI7RXZCb2hEakM7QUFDRjs7QXVCbmhEQTtFQUNJO0lBQUcsMkJBQTBCO0V2QnVoRC9CO0V1QnRoREU7SUFBSSw2QkFBNEI7RXZCeWhEbEM7RXVCeGhERTtJQUFLLDJCQUEwQjtFdkIyaERqQztBQUNGOztBdUIxaERBO0VBQ0k7SUFBRywyQkFBMEI7RXZCOGhEL0I7RXVCN2hERTtJQUFJLDZCQUE0QjtFdkJnaURsQztFdUIvaERFO0lBQUssMkJBQTBCO0V2QmtpRGpDO0FBQ0Y7O0F1QmhpREE7RUFDSSxtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixzQnhCUVE7R0MyaERWLE9DbGlEVTtFQXdDSiw0RUFTYztFc0I5Q2xCLGdCQUFnQjtBdkJraURwQjs7QUNwaURJO0VBRUksWUFBWTtFQUFFO0VBQ2QsY0FBYztFQUFFO0FEd2lEeEI7O0FDcmlESTtFQUNJLFdBQVc7QUR3aURuQjs7QXVCcmpEQTtFQVVRLGlCQUFpQjtBdkIraUR6Qjs7QXVCempEQTtFQWFRLHFEQUFxRDtFQUNyRCwwQkFBMEI7RUFDMUIsZ0RBQWdEO0VBQ2hELDZDQUE2QztFQUM3QywyQ0FBMkM7RUFDM0Msd0NBQXdDO0F2QmdqRGhEOztBdUJsa0RBO0VBeUJRLHlCeEJMUTtBQ2tqRGhCOztBdUJ0a0RBO0VBMkJZLG1CeEJQSTtBQ3NqRGhCOztBdUIxa0RBO0VBK0JPLGN4QmhCZ0I7QUMrakR2Qjs7QXVCOWtEQTtFdEJiSSxlc0JnRDBCO0V0Qi9DMUIsb0JBTHVCO0FEb21EM0I7O0F1Qm5sREE7RUF1Q1ksY3hCeEJXO0FDd2tEdkI7O0F1QnZsREE7RUE0Q1EseUJ4QjdCZTtBQzRrRHZCOztBdUIzbERBO0VBOENNLGlCQUFpQjtFQUNqQixXQUFXO0VBQ1gsV0FBVztFQUNMLHlCeEJsQ1c7QUNtbER2Qjs7QXVCbG1EQTtFQW1ESSxXeEJ2Q1E7QUMwbERaOztBdUJ0bURBO0VBdURZLHlCeEJ2Q2E7QUMwbER6Qjs7QXVCMW1EQTtFQXlEZ0IseUJ4QnpDUztBQzhsRHpCOztBdUI5bURBO0VBMkRvQixXeEIvQ1I7QUNzbURaOztBdUJsbkRBO0VBZ0VvQixXeEJwRFI7QUMwbURaOztBdUJ0bkRBO0VBc0VNLHlCeEJ2RGlCO0FDMm1EdkI7O0F1QjFuREE7RUEwRVEseUJ4QjFEaUI7QUM4bUR6Qjs7QXVCOW5EQTtFQTRFWSx5QnhCNURhO0FDa25EekI7O0F1QmxvREE7RUE4RWdCLFd4QmxFSjtBQzBuRFo7O0F1QnRvREE7RUFtRmdCLFd4QnZFSjtBQzhuRFo7O0F1QjFvREE7RUF5RksseUJ4QmpFUTtBQ3NuRGI7O0F1QjlvREE7RUEyRlkseUJ4Qm5FQztBQzBuRGI7O0F1QmxwREE7RUE2RkksV3hCakZRO0FDMG9EWjs7QXVCdHBEQTtFQWtHUSx5QnhCNUVRO0FDb29EaEI7O0F1QjFwREE7RUFvR1kseUJ4QjlFSTtBQ3dvRGhCOztBdUI5cERBO0VBc0dnQixXeEIxRko7QUNzcERaOztBdUJscURBO0VBMkdRLHNCeEIvRkk7QUMwcERaOztBdUJ0cURBO0VBNkdZLHNCeEJqR0E7QUM4cERaOztBdUIxcURBO0VBK0dnQixjeEJoR087QUMrcER2Qjs7QXVCOXFEQTtFQXNIUSx5QkFBeUI7QXZCNGpEakM7O0F1QmxyREE7RUF3SFksa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxVQUFVO0VBQ1YseUJBQXlCO0F2QjhqRHJDOztBdUJ6ckRBO0VBZ0lnQixZQUFZO0VBQ1oseUJBQXlCO0F2QjZqRHpDOztBdUI5ckRBO0VBc0lRLGNBQWM7RUFDZCxTQUFTO0F2QjRqRGpCOztBdUJuc0RBO0VBMElRLGFBQWE7QXZCNmpEckI7O0F1QnZzREE7RUE2SWdCLFlBQVk7RUFDWixXQUFXO0F2QjhqRDNCOztBdUI1c0RBO0V0QmJJLGVzQmdLMkI7RXRCL0ozQixvQkFMdUI7RXNCcUtuQixnQkFBZ0I7QXZCOGpEeEI7O0F1Qmx0REE7RUFzSkcsdURyQnpLd0Q7RXFCMEt4RCxnQkFBZ0I7QXZCZ2tEbkI7O0FJNXFESTtFbUIzQ0o7SXRCYkksZXNCdUsrQjtJdEJ0Sy9CLGtCQUx1QjtFRDh1RHpCO0FBQ0Y7O0F1Qjl0REE7RXRCYkksZXNCMksyQjtFdEIxSzNCLG9CQUx1QjtFc0JnTG5CLGdCQUFnQjtBdkJxa0R4Qjs7QXVCcHVEQTtFQWlLRyx1RHJCcEx3RDtFcUJxTHhELGdCQUFnQjtBdkJ1a0RuQjs7QXVCenVEQTtFQXFLRyx5QkFBeUI7QXZCd2tENUI7O0F1Qjd1REE7RUF3S0csdURyQjFMMkQ7QUZtd0Q5RDs7QXVCanZEQTtFQTJLWSx1RHJCOUwrQztFRE12RCxlc0J5TCtCO0V0QnhML0Isa0JBTHVCO0VzQjhMZixrQkFBa0I7QXZCMmtEOUI7O0F1Qnh2REE7RXRCYkksZXNCOEwyQjtFdEI3TDNCLG1CQUx1QjtFc0JtTW5CLGdCQUFnQjtBdkI0a0R4Qjs7QUludERJO0VtQjNDSjtJdEJiSSxlc0JrTStCO0l0QmpNL0Isb0JBTHVCO0VEcXhEekI7QUFDRjs7QUkxdERJO0VtQjNDSjtJdEJiSSxlc0JxTStCO0l0QnBNL0Isb0JBTHVCO0VENHhEekI7QUFDRjs7QXVCNXdEQTtFdEJiSSxlc0J5TTJCO0V0QnhNM0Isa0JBTHVCO0FEa3lEM0I7O0F1Qmp4REE7RUErTFEsWUFBWTtFQUNaLFlBQVk7QXZCc2xEcEI7O0F1QnR4REE7RUFtTU0s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ckZ6QjtBQUNGOztBSTVuRkk7RXlCaEVKO0k1QlFJLGU0QjZCbUM7STVCNUJuQyxtQkFMdUI7RUQ4ckZ6QjtBQUNGOztBNkJuc0ZBO0U1QlFJLGU0QmtDMkI7RTVCakMzQixtQkFMdUI7QURvc0YzQjs7QUl4b0ZJO0V5QmhFSjtJNUJRSSxlNEJvQytCO0k1Qm5DL0Isb0JBTHVCO0VEMHNGekI7QUFDRjs7QTZCL3NGQTtFQWdEUSxrQkFBa0I7RTVCeEN0QixlNEJ5QzJCO0U1QnhDM0IsbUJBTHVCO0FEaXRGM0I7O0E2QnJ0RkE7RUFvRFEsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixnQkFBZ0I7QTdCcXFGeEI7O0FJM3BGSTtFeUJoRUo7SUEyRFEsVUFBVTtJQUNWLFdBQVc7SUFDWCxxQkFBcUI7RTdCcXFGM0I7QUFDRjs7QUlucUZJO0V5QmhFSjtJQW9FUSxVQUFVO0U3Qm9xRmhCO0U2Qnh1RkY7SUFzRVksY0FBYztFN0JxcUZ4QjtBQUNGOztBSTVxRkk7RXlCaEVKO0lBOEVZLGVBQWU7RTdCbXFGekI7QUFDRjs7QThCbHZGQTtFQUdRLGVBQWU7QTlCbXZGdkI7O0E4QnR2RkE7RTdCUUksZTZCRHlCO0U3QkV6QixlQUx1QjtFNkJJckIsVy9CeUJNO0UrQnhCTixpQkFBaUI7QTlCb3ZGdkI7O0E4Qjd2RkE7RTdCUUksZTZCSzJCO0U3QkozQixrQkFMdUI7QUQ4dkYzQjs7QThCbHdGQTtFQWVZLHVENUJaa0Q7RTRCYWxELFNBQVM7QTlCdXZGckI7O0E4QnZ3RkE7RUFxQkssZ0JBQWdCO0E5QnN2RnJCOztBOEIzd0ZBO0VBdUJNLGtCQUFrQjtFQUNsQix1RDVCckJ3RDtFREsxRCxlNkJpQnlCO0U3QmhCekIsbUJBTHVCO0U2QnNCckIsVy9CT007RStCTk4sbUJBQW1CO0E5Qnl2RnpCOztBOEJweEZBO0U3QlFJLGU2QnNCeUI7RTdCckJ6QixtQkFMdUI7RTZCMkJyQixrQkFBa0I7QTlCMnZGeEI7O0E4QnR2RkE7RUFDRSxjQUFjO0VBQ2QsV0FBVztBOUJ5dkZiOztBOEIzdkZBO0VBSUksV0FBVztBOUIydkZm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Q3lEO0VETXZELGV3Q05xQjtFeENPckIsbUJBTHVCO0FEa21IM0I7O0F5Q2ptSEE7RXhDR0ksZXdDQXVCO0V4Q0N2QixtQkFMdUI7QUR1bUgzQjs7QUkzaUhJO0VxQzNESjtJeENHSSxld0NFMkI7SXhDRDNCLGtCQUx1QjtFRDZtSHpCO0FBQ0Y7O0FJbGpISTtFcUMzREo7SXhDR0ksZXdDSzJCO0l4Q0ozQixvQkFMdUI7RURvbkh6QjtBQUNGOztBeUNwbkhBO0VBWU0sZUFBZTtFQUNmLFlBQVk7QXpDNG1IbEI7O0FzQzluSEE7RUFDQyxXQUFXO0VBQ1gsVUFBVTtBdENpb0hYOztBc0M5bkhBO0VBQ0MsV0FBVztBdENpb0haOztBc0M5bkhBO0VBQ0MsZ0J2Q3VCVztFd0NuQjZDLDBCREg5QjtFQ0tpQyx1QkRMakM7RUNNa0Msc0JETmxDO0VDT21DLHFCRFBuQztFQ1FzQyxrQkRSdEM7RUFDMUIsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxZQUFZO0VBQ1osU0FBUztFQUNULFFBQVE7RUNGZ0Qsd0NER2hCO0VDRG1CLHFDRENuQjtFQ0FvQixvQ0RBcEI7RUNDcUIsbUNERHJCO0VDRXdCLGdDREZ4QjtFQUNyQyxXQUFXO0F0Q3lvSGY7O0FzQ2xwSEE7RUFZRSxjdkNlcUI7RXVDZHJCLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsUUFBUTtFQUNSLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsY0FBYztBdEMwb0hoQjs7QXNDdG9IQTtFQUVFLFdBQVc7RUFDWCxZQUFZO0F0Q3dvSGQ7O0FzQ3BvSEE7RUFFRSxhQUFhO0F0Q3NvSGY7O0FzQ2xvSEE7RUFDQyxtQkFBa0I7QXRDcW9IbkI7O0FzQ2xvSEE7RUFHRyxVQUFVO0F0Q21vSGI7O0FzQ3RvSEE7RUFNRyxnQkFBZ0I7QXRDb29IbkI7O0FzQy9uSEE7RUFDQyxrQkFBa0I7QXRDa29IbkI7O0FzQ25vSEE7RUFHSyxXQUFXO0VBQ1gsVUFBVTtFQUNWLFlBQVk7RUFDWixRQUFRO0VBQ1IsU0FBUztFQUNULGdCQUFnQjtBdENvb0hyQjs7QXNDNW9IQTtFQVVPLHdD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RHoySkE7SUF1RUUsaUJBQWlCO0VoRHF5Sm5CO0VnRHQ4SkY7SUFvS0ksZUFBZTtJQUNmLGlCQUFpQjtFaERxeUpuQjtFZ0RqOEpGO0lBK0pJLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsZUFBZTtFaERxeUpqQjtFZ0RsOEpGO0lBZ0tJLGVBQWU7RWhEcXlKakI7QUFDRiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU3VzeSBncmlkIHNldHRpbmdzXHJcblxyXG4kc3VzeTogKFxyXG4gICAgICAgIGZsb3c6IGx0ciwgICAgICAgICAgICAgICAgICAgICAgLy8gcnRsIHwgbHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGh0dHA6Ly9zdXN5ZG9jcy5vZGRiaXJkLm5ldC9lbi9sYXRlc3Qvc2V0dGluZ3MvI2Zsb3cpXHJcbiAgICAgICAgbWF0aDogZmx1aWQsICAgICAgICAgICAgICAgICAgICAvLyBmbHVpZCB8IHN0YXRpYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaHR0cDovL3N1c3lkb2NzLm9kZGJpcmQubmV0L2VuL2xhdGVzdC9zZXR0aW5ncy8jbWF0aClcclxuICAgICAgICBvdXRwdXQ6IGZsb2F0LCAgICAgICAgICAgICAgICAgIC8vIGZsb2F0IHwgaXNvbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChodHRwOi8vc3VzeWRvY3Mub2RkYmlyZC5uZXQvZW4vbGF0ZXN0L3NldHRpbmdzLyNvdXRwdXQpXHJcbiAgICAgICAgY29udGFpbmVyOiBhdXRvLCAgICAgICAgICAgICAgICAvLyA8bGVuZ3RoPiB8IGF1dG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaHR0cDovL3N1c3lkb2NzLm9kZGJpcmQubmV0L2VuL2xhdGVzdC9zZXR0aW5ncy8jY29udGFpbmVyKVxyXG4gICAgICAgIGNvbnRhaW5lci1wb3NpdGlvbjogY2VudGVyLCAgICAgLy8gbGVmdCB8IGNlbnRlciB8IHJpZ2h0IHwgPGxlbmd0aD4gWyoyXSAgICAgICAgICAgICAgKGh0dHA6Ly9zdXN5ZG9jcy5vZGRiaXJkLm5ldC9lbi9sYXRlc3Qvc2V0dGluZ3MvI2NvbnRhaW5lci1wb3NpdGlvbilcclxuICAgICAgICBjb2x1bW5zOiAxMiwgICAgICAgICAgICAgICAgICAgIC8vIDxudW1iZXI+IHwgPGxpc3Q+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChodHRwOi8vc3VzeWRvY3Mub2RkYmlyZC5uZXQvZW4vbGF0ZXN0L3NldHRpbmdzLyNjb2x1bW5zKVxyXG4gICAgICAgIGd1dHRlcnM6IDEvMywgICAgICAgICAgICAgICAgICAgLy8gPHJhdGlvPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGh0dHA6Ly9zdXN5ZG9jcy5vZGRiaXJkLm5ldC9lbi9sYXRlc3Qvc2V0dGluZ3MvI2d1dHRlcnMpXHJcbiAgICAgICAgY29sdW1uLXdpZHRoOiBmYWxzZSwgICAgICAgICAgICAvLyA8bGVuZ3RoPiB8IGZhbHNlL251bGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaHR0cDovL3N1c3lkb2NzLm9kZGJpcmQubmV0L2VuL2xhdGVzdC9zZXR0aW5ncy8jY29sdW1uLXdpZHRoKVxyXG4gICAgICAgIGd1dHRlci1wb3NpdGlvbjogYWZ0ZXIsICAgICAgICAgLy8gYmVmb3JlIHwgYWZ0ZXIgfCBzcGxpdCB8IGluc2lkZSB8IGluc2lkZS1zdGF0aWMgICAgKGh0dHA6Ly9zdXN5ZG9jcy5vZGRiaXJkLm5ldC9lbi9sYXRlc3Qvc2V0dGluZ3MvI2d1dHRlci1wb3NpdGlvbilcclxuICAgICAgICBnbG9iYWwtYm94LXNpemluZzogYm9yZGVyLWJveCwgIC8vIGJvcmRlci1ib3ggfCBjb250ZW50LWJveCAgICAgICAgICAgICAgICAgICAgICAgICAgIChodHRwOi8vc3VzeWRvY3Mub2RkYmlyZC5uZXQvZW4vbGF0ZXN0L3NldHRpbmdzLyNnbG9iYWwtYm94LXNpemluZylcclxuICAgICAgICBsYXN0LWZsb3c6IHRvLCAgICAgICAgICAgICAgICAgIC8vIGZyb20gfCB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChodHRwOi8vc3VzeWRvY3Mub2RkYmlyZC5uZXQvZW4vbGF0ZXN0L3NldHRpbmdzLyNsYXN0LWZsb3cpXHJcbiAgICAgICAgZGVidWc6ICggICAgICAgICAgICAgICAgICAgICAgICAvLyA8bWFwIG9mIHN1Yi1zZXR0aW5ncz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaHR0cDovL3N1c3lkb2NzLm9kZGJpcmQubmV0L2VuL2xhdGVzdC9zZXR0aW5ncy8jZGVidWcpXHJcbiAgICAgICAgICAgICAgICBpbWFnZTogaGlkZSwgICAgICAgICAgICAgICAgICAvLyBzaG93IHwgaGlkZSB8IHNob3ctY29sdW1ucyB8IHNob3ctYmFzZWxpbmUgICAgICAgICAoaHR0cDovL3N1c3lkb2NzLm9kZGJpcmQubmV0L2VuL2xhdGVzdC9zZXR0aW5ncy8jZGVidWctaW1hZ2UpXHJcbiAgICAgICAgICAgICAgICBvdXRwdXQ6IGJhY2tncm91bmQsICAgICAgICAgICAvLyBiYWNrZ3JvdW5kIHwgb3ZlcmxheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaHR0cDovL3N1c3lkb2NzLm9kZGJpcmQubmV0L2VuL2xhdGVzdC9zZXR0aW5ncy8jZGVidWctb3V0cHV0KVxyXG4gICAgICAgICAgICAgICAgdG9nZ2xlOiB0b3AgcmlnaHQsICAgICAgICAgICAgLy8gcmlnaHQgfCBsZWZ0IGFuZCB0b3AgfCBib3R0b20gICAgICAgICAgICAgICAgICAgICAgKGh0dHA6Ly9zdXN5ZG9jcy5vZGRiaXJkLm5ldC9lbi9sYXRlc3Qvc2V0dGluZ3MvI2RlYnVnLXRvZ2dsZSlcclxuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCM2NmYsIC4yNSksICAgICAgIC8vIDxjb2xvcj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChodHRwOi8vc3VzeWRvY3Mub2RkYmlyZC5uZXQvZW4vbGF0ZXN0L3NldHRpbmdzLyNkZWJ1Zy1jb2xvcilcclxuICAgICAgICApLFxyXG4gICAgICAgIHVzZS1jdXN0b206IChcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHRydWUsICAgICAgIC8vIDxib29sZWFuPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChodHRwOi8vc3VzeWRvY3Mub2RkYmlyZC5uZXQvZW4vbGF0ZXN0L3NldHRpbmdzLyNjdXN0b20tYmFja2dyb3VuZC1pbWFnZSlcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtb3B0aW9uczogZmFsc2UsICAgIC8vIDxib29sZWFuPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChodHRwOi8vc3VzeWRvY3Mub2RkYmlyZC5uZXQvZW4vbGF0ZXN0L3NldHRpbmdzLyNjdXN0b20tYmFja2dyb3VuZC1vcHRpb25zKVxyXG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogdHJ1ZSwgICAgICAgICAgICAgLy8gPGJvb2xlYW4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGh0dHA6Ly9zdXN5ZG9jcy5vZGRiaXJkLm5ldC9lbi9sYXRlc3Qvc2V0dGluZ3MvI2N1c3RvbS1ib3gtc2l6aW5nKVxyXG4gICAgICAgICAgICAgICAgY2xlYXJmaXg6IGZhbHNlLCAgICAgICAgICAgICAgLy8gPGJvb2xlYW4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGh0dHA6Ly9zdXN5ZG9jcy5vZGRiaXJkLm5ldC9lbi9sYXRlc3Qvc2V0dGluZ3MvI2N1c3RvbS1jbGVhcmZpeClcclxuICAgICAgICAgICAgICAgIHJlbTogdHJ1ZSwgICAgICAgICAgICAgICAgICAgIC8vIDxib29sZWFuPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChodHRwOi8vc3VzeWRvY3Mub2RkYmlyZC5uZXQvZW4vbGF0ZXN0L3NldHRpbmdzLyNjdXN0b20tcmVtKVxyXG4gICAgICAgIClcclxuKTtcclxuXHJcbi8vIENvbG91ciB2YXJpYWJsZXNcclxuXHJcblxyXG4kYmxhY2s6ICMwMDA7XHJcbiR3aGl0ZTogI2ZmZjtcclxuJGdyZXk6ICNiOWI5Yjk7XHJcblxyXG4kcHJpbWFyeS1jb2xvcjogIzA1MDA1MDsgLy8gRGFyayBibHVlXHJcbiRzZWNvbmRhcnktY29sb3I6ICMwMGRjZmY7IC8vIExpZ2h0IEJsdWVcclxuJHNlY29uZGFyeS1jb2xvci1kYXJrOiAjMDI5NWNiOyAvLyBCbHVlXHJcbiRzZWNvbmRhcnktY29sb3ItaGlnaGxpZ2h0OiAjNTVjZWVjOyAvLyBCbHVlXHJcblxyXG4keWVsbG93OiAjRkNDNDAwOyAvLyBZZWxsb3dcclxuJHJlZDogI2M0MjYyZTsgLy8gUmVkXHJcbiRvcmFuZ2U6ICNlYjcxMjE7XHJcbiRvcmFuZ2UtbGlnaHQ6ICNmYjlmNjM7XHJcbiRyZWQ6ICNjNDI2MmU7XHJcblxyXG4kdGV4dC1jb2xvcjogIzE3MTQxMjsgLy8gVGV4dFxyXG5cclxuLy8gTGVnYWN5IENvbG91ciB2YXJpYWJsZXNcclxuXHJcbiRoaWdobGlnaHQtY29sb3I6ICNkN2U2NjU7XHJcbiRoaWdobGlnaHQtY29sb3ItbGlnaHQ6ICNlYmYyYjM7XHJcbiRzZWNvbmRhcnktY29sb3ItbGlnaHQ6ICM1NDZjOTU7IC8vIFZpb2xldFxyXG4kc2Vjb25kYXJ5LWNvbG9yLWJyaWdodDogIzA2YjhhNTsgLy8gR3JlZW5cclxuXHJcbiRwaW5rLWJyaWdodDogI2VjMDA4YztcclxuJHBpbms6ICNhOTYwN2M7XHJcblxyXG4uYmctcHJpbWFyeSwgLmJnLWRhcmstYmx1ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbn1cclxuXHJcbi5iZy1zZWNvbmRhcnksIC5iZy1saWdodC1ibHVlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG59XHJcblxyXG4uYmctd2hpdGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxufVxyXG5cclxuLmJnLXllbGxvdyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdztcclxufVxyXG5cclxuLmJnLXJlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxufVxyXG5cclxuLmJnLW9yYW5nZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcclxufVxyXG5cclxuLmJnLWdyZXkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcbn1cclxuXHJcbi5jb2wtcHJpbWFyeSB7XHJcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG59XHJcblxyXG4uY29sLXNlY29uZGFyeSB7XHJcbiAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbn1cclxuXHJcbi5jb2wtd2hpdGUge1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi8vIEJyZWFrcG9pbnQgdmFyaWFibGVzXHJcblxyXG4vKiBTQ1JFRU4gQlJFQUsgUE9JTlRTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cclxuLyogaHR0cDovL3N1c3lkb2NzLm9kZGJpcmQubmV0L2VuL2xhdGVzdC90b29sa2l0LyN0b29scy1zdXN5LWJyZWFrcG9pbnQgKi9cclxuLyogaHR0cDovL2JyZWFrcG9pbnQtc2Fzcy5jb20vICovXHJcblxyXG5cclxuLyogTW9iaWxlIEZpcnN0ICovXHJcblxyXG4kc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMjBweDtcclxuJG1lZGl1bTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjQwcHg7XHJcbiRsYXJnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk2MHB4O1xyXG4keC1sYXJnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMjAwcHg7XHJcbiR4eC1sYXJnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0MDBweDtcclxuXHJcbiRtYXgtaG9tZS1jYXJvLWhlaWdodCA6IDM1MHB4O1xyXG4iLCJAaW1wb3J0IFwiLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5XCI7XHJcbkBpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnRcIjtcclxuQGltcG9ydCBcIi4uL25vZGVfbW9kdWxlcy9zYXNzLXRvb2xraXQvc3R5bGVzaGVldHMvdG9vbGtpdFwiO1xyXG5AaW1wb3J0IFwiLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzXCI7XHJcbkBpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvZmxleHNsaWRlci9mbGV4c2xpZGVyLmNzc1wiO1xyXG5AaW1wb3J0IFwiLi4vbm9kZV9tb2R1bGVzL3ZpZGVvLmpzL2Rpc3QvdmlkZW8tanMubWluLmNzc1wiO1xyXG5AaW1wb3J0IFwiLi4vbm9kZV9tb2R1bGVzL2pxdWVyeS11aS90aGVtZXMvYmFzZS9kYXRlcGlja2VyLmNzc1wiO1xyXG5cclxuQGltcG9ydCBcImdsb2JhbC9zZXR0aW5nc1wiO1xyXG5AaW1wb3J0IFwiZ2xvYmFsL21peGluc1wiO1xyXG5AaW1wb3J0IFwiZ2xvYmFsL3R5cG9ncmFwaHlcIjtcclxuQGltcG9ydCBcImdsb2JhbC9iYXNlXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWwvc3ByaXRlXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWwvc3RhdGVzXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWwvdXRpbGl0aWVzXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWwvYXRvbWljc1wiO1xyXG5AaW1wb3J0IFwiZ2xvYmFsL3ByaW50XCI7XHJcblxyXG5AaW1wb3J0IFwibGF5b3V0L2dyaWRcIjtcclxuQGltcG9ydCBcImxheW91dC9oZWFkZXJcIjtcclxuQGltcG9ydCBcImxheW91dC9mb290ZXJcIjtcclxuXHJcbkBpbXBvcnQgXCJtb2R1bGVzL21hdGVyaWFsLWljb25zXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL2hvbWVcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvYnJlYWRjcnVtYnNcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvcGFkZGVkLWxpbmtzXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL2NhcmRcIjtcclxuXHJcbkBpbXBvcnQgXCJtb2R1bGVzL25hdmlnYXRpb24tYmFyXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL2hlcm9cIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvaG9tZWdyb3duX2hlcm9lc1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9tYWlubmF2XCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL3RvcG5hdlwiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9pbnRyb1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9yZWdpc3RlclwiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9zY2hvb2xcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvc2VhcmNoLWNvbW11bml0eVwiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9wYW5lbFwiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9xdWljay1mYWN0c1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy90d2l0dGVyXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL3VwbG9hZGlmeVwiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9jYXJvdXNlbFwiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy92aWRlb1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9yZXNvdXJjZXNcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvcy11Z2NcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvdmlkZW9cIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvYWNjb3JkaW9uXCI7XHJcbi8qXHJcbkBpbXBvcnQgXCJtb2R1bGVzL3RpdGxlXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL2luZm9cIjtcclxuKi9cclxuQGltcG9ydCBcIm1vZHVsZXMvYnRuXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL2Zvcm1cIjtcclxuXHJcbkBpbXBvcnQgXCJtb2R1bGVzL2FjY2Vzc2liaWxpdHlcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvb3ZlcnJpZGVzXCI7XHJcblxyXG5AaW1wb3J0IFwibW9kdWxlcy9sYW5kaW5nX3BhZ2VzXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL2F0aGxldGVfbGFuZGluZ1wiO1xyXG4iLCJcclxuLy8gUmVtIG1peGluIC8vXHJcbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUpIHtcclxuICAgICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgICBAcmV0dXJuICRyZW1TaXplICogMXJlbTtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuLypcclxuICogQ2xlYXJmaXg6IGNvbnRhaW4gZmxvYXRzXHJcbiAqXHJcbiAqIEZvciBtb2Rlcm4gYnJvd3NlcnNcclxuICogMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcclxuICogICAgYGNvbnRlbnRlZGl0YWJsZWAgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxyXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcclxuICogICAgdGhhdCByZWNlaXZlIHRoZSBgY2xlYXJmaXhgIGNsYXNzLlxyXG4gKiAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xyXG4gKiAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXHJcbiAqL1xyXG5cclxuLy8gRm9yIGluc2lkZSBicmVha3BvaW50cyBjYXNlcyAtIGNhbid0IHVzZSBleHRlbmRcclxuQG1peGluIGNsZWFyZml4IHtcclxuICAgICp6b29tOiAxO1xyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIiBcIjsgLyogMSAqL1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAyICovXHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB1bmRvLWNsZWFyZml4IHtcclxuICAgICp6b29tOiAxO1xyXG4gICAgY2xlYXI6IG5vbmU7XHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7IC8qIDEgKi9cclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IC8qIDIgKi9cclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjbGVhcjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vTWF0ZXJpYWwgZGVzaWduIG1peGluc1xyXG5cclxuLy8vIEdpdmVzIGEgY2FyZCBkZXB0aCBlZmZlY3QuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlcHRoIC0gZGVwdGggbGV2ZWwgKGJldHdlZW4gMSBhbmQgNSlcclxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9sYXlvdXQvbGF5b3V0LXByaW5jaXBsZXMuaHRtbCNsYXlvdXQtcHJpbmNpcGxlcy1kaW1lbnNpb25hbGl0eSBHb29nbGUgRGVzaWduXHJcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSB0b3Atc2hhZG93XHJcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBib3R0b20tc2hhZG93XHJcbkBtaXhpbiBjYXJkKCRkZXB0aCkge1xyXG4gICAgQGlmICRkZXB0aCA8IDEge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9IEBlbHNlIGlmICRkZXB0aCA+IDUge1xyXG4gICAgICAgIEB3YXJuIFwiSW52YWxpZCAkZGVwdGggYCN7JGRlcHRofWAgZm9yIG1peGluIGBjYXJkYC5cIjtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGJvdHRvbS1zaGFkb3coJGRlcHRoKSwgdG9wLXNoYWRvdygkZGVwdGgpO1xyXG4gICAgfVxyXG59XHJcbi8vLyBDb21wdXRlcyBhIHRvcC1zaGFkb3cgZm9yIGEgY2FyZCBlZmZlY3QuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlcHRoIC0gZGVwdGggbGV2ZWxcclxuLy8vIEByZXR1cm4ge0xpc3R9XHJcbkBmdW5jdGlvbiB0b3Atc2hhZG93KCRkZXB0aCkge1xyXG4gICAgJHByaW1hcnktb2Zmc2V0OiBudGgoMS41IDMgMTAgMTQgMTksICRkZXB0aCkgKiAxcHg7XHJcbiAgICAkYmx1cjogbnRoKDEuNSAzIDEwIDE0IDE5LCAkZGVwdGgpICogNHB4O1xyXG4gICAgJGNvbG9yOiByZ2JhKGJsYWNrLCBudGgoLjEyIC4xNiAuMTkgLjI1IC4zMCwgJGRlcHRoKSk7XHJcblxyXG4gICAgQHJldHVybiAwICRwcmltYXJ5LW9mZnNldCAkYmx1ciAkY29sb3I7XHJcbn1cclxuXHJcbi8vLyBDb21wdXRlcyBhIGJvdHRvbS1zaGFkb3cgZm9yIGEgY2FyZCBlZmZlY3QuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlcHRoIC0gZGVwdGggbGV2ZWxcclxuLy8vIEByZXR1cm4ge0xpc3R9XHJcbkBmdW5jdGlvbiBib3R0b20tc2hhZG93KCRkZXB0aCkge1xyXG4gICAgJHByaW1hcnktb2Zmc2V0OiBudGgoMS41IDMgNiAxMCAxNSwgJGRlcHRoKSAqIDFweDtcclxuICAgICRibHVyOiBudGgoMSAzIDMgNSA2LCAkZGVwdGgpICogNHB4O1xyXG4gICAgJGNvbG9yOiByZ2JhKGJsYWNrLCBudGgoLjI0IC4yMyAuMjMgLjIyIC4yMiwgJGRlcHRoKSk7XHJcblxyXG4gICAgQHJldHVybiAwICRwcmltYXJ5LW9mZnNldCAkYmx1ciAkY29sb3I7XHJcbn1cclxuIiwiLy8vLyBGb250IGZhY2UgcnVsZXNcclxuJHRleHQtZm9udDogQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiR0ZXh0LWZvbnQtYm9sZDogJ0F2YW50R2FyZGVHb3RoaWMtQm9sZCcsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kdGV4dC1mb250LXJlZ3VsYXI6ICdBdmFudEdhcmRlR290aGljLUJvb2snLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJHRleHQtZm9udC1saWdodDogJ0F2YW50R2FyZGVHb3RoaWMtQm9vaycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kaWNvbi1mb250OiAnTWF0ZXJpYWwgSWNvbnMnO1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvTWF0ZXJpYWxJY29ucy1SZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICB1cmwoXCIuLi8uLi9mb250cy9NYXRlcmlhbEljb25zLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgIHVybChcIi4uLy4uL2ZvbnRzL01hdGVyaWFsSWNvbnMtUmVndWxhci50dGZcIikgZm9ybWF0KCd0cnVldHlwZScpO1xyXG59XHJcblxyXG5AZm9udC1mYWNle1xyXG4gICAgZm9udC1mYW1pbHk6IFwiQXZhbnRHYXJkZUdvdGhpYy1Cb29rXCI7XHJcbiAgICBzcmM6dXJsKFwiLi4vLi4vZm9udHMvYXZhbnQtZ2FyZGUtZ290aGljL2ZpbGVzLzJhMzM0YzYwLTNlMGQtNGY0My1iMGU5LTUyODRlYTMzOTYxYS5lb3Q/I2llZml4XCIpO1xyXG4gICAgc3JjOnVybChcIi4uLy4uL2ZvbnRzL2F2YW50LWdhcmRlLWdvdGhpYy9maWxlcy8yYTMzNGM2MC0zZTBkLTRmNDMtYjBlOS01Mjg0ZWEzMzk2MWEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uLy4uL2ZvbnRzL2F2YW50LWdhcmRlLWdvdGhpYy9maWxlcy9jNjhmMDU0My0wY2FmLTQ5ODgtYjIzNC0zNTU1MjA0NzZiOGMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybChcIi4uLy4uL2ZvbnRzL2F2YW50LWdhcmRlLWdvdGhpYy9maWxlcy8yZDRmMWQ5OC1kZGIzLTRhY2MtYWU3OC1jOGIxODYzZjc4MGUudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLHVybChcIi4uLy4uL2ZvbnRzL2F2YW50LWdhcmRlLWdvdGhpYy9maWxlcy84MGY5OGEwMy05MDVkLTQ5ZTYtODYxNC1jZWM3YzMyY2E0ZjIuc3ZnIzgwZjk4YTAzLTkwNWQtNDllNi04NjE0LWNlYzdjMzJjYTRmMlwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNle1xyXG4gICAgZm9udC1mYW1pbHk6IFwiQXZhbnRHYXJkZUdvdGhpYy1Cb29rT2JsaXF1ZVwiO1xyXG4gICAgc3JjOnVybChcIi4uLy4uL2ZvbnRzL2F2YW50LWdhcmRlLWdvdGhpYy9maWxlcy9kNmMzMDhhMS02OTA4LTQwYmMtYjczMi0wZmVjMDJkMDgzYWMuZW90PyNpZWZpeFwiKTtcclxuICAgIHNyYzp1cmwoXCIuLi8uLi9mb250cy9hdmFudC1nYXJkZS1nb3RoaWMvZmlsZXMvZDZjMzA4YTEtNjkwOC00MGJjLWI3MzItMGZlYzAyZDA4M2FjLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLHVybChcIi4uLy4uL2ZvbnRzL2F2YW50LWdhcmRlLWdvdGhpYy9maWxlcy83NTcxZThlNi05N2EyLTQ4YWEtOTdjMS1iOGFlZWVmYzU0MDkud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybChcIi4uLy4uL2ZvbnRzL2F2YW50LWdhcmRlLWdvdGhpYy9maWxlcy84ZjFlMTdhZC0zYjM4LTRkNTEtODNmNS00ZTU0NjkxNzRhNzcudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLHVybChcIi4uLy4uL2ZvbnRzL2F2YW50LWdhcmRlLWdvdGhpYy9maWxlcy8xZWU3ZDFmZC0wZjdjLTRkNzAtYjk3MC1mNGRjNjAyZWFiNjIuc3ZnIzFlZTdkMWZkLTBmN2MtNGQ3MC1iOTcwLWY0ZGM2MDJlYWI2MlwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5AZm9udC1mYWNle1xyXG4gICAgZm9udC1mYW1pbHk6IFwiQXZhbnRHYXJkZUdvdGhpYy1Cb2xkXCI7XHJcbiAgICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2F2YW50LWdhcmRlLWdvdGhpYy9maWxlcy84NTU2NDE3OC1mZDg4LTQzODctOTIyNi0wZTYzMjcyM2NhMjQuZW90PyNpZWZpeFwiKTtcclxuICAgIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvYXZhbnQtZ2FyZGUtZ290aGljL2ZpbGVzLzg1NTY0MTc4LWZkODgtNDM4Ny05MjI2LTBlNjMyNzIzY2EyNC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSx1cmwoXCIuLi8uLi9mb250cy9hdmFudC1nYXJkZS1nb3RoaWMvZmlsZXMvZTlhNzk1NTMtNzA5My00N2M3LThkOWMtNzBkYzM2MTllOTRiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSx1cmwoXCIuLi8uLi9mb250cy9hdmFudC1nYXJkZS1nb3RoaWMvZmlsZXMvNzI2NWI4ZDAtYTY3Yy00YThiLTg0YWEtMjczZDE3NTkyNzBhLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSx1cmwoXCIuLi8uLi9mb250cy9hdmFudC1nYXJkZS1nb3RoaWMvZmlsZXMvNzVkMzc3ZjItMjhlZS00M2Y4LWIyMzEtNDRmOGViYTIxOGM0LnN2ZyM3NWQzNzdmMi0yOGVlLTQzZjgtYjIzMS00NGY4ZWJhMjE4YzRcIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuLmZvbnQtZmFtaWx5LWJvbGQge1xyXG4gICAgZm9udC1mYW1pbHk6ICR0ZXh0LWZvbnQtYm9sZDtcclxufSIsIi8qIGFwcGx5IGEgbmF0dXJhbCBib3ggbGF5b3V0IG1vZGVsIHRvIGFsbCBlbGVtZW50cywgYnV0IGFsbG93aW5nIGNvbXBvbmVudHMgdG8gY2hhbmdlICovXHJcbmh0bWwsIGJvZHkge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xyXG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcclxufVxyXG5cclxuKjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG5odG1sLCBib2R5IHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtZmFtaWx5OiAkdGV4dC1mb250LXJlZ3VsYXI7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbn1cclxuXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIGZvbnQtZmFtaWx5OiAkdGV4dC1mb250LXJlZ3VsYXI7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG5oMSwgLmgxIHtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0MHB4KTtcclxufVxyXG5cclxuaDIsIC5oMiB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMzJweCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtZWRpdW0pIHtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzhweCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0NHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuaDMsIC5oMyB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtZWRpdW0pIHtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMThweCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMXB4KTtcclxuICAgIH1cclxufVxyXG5cclxuaDQsIC5oNCB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XHJcbn1cclxuXHJcbnVsIHtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG5cclxuYSB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxufVxyXG5cclxucCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTVweCk7XHJcbiAgICAmLmVxdWFsLW1hcmdpbiB7XHJcblx0ICAgIG1hcmdpbi1ib3R0b206IDEuMGVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5saSB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTVweCk7XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG5ibG9ja3F1b3RlIHtcclxuXHRtYXJnaW46IDBweDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjtcclxuXHRAaW5jbHVkZSBmb250LXNpemUoMjFweCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdG1hcmdpbjogMCAwIDE2cHggMDtcclxufVxyXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRCcmVha3BvaW50LVNldHRpbmdzOiAoXG4gICdkZWZhdWx0IG1lZGlhJzogYWxsLFxuICAnZGVmYXVsdCBmZWF0dXJlJzogbWluLXdpZHRoLFxuICAnZGVmYXVsdCBwYWlyJzogd2lkdGgsXG5cbiAgJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJzogZmFsc2UsXG4gICd0byBlbXMnOiBmYWxzZSxcbiAgJ3RyYW5zZm9ybSByZXNvbHV0aW9ucyc6IHRydWUsXG5cbiAgJ25vIHF1ZXJpZXMnOiBmYWxzZSxcbiAgJ25vIHF1ZXJ5IGZhbGxiYWNrcyc6IGZhbHNlLFxuXG4gICdiYXNlIGZvbnQgc2l6ZSc6IDE2cHgsXG5cbiAgJ2xlZ2FjeSBzeW50YXgnOiBmYWxzZVxuKTtcblxuJGJyZWFrcG9pbnQ6ICgpICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImJyZWFrcG9pbnQvc2V0dGluZ3NcIjtcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvY29udGV4dCc7XG5AaW1wb3J0ICdicmVha3BvaW50L2hlbHBlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9wYXJzZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvbm8tcXVlcnknO1xuXG5AaW1wb3J0ICdicmVha3BvaW50L3Jlc3BvbmQtdG8nO1xuXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9sZWdhY3ktc2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IE1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nO1xuXG4gIC8vIFJlc2V0IGNvbnRleHRzXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xuXG4gICRicmVha3BvaW50OiBicmVha3BvaW50KCRxdWVyeSwgZmFsc2UpO1xuXG4gICRxdWVyeS1zdHJpbmc6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeScpO1xuICAkcXVlcnktZmFsbGJhY2s6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdmYWxsYmFjaycpO1xuXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdjb250ZXh0IGhvbGRlcicpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeSBjb3VudCcpICFnbG9iYWw7XG5cbiAgLy8gQWxsb3cgZm9yIGFuIGFzLW5lZWRlZCBvdmVycmlkZSBvciB1c2FnZSBvZiBubyBxdWVyeSBmYWxsYmFjay5cbiAgQGlmICRuby1xdWVyeSAhPSBmYWxzZSB7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiAkbm8tcXVlcnk7XG4gIH1cblxuICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xuICB9XG5cbiAgLy8gUHJpbnQgT3V0IFF1ZXJ5IFN0cmluZ1xuICBAaWYgbm90IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBtZWRpYSAjeyRxdWVyeS1zdHJpbmd9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykgIT0gZmFsc2Ugb3IgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSA9PSB0cnVlIHtcblxuICAgICR0eXBlOiB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSk7XG4gICAgJHByaW50OiBmYWxzZTtcblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Jvb2wnKSB7XG4gICAgICAkcHJpbnQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnbGlzdCcpIHtcbiAgICAgIEBlYWNoICR3cmFwcGVyIGluIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gJHdyYXBwZXIge1xuICAgICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyaXRlIEZhbGxiYWNrXG4gICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIGFuZCAoJHByaW50ID09IHRydWUpIHtcbiAgICAgICR0eXBlLWZhbGxiYWNrOiB0eXBlLW9mKCRxdWVyeS1mYWxsYmFjayk7XG5cbiAgICAgIEBpZiAoJHR5cGUtZmFsbGJhY2sgIT0gJ2Jvb2wnKSB7XG4gICAgICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcbn1cblxuXG5AbWl4aW4gbXEoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gSWYgdXNpbmcgPGltZz4gcmF0aGVyIHRoYW4gc3ByaXRlcyBmb3IgaWNvbnNcclxuXHJcbi8qIDo6U3ByaXRlcyAmIEljb25zXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLy8gQ29tcGFzcyBmdW5jdGlvbiB0byBnZXQgaW1hZ2Ugc2l6ZXNcclxuLy8gICRpbWFnZXcgOiBpbWFnZS13aWR0aChcIi4uL2Fzc2V0cy9pbWcvc3ByaXRlLnBuZ1wiKTtcclxuLy8gICRpbWFnZWggOiBpbWFnZS1oZWlnaHQoXCIuLi9hc3NldHMvaW1nL3Nwcml0ZS5wbmdcIik7XHJcbiRpbWFnZXcgOiBpbWFnZS13aWR0aChcInNwcml0ZS5wbmdcIik7XHJcbiRpbWFnZWggOiBpbWFnZS1oZWlnaHQoXCJzcHJpdGUucG5nXCIpO1xyXG5cclxuXHJcbi5zcHJpdGVfX2ljb24ge1xyXG4gIC8vIEJhc2ljIGxheW91dFxyXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gIC8vIEhlbHBzIHN0b3Agd2VpcmQgZmxpY2tlcmluZyAvIGdsaXRjaGVzIG9uIHRyYW5zaXRpb25zOlxyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcbiAgLy8gU2V0IHRoZSBub24tcmV0aW5hIHNwcml0ZSBiYWNrZ3JvdW5kXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL3Nwcml0ZS5wbmdcIik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHJcblxyXG4vLyAgaHR0cHM6Ly9zaWduYWx2bm9pc2UuY29tL3Bvc3RzLzMyNzEtZWFzeS1yZXRpbmEtcmVhZHktaW1hZ2VzLXVzaW5nLXNjc3NcclxuXHRAbWVkaWEgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcclxuXHQoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi42LzIpLFxyXG5cdCgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXHJcblx0KG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXHJcblx0KG1pbi1yZXNvbHV0aW9uOiAxLjNkcHB4KSB7XHJcbiAgXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9zcHJpdGVAMngucG5nXCIpO1xyXG4gIFx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwMHB4O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qIEZvb3RlciBzb2NpYWwgbWVkaWEgaWNvbnMgKi9cclxuJHNvY2lhbC1pY29uczogKFwiYnRjSWNvbi0taW5zdGFncmFtXCIsIFwiYnRjSWNvbi0tdHdpdHRlclwiLCBcImJ0Y0ljb24tLXBpbnRlcmVzdFwiLCBcImJ0Y0ljb24tLXlvdXR1YmVcIiwgXCJidGNJY29uLS1mbGlja3JcIiwgXCJidGNJY29uLS13b3JkcHJlc3NcIiwgXCJidGNJY29uLS1yc3NcIik7XHJcbiR3aWR0aC1zb2NpYWxJY29uOiAzMTtcclxuJGk6IDE7XHJcbkBlYWNoICRpdGVtIGluICRzb2NpYWwtaWNvbnMge1xyXG4gIC8qIFdlIGNyZWF0ZSBgJHNlbGVjdG9yYCAqL1xyXG4gIC4jeyRpdGVtfSB7XHJcbiAgICAkeDogKCR3aWR0aC1zb2NpYWxJY29uICogJGkpICsgKCRpIC0gMSk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtI3skeH1weCAwO1xyXG4gICAgJGk6ICRpICsxO1xyXG4gIH1cclxufVxyXG4iLCIvLyB1IGlzIHV0aWxpdGllcyBjbGFzc2VzXG5cbi8vIE1vYmlsZSBGaXJzdFxuXG4udS1sZWZ0QWxpZ24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi51LXJpZ2h0QWxpZ24ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udS1jZW50ZXJBbGlnbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4udS1mbG9hdExlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4udS1mbG9hdFJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi51LWNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4udS1jbGVhciB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi51LXZlcnRpY2FsQWxpZ24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi51LW5vVmVydGljYWxBbGlnbiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0b3A6IGF1dG87XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vLyAudS1iZyB7XG4vLyAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2JnLnBuZ1wiKTtcbi8vIH1cblxuLnUtbm9MaXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4udS1wYWRkaW5nTGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuLnUtcGFkZGluZ0JvdHRvbS0tMjAge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4udS1zZWN0aW9uUGFkZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDIwcHggMCAwO1xufVxuXG4udS11cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbmZvcm06IHVwcGVyY2FzZTtcbn1cblxuLnUtaGlkZSwgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG59XG5cbi51LWJhY2tncm91bmQtY29udGFpbiB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4udS1iYWNrZ3JvdW5kLWNvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4udS1mbG9hdC1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnUtc2NyZWVucmVhZGVyIHtcblxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRtZWRpdW0pIHtcbiAgICAudS1NLWNlbnRlckFsaWduIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAudS1NLXZlcnRpY2FsQWxpZ24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC51LU0taGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuICAgIC51LUwtaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLnJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuICAucmF0aW8tMi0xIHtcbiAgICBwYWRkaW5nLXRvcDogNTAlO1xuICB9XG4gIC5yYXRpby0yLTMge1xuICAgIHBhZGRpbmctdG9wOiA2NSU7XG4gIH1cbiAgLnJhdGlvLTQtMSB7XG4gICAgcGFkZGluZy10b3A6IDI1JTtcbiAgfVxuICAucmF0aW8tNC01IHtcbiAgICBwYWRkaW5nLXRvcDogODAlO1xuICB9XG4gIC5yYXRpby01LTEge1xuICAgIHBhZGRpbmctdG9wOiAyMCU7XG4gIH1cbiAgLnJhdGlvLTUtMiB7XG4gICAgcGFkZGluZy10b3A6IDQwJTtcbiAgfVxuICAucmF0aW8tMjAtMSB7XG4gICAgcGFkZGluZy10b3A6IDUlO1xuICB9XG4gIC5yYXRpby1jYXJkIHtcbiAgICBwYWRkaW5nLXRvcDogNjUlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc21hbGwpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3NSU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IDg1JTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA5NSU7XG4gICAgfVxuICB9XG4gIC5yYXRpby1maWx0ZXIge1xuICAgIHBhZGRpbmctdG9wOiA3NyU7XG4gIH1cblxuLmFiLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5tLTAge1xuICBtYXJnaW46IDA7XG59XG5cbi5tdCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLm10LTIge1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbi5tYi0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ubWItMDUge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuLm1iIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ubWItMiB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuLmRpYiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnBhLTA1IHtcbiAgcGFkZGluZzogMC41ZW07XG59XG4ucGEge1xuICBwYWRkaW5nOiAxZW07XG59XG4ucGEtMiB7XG4gIHBhZGRpbmc6IDJlbTtcbn1cbi5wYS0zIHtcbiAgcGFkZGluZzogM2VtO1xufVxuLnBhLTQge1xuICBwYWRkaW5nOiA0ZW07XG59XG5cbi5wYS0yMCB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5wYS0wLUwge1xuICBAaW5jbHVkZSBicmVha3BvaW50ICgkbGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5wYS1MIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGxhcmdlKSB7XG4gICAgcGFkZGluZzogMWVtO1xuICB9XG59XG5cbi5wci0wNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtXG59XG5cbi5wci0yIHtcbiAgcGFkZGluZy1yaWdodDogMmVtXG59XG5cbi5wci01LUwge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVlbTtcbiAgfVxufVxuXG4udGQtbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRhLWMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50YS1yIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50bC1MIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4ucHQtMDUge1xuICBwYWRkaW5nLXRvcDogMC41ZW07XG59XG5cbi5wdCB7XG4gIHBhZGRpbmctdG9wOiAxZW07XG59XG5cbi5wdC0yIHtcbiAgcGFkZGluZy10b3A6IDJlbTtcbn1cblxuLnBsLTIwIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4ucGwtMDUge1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xufVxuXG4ucC1yLTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ucC1sLTAge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5wLWIge1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xufVxuXG4ucC1iLTIge1xuICBwYWRkaW5nLWJvdHRvbTogMmVtO1xufVxuXG4uaC0xMDAge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubWluLTMge1xuICBtaW4taGVpZ2h0OiAzZW07XG59XG4ubWluLTUge1xuICBtaW4taGVpZ2h0OiA1ZW07XG59XG5cbi5vdmVyLWhpZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcmltYXJ5LWJvcmRlci10b3Age1xuICBib3JkZXItdG9wOjRweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbn1cbiIsIkBtZWRpYSBwcmludCB7XG4gIC5uby1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59IiwiLy8gbCBpcyBmb3IgbGF5b3V0IGNsYXNzZXNcclxuXHJcbi5sLWNvbnRlbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICYubC1jb250ZW50LS1wYWRkaW5nIHtcclxuXHQgICAgcGFkZGluZzogMzBweCAwIDQwcHg7XHJcbiAgICB9XHJcblxyXG59XHJcbi5sLWhlYWRlciwgLmwtZm9vdGVyIHtcclxuICAgIG1pbi13aWR0aDogJHNtYWxsO1xyXG59XHJcblxyXG4ubC1pbm5lckNvbnRlbnQge1xyXG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCR4LWxhcmdlKTtcclxuICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAmLnNoYWRvdyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogLTVweCAwIDVweCAwIHJnYmEoMCwgMCwgMCwgLjEyNSksNXB4IDAgNXB4IDAgcmdiYSgwLCAwLCAwLCAuMTI1KTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyAnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG4gICAgJi5uby1wYWQge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAmLmwtaW5uZXJDb250ZW50LS1zcGFjZXItYm90dG9tIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XHJcbiAgICB9XHJcbiAgICAmLmwtaW5uZXJDb250ZW50LS1wdC0yIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMmVtO1xyXG4gICAgfVxyXG4gICAgJi5sLWlubmVyQ29udGVudC0tcGEtMjAge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmLmwtaW5uZXJDb250ZW50LS1wYS00MCB7XHJcbiAgICAgICAgcGFkZGluZzogNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoJG1lZGl1bSkge1xyXG4gICAgLmwtaW5uZXJDb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XHJcbiAgICAubC1MLWlubmVyQ29udGVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCR4LWxhcmdlKTtcclxuICAgICAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblx0LmwtY29udGVudCB7XHJcblxyXG5cdCAgICAmLmwtY29udGVudC0tdXBsaWZ0IHtcclxuXHRcdCAgICBwYWRkaW5nOiAwIDAgNjBweDtcclxuXHRcdCAgICBtYXJnaW4tdG9wOiAtMTIwcHg7XHJcblx0ICAgIH1cclxuXHR9XHJcbn1cclxuXHJcbi5sLW1hcmdpbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbWVkaXVtKSB7XHJcbiAgICAubC1tYXJnaW4ge1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLyogTW9iaWxlIEZpcnN0ICovXHJcblxyXG4vKiogVVNFIE9GVEVOICoqL1xyXG4ubC0xb2YyIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oNik7XHJcbn1cclxuLmwtMW9mMyB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDQpO1xyXG59XHJcbi5sLTFvZjQge1xyXG4gICAgQGluY2x1ZGUgc3BhbigzKTtcclxuICAgICY6bnRoLW9mLXR5cGUoNG4pIHtcclxuICAgICAgICBAaW5jbHVkZSBsYXN0O1xyXG4gICAgfVxyXG59XHJcbi5sLTFvZjYge1xyXG4gICAgQGluY2x1ZGUgc3BhbigyKTtcclxufVxyXG5cclxuLmwtM29mNCB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDkpO1xyXG59XHJcblxyXG4ubC0yb2YzIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oOCk7XHJcbn1cclxuXHJcbi5sLWZ1bGwge1xyXG4gICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbn1cclxuXHJcbi5sLWxhc3Qge1xyXG4gICAgQGluY2x1ZGUgbGFzdDtcclxufVxyXG5cclxuLmwtaGlkZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ubC1oaWRlLWltcG9ydGFudCB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5sLWJsb2NrIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ubC1pbmxpbmUtYmxvY2sge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vLyBBcHBseSB0aGVzZSBmb3Igbm8gZ3V0dGVyXHJcblxyXG4ubC1uZXN0ZWQtZnVsbCB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDEwMCUgbm8tZ3V0dGVyKTtcclxufVxyXG5cclxuLmwtbmVzdGVkLTFvZjQge1xyXG4gICAgQGluY2x1ZGUgc3BhbigyNSUgbm8tZ3V0dGVyKTtcclxufVxyXG5cclxuLmwtbmVzdGVkLTNvZjQge1xyXG4gICAgQGluY2x1ZGUgc3Bhbig3NSUgbm8tZ3V0dGVyKTtcclxufVxyXG5cclxuLmwtbmVzdGVkLTFvZjIge1xyXG4gICAgQGluY2x1ZGUgc3Bhbig1MCUgbm8tZ3V0dGVyKTtcclxufVxyXG5cclxuLmwtbmVzdGVkLTJvZjMge1xyXG4gICAgQGluY2x1ZGUgc3Bhbig2NyUgbm8tZ3V0dGVyKTtcclxufVxyXG4ubC1uZXN0ZWQtMW9mMyB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDMzJSBuby1ndXR0ZXIpO1xyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbWVkaXVtKSB7XHJcbiAgICAubC1NLWhpZGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAubC1NLWJsb2NrIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIC5sLU0taW5saW5lLWJsb2NrIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgICAubC1NLWZ1bGwge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gICAgfVxyXG4gICAgLmwtTS0xb2YyIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDYpO1xyXG4gICAgfVxyXG4gICAgLmwtTS0xb2YzIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDQpO1xyXG4gICAgfVxyXG4gICAgLmwtTS0yb2YzIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDgpO1xyXG4gICAgfVxyXG4gICAgLmwtTS0zb2Y0IHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDkpO1xyXG4gICAgfVxyXG4gICAgLmwtTS0xb2Y0IHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFwcGx5IHRoZXNlIGZvciBubyBndXR0ZXJcclxuXHJcbiAgICAubC1NLW5lc3RlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3BhbigxMDAlIG5vLWd1dHRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmwtTS1uZXN0ZWQtMW9mMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig1MCUgbm8tZ3V0dGVyKTtcclxuICAgIH1cclxuICAgIC5sLU0tbmVzdGVkLTFvZjMge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oMzMuMzMlIG5vLWd1dHRlcik7XHJcbiAgICB9XHJcbiAgICAubC1NLW5lc3RlZC0yb2YzIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDY2LjY2JSBuby1ndXR0ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5sLU0tbmVzdGVkLTFvZjQge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oMjUlIG5vLWd1dHRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmwtTS1uZXN0ZWQtM29mNCB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig3NSUgbm8tZ3V0dGVyKTtcclxuICAgIH1cclxuICAgIC5sLU0tbGFzdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbGFzdDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcclxuICAgIC5sLUwtaGlkZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5sLUwtYmxvY2sge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmwtTC1pbmxpbmUtYmxvY2sge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICB9XHJcbiAgICAubC1MLWZ1bGwge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gICAgfVxyXG4gICAgLmwtTC01b2Y2IHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDEwKTtcclxuICAgIH1cclxuICAgIC5sLUwtMm9mMyB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig4KTtcclxuICAgIH1cclxuXHJcbiAgICAubC1MLTFvZjIge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XHJcbiAgICB9XHJcbiAgICAubC1MLTFvZjItZmx1c2gge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oNTAlIG5vLWd1dHRlcik7XHJcbiAgICB9XHJcbiAgICAubC1MLTFvZjMge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oNCk7XHJcbiAgICB9XHJcbiAgICAubC1MLTJvZjMge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oOCk7XHJcbiAgICB9XHJcbiAgICAubC1MLTFvZjQge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oMyk7XHJcbiAgICB9XHJcbiAgICAubC1MLTJvZjQge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XHJcbiAgICB9XHJcbiAgICAubC1MLTNvZjQge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oOSk7XHJcbiAgICB9XHJcbiAgICAubC1MLTVvZjEyIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDUpO1xyXG4gICAgfVxyXG4gICAgLmwtTC0xb2Y2IHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5sLUwtbGFzdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbGFzdDtcclxuICAgIH1cclxuICAgIC5sLUwtNTAge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgICAubC1ncm91cCB7XHJcbiAgICAgICAgLmwtTC0xb2YyIHtcclxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgybikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGFzdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubC1MLTFvZjMge1xyXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDNuKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXN0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sLUwtMW9mNCB7XHJcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoNG4pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxhc3Q7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoJHgtbGFyZ2UpIHtcclxuICAgIC5sLVhMLTFvZjMge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oNCk7XHJcbiAgICB9XHJcbiAgICAubC1YTC0xb2YyIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDYpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KCR4eC1sYXJnZSkge1xyXG4gICAgLmwtWFhMLTFvZjMge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4oNCk7XHJcbiAgICB9XHJcbiAgICAubC1YWEwtMW9mMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbWVkaXVtICRsYXJnZSkge1xyXG4gICAgLmwtZ3JvdXAge1xyXG4gICAgICAgIC5sLU0tMW9mMyB7XHJcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoM24pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxhc3Q7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmwtTS0xb2Y0IHtcclxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg0bikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGFzdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyByZW0gU3VwcG9ydFxuLy8gPT09PT09PT09PT1cblxuLy8gcmVtXG4vLyAtLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBvdXRwdXQgZGlyZWN0bHkuXG4vLyAtICRwcm9wICA6IDxjc3MgcHJvcGVydHk+XG4vLyAtICR2YWwgICA6IDxjc3MgdmFsdWU+XG5AbWl4aW4gc3VzeS1yZW0oXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgJF9yZXFzOiAoXG4gICAgdmFyaWFibGU6IHJoeXRobS11bml0IHJlbS13aXRoLXB4LWZhbGxiYWNrLFxuICAgIG1peGluOiByZW0sXG4gICk7XG4gIEBpZiBzdXN5LXN1cHBvcnQocmVtLCAkX3JlcXMsICR3YXJuOiBmYWxzZSkgYW5kICRyaHl0aG0tdW5pdCA9PSByZW0ge1xuICAgIEBpbmNsdWRlIHJlbSgkcHJvcCwgJHZhbCk7XG4gIH0gQGVsc2Uge1xuICAgICN7JHByb3B9OiAkdmFsO1xuICB9XG59XG4iLCIvLyBDb250YWluZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09PT09XG5cbi8vIENvbnRhaW5lciBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0IGEgY29udGFpbmVyIGVsZW1lbnRcbi8vIC0gWyRsYXlvdXRdICA6IDxzZXR0aW5ncz5cbkBtaXhpbiBjb250YWluZXIoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgICAgOiAkbGF5b3V0O1xuICAkbGF5b3V0ICAgICA6IHBhcnNlLWdyaWQoJGxheW91dCk7XG5cbiAgJF93aWR0aCAgICAgOiBnZXQtY29udGFpbmVyLXdpZHRoKCRsYXlvdXQpO1xuICAkX2p1c3RpZnkgICA6IHBhcnNlLWNvbnRhaW5lci1wb3NpdGlvbihzdXN5LWdldChjb250YWluZXItcG9zaXRpb24sICRsYXlvdXQpKTtcbiAgJF9wcm9wZXJ0eSAgOiBpZihzdXN5LWdldChtYXRoLCAkbGF5b3V0KSA9PSBzdGF0aWMsIHdpZHRoLCBtYXgtd2lkdGgpO1xuXG4gICRfYm94ICAgICAgIDogc3VzeS1nZXQoYm94LXNpemluZywgJGxheW91dCk7XG5cbiAgQGlmICRfYm94IHtcbiAgICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRfYm94KSk7XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoY29udGFpbmVyLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIGZsb2F0LWNvbnRhaW5lcigkX3dpZHRoLCAkX2p1c3RpZnksICRfcHJvcGVydHkpO1xuICBAaW5jbHVkZSBzaG93LWdyaWQoJGxheW91dCk7XG59XG5cbi8vIENvbnRhaW5lciBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGNvbnRhaW5lciB3aWR0aFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0OiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICBAcmV0dXJuIGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG59XG5cbi8vIEdldCBDb250YWluZXIgV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSB0aGUgY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XTogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGdldC1jb250YWluZXItd2lkdGgoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgJGxheW91dCAgICAgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcbiAgJF93aWR0aCAgICAgICAgIDogc3VzeS1nZXQoY29udGFpbmVyLCAkbGF5b3V0KTtcbiAgJF9jb2x1bW4td2lkdGggIDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkbGF5b3V0KTtcbiAgJF9tYXRoICAgICAgICAgIDogc3VzeS1nZXQobWF0aCwgJGxheW91dCk7XG5cbiAgQGlmIG5vdCgkX3dpZHRoKSBvciAkX3dpZHRoID09IGF1dG8ge1xuICAgIEBpZiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKSB7XG4gICAgICAkX2NvbHVtbnMgICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRsYXlvdXQpO1xuICAgICAgJF9ndXR0ZXJzICAgOiBzdXN5LWdldChndXR0ZXJzLCAkbGF5b3V0KTtcbiAgICAgICRfc3ByZWFkICAgIDogaWYoaXMtc3BsaXQoJGxheW91dCksIHdpZGUsIG5hcnJvdyk7XG4gICAgICAkX3dpZHRoICAgICA6IHN1c3ktc3VtKCRfY29sdW1ucywgJF9ndXR0ZXJzLCAkX3NwcmVhZCkgKiAkX2NvbHVtbi13aWR0aDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRfd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3dpZHRoO1xufVxuXG4vLyBQYXJzZSBDb250YWluZXIgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGFyc2UgdGhlICRjb250YWluZXItcG9zaXRpb24gaW50byBtYXJnaW4gdmFsdWVzLlxuLy8gLSBbJGp1c3RpZnldICAgOiBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgfCA8bGVuZ3RoPiBbPGxlbmd0aD5dXG5AZnVuY3Rpb24gcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKFxuICAkanVzdGlmeTogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgY29udGFpbmVyLXBvc2l0aW9uKVxuKSB7XG4gICRfcmV0dXJuOiBpZigkanVzdGlmeSA9PSBsZWZ0LCAwLCBhdXRvKSBpZigkanVzdGlmeSA9PSByaWdodCwgMCwgYXV0byk7XG5cbiAgQGlmIG5vdChpbmRleChsZWZ0IHJpZ2h0IGNlbnRlciwgJGp1c3RpZnkpKSB7XG4gICAgJF9yZXR1cm46IG50aCgkanVzdGlmeSwgMSk7XG4gICAgJF9yZXR1cm46ICRfcmV0dXJuIGlmKGxlbmd0aCgkanVzdGlmeSkgPiAxLCBudGgoJGp1c3RpZnksIDIpLCAkX3JldHVybik7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuIiwiLy8gU3VzeSBGYWxsYmFjayBDbGVhcmZpeFxuLy8gPT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENsZWFyZml4XG4vLyAtLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG5AbWl4aW4gc3VzeS1jbGVhcmZpeCB7XG4gIEBpZiBzdXN5LXN1cHBvcnQoY2xlYXJmaXgsIChtaXhpbjogY2xlYXJmaXgpKSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH0gQGVsc2Uge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU3BhbiBTeW50YXhcbi8vID09PT09PT09PT09XG5cbi8vIFNwYW4gW21peGluXVxuLy8gLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBzcGFubmluZyBlbGVtZW50IHVzaW5nIHNob3J0aGFuZCBzeW50YXguXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3Q6ICRzcGFuO1xuICAkc3BhbjogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRvdXRwdXQ6IHNwYW4tbWF0aCgkc3Bhbik7XG4gICRuZXN0aW5nOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRjbGVhcjogc3VzeS1nZXQoY2xlYXIsICRzcGFuKTtcblxuICAkYm94OiBzdXN5LWdldChib3gtc2l6aW5nLCAkc3Bhbik7XG4gICRjb250ZW50LWJveDogaWYoc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpICE9ICdib3JkZXItYm94JywgdHJ1ZSwgZmFsc2UpO1xuICAkYm94OiAkYm94IG9yIGlmKGlzLWluc2lkZSgkc3BhbikgYW5kICRjb250ZW50LWJveCwgYm9yZGVyLWJveCwgbnVsbCk7XG5cbiAgQGlmICRjbGVhciA9PSBicmVhayB7XG4gICAgQGluY2x1ZGUgYnJlYWs7XG4gIH0gQGVsc2UgaWYgJGNsZWFyID09IG5vYnJlYWsge1xuICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qoc3BhbiwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRib3gpKTtcbiAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgQGlmIHZhbGlkLWNvbHVtbnMoJG5lc3RpbmcsIHNpbGVudCkge1xuICAgIEBpbmNsdWRlIG5lc3RlZCgkc3BhbikgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBTcGFuIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIHNwYW4uXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQGZ1bmN0aW9uIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgQHJldHVybiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XG59XG5cbi8vIFNwYW4gTWF0aFxuLy8gLS0tLS0tLS0tXG4vLyBHZXQgYWxsIHRoZSBzcGFuIHJlc3VsdHMuXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIHNwYW4tbWF0aChcbiAgJHNwYW5cbikge1xuICAkbmVzdCAgICAgICAgICAgICA6IGlmKHN1c3ktZ2V0KHJvbGUsICRzcGFuKSA9PSBuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRzcGxpdC1uZXN0ICAgICAgIDogaWYoaXMtc3BsaXQoJHNwYW4pIGFuZCAkbmVzdCwgdHJ1ZSwgZmFsc2UpO1xuICAkZWRnZSAgICAgICAgICAgICA6IGdldC1lZGdlKCRzcGFuKTtcbiAgJGxvY2F0aW9uICAgICAgICAgOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xuXG4gICRmbG9hdCAgICAgICAgICAgIDogZnJvbTtcbiAgJHBhZGRpbmctYmVmb3JlICAgOiBudWxsO1xuICAkcGFkZGluZy1hZnRlciAgICA6IG51bGw7XG4gICRtYXJnaW4tYmVmb3JlICAgIDogbnVsbDtcbiAgJG1hcmdpbi1hZnRlciAgICAgOiBudWxsO1xuXG4gIC8vIGNhbGN1bGF0ZSB3aWR0aHNcbiAgJHNwcmVhZDogaW5kZXgobWFwLXZhbHVlcygkc3BhbiksIHNwcmVhZCk7XG4gICRzcGFuOiBpZigkc3BsaXQtbmVzdCBhbmQgbm90KCRzcHJlYWQpLCBtYXAtbWVyZ2UoJHNwYW4sIChzcHJlYWQ6IHdpZGUpKSwgJHNwYW4pO1xuICAkd2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbiAgJGd1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcblxuICAvLyBhcHBseSBndXR0ZXJzXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICBAaWYgbm90KHN1c3ktZ2V0KHJvbGUsICRzcGFuKSkge1xuICAgICAgJHBhZGRpbmctYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBub3QoJHNwbGl0LW5lc3QpIHtcbiAgICAgICRtYXJnaW4tYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJG1hcmdpbi1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNwZWNpYWwgbWFyZ2luIGhhbmRsaW5nXG4gIEBpZiBzdXN5LWdldChvdXRwdXQsICRzcGFuKSA9PSBpc29sYXRlIGFuZCAkbG9jYXRpb24ge1xuICAgICRtYXJnaW4tYmVmb3JlOiBnZXQtaXNvbGF0aW9uKCRzcGFuKTtcbiAgICAkbWFyZ2luLWFmdGVyOiAtMTAwJTtcbiAgfSBAZWxzZSBpZiAkZWRnZSB7XG4gICAgJGlzLXNwbGl0OiBpcy1zcGxpdCgkc3Bhbik7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG5cbiAgICBAaWYgJGVkZ2UgPT0gbGFzdCB7XG4gICAgICAkZmxvYXQ6IHN1c3ktZ2V0KGxhc3QtZmxvdywgJHNwYW4pO1xuICAgIH1cblxuICAgIEBpZiBub3QoJGlzLXNwbGl0KSB7XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gZmlyc3QgYW5kICRwb3MgPT0gYmVmb3JlKSB7XG4gICAgICAgICRtYXJnaW4tYmVmb3JlOiAwO1xuICAgICAgfVxuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGxhc3QgYW5kICRwb3MgPT0gYWZ0ZXIpIHtcbiAgICAgICAgJG1hcmdpbi1hZnRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIEByZXR1cm4gKFxuICAgIHdpZHRoICAgICAgICAgICA6ICR3aWR0aCxcbiAgICBmbG9hdCAgICAgICAgICAgOiAkZmxvYXQsXG4gICAgbWFyZ2luLWJlZm9yZSAgIDogJG1hcmdpbi1iZWZvcmUsXG4gICAgbWFyZ2luLWFmdGVyICAgIDogJG1hcmdpbi1hZnRlcixcbiAgICBwYWRkaW5nLWJlZm9yZSAgOiAkcGFkZGluZy1iZWZvcmUsXG4gICAgcGFkZGluZy1hZnRlciAgIDogJHBhZGRpbmctYWZ0ZXIsXG4gICAgZmxvdyAgICAgICAgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxuICApO1xufVxuXG4vLyBHZXQgU3BhbiBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBzcGFuIHdpZHRoLlxuLy8gLSAkc3BhbjogPG1hcD5cbkBmdW5jdGlvbiBnZXQtc3Bhbi13aWR0aChcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcblxuICAkbiAgICAgICAgOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRsb2NhdGlvbiA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG4gICRjb2x1bW5zICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKTtcbiAgJGd1dHRlcnMgIDogc3VzeS1nZXQoZ3V0dGVycywgJHNwYW4pO1xuICAkc3ByZWFkICAgOiBzdXN5LWdldChzcHJlYWQsICRzcGFuKTtcblxuICAkY29udGV4dCAgOiBudWxsO1xuICAkc3Bhbi1zdW0gOiBudWxsO1xuICAkd2lkdGggICAgOiBudWxsO1xuXG4gIEBpZiAkbiA9PSAnZnVsbCcge1xuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xuICAgICRyb2xlOiBzdXN5LWdldChyb2xlLCAkc3Bhbik7XG4gICAgJG46IGlmKCRwb3MgPT0gc3BsaXQgYW5kICRyb2xlICE9IG5lc3QsIHN1c3ktY291bnQoJGNvbHVtbnMpLCAxMDAlKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRuKSAhPSBudW1iZXIge1xuICAgIEB3YXJuIFwiKCN7dHlwZS1vZigkbil9KSAjeyRufSBpcyBub3QgYSB2YWxpZCBzcGFuLlwiO1xuICB9IEBlbHNlIGlmIHVuaXRsZXNzKCRuKSB7XG4gICAgJGNvbnRleHQ6IHN1c3ktc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgaWYoaXMtc3BsaXQoJHNwYW4pLCB3aWRlLCBuYXJyb3cpKTtcbiAgICAkc3ByZWFkOiBpZihpcy1pbnNpZGUoJHNwYW4pLCAkc3ByZWFkIG9yIHdpZGUsICRzcHJlYWQpO1xuICAgICRzcGFuLXN1bTogc3VzeSgkbiwgJGxvY2F0aW9uLCAkY29sdW1ucywgJGd1dHRlcnMsICRzcHJlYWQpO1xuXG4gICAgJF9tYXRoOiBzdXN5LWdldChtYXRoLCAkc3Bhbik7XG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJHNwYW4pO1xuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcbiAgICAgICR3aWR0aDogJHNwYW4tc3VtICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJHNwYW4tc3VtIC8gJGNvbnRleHQpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJHdpZHRoOiAkbjtcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuIiwiLy8gRGlyZWN0aW9uIEhlbHBlcnNcbi8vID09PT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgRmxvdyBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBmbG93OiBsdHIsXG4pKTtcblxuLy8gR2V0IERpcmVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgb3IgJ3RvJyBkaXJlY3Rpb24gb2YgYSBsdHIgb3IgcnRsIGZsb3cuXG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG4vLyAtIFska2V5XSAgIDogZnJvbSB8IHRvXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbihcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpLFxuICAka2V5OiBmcm9tXG4pIHtcbiAgJHJldHVybjogaWYoJGZsb3cgPT0gcnRsLCAoZnJvbTogcmlnaHQsIHRvOiBsZWZ0KSwgKGZyb206IGxlZnQsIHRvOiByaWdodCkpO1xuICBAcmV0dXJuIG1hcC1nZXQoJHJldHVybiwgJGtleSk7XG59XG5cbi8vIFRvXG4vLyAtLVxuLy8gUmV0dXJuIHRoZSAndG8nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiB0byhcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCB0byk7XG59XG5cbi8vIEZyb21cbi8vIC0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiBmcm9tKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIGZyb20pO1xufVxuIiwiLy8gR3V0dGVyIFN5bnRheFxuLy8gPT09PT09PT09PT09PVxuXG5cbi8vIEd1dHRlcnNcbi8vIC0tLS0tLS1cbi8vIFNldCBndXR0ZXJzIG9uIGFuIGVsZW1lbnQuXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cbkBtaXhpbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgOiAkc3BhbjtcbiAgJHNwYW4gICAgIDogcGFyc2UtZ3V0dGVycygkc3Bhbik7XG4gICRfZ3V0dGVycyA6IGdldC1ndXR0ZXJzKCRzcGFuKTtcblxuICAkX291dHB1dDogKFxuICAgIGJlZm9yZTogbWFwLWdldCgkX2d1dHRlcnMsIGJlZm9yZSksXG4gICAgYWZ0ZXI6IG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlciksXG4gICAgZmxvdzogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxuICApO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChndXR0ZXJzLCAkaW5zcGVjdCk7XG5cbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpbmNsdWRlIHBhZGRpbmctb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luLW91dHB1dCgkX291dHB1dC4uLik7XG4gIH1cbn1cblxuQG1peGluIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgZ3V0dGVycygkc3Bhbik7XG59XG5cblxuLy8gR3V0dGVyXG4vLyAtLS0tLS1cbi8vIFJldHVybiB0aGUgd2lkdGggb2YgYSBndXR0ZXIuXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBndXR0ZXIoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRzcGFuOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcblxuICAkX2d1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSBvciBtYXAtZ2V0KCRfZ3V0dGVycywgYWZ0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXJzO1xufVxuXG5AZnVuY3Rpb24gZ3V0dGVycyhcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgQHJldHVybiBndXR0ZXIoJHNwYW4pO1xufVxuXG5cbi8vIEdldCBHdXR0ZXIgV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBndXR0ZXIgd2lkdGguXG4vLyAtIFskY29udGV4dF06IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGdldC1ndXR0ZXItd2lkdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRjb250ZXh0ICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVycyA6IHN1c3ktZ2V0KGd1dHRlcnMsICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgIDogc3VzeS1nZXQoZ3V0dGVyLW92ZXJyaWRlLCAkY29udGV4dCk7XG5cbiAgQGlmICRfZ3V0dGVycyBhbmQgKCRfZ3V0dGVycyA+IDApIGFuZCBub3QoJF9ndXR0ZXIpIHtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkY29udGV4dCk7XG4gICAgJF9tYXRoOiBndXR0ZXItbWF0aCgkY29udGV4dCk7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJF9ndXR0ZXI6ICRfZ3V0dGVycyAqIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF9jb2x1bW5zIDogc3VzeS1nZXQoY29sdW1ucywgJGNvbnRleHQpO1xuICAgICAgJF9zcHJlYWQgIDogaWYoaXMtc3BsaXQoJGNvbnRleHQpLCB3aWRlLCBzdXN5LWdldChzcHJlYWQsICRjb250ZXh0KSk7XG4gICAgICAkX2d1dHRlciAgOiBwZXJjZW50YWdlKCRfZ3V0dGVycyAvIHN1c3ktc3VtKCRfY29sdW1ucywgJF9ndXR0ZXJzLCAkX3NwcmVhZCkpO1xuICAgIH1cbiAgfVxuXG4gICRfZ3V0dGVyOiBpZigkX2d1dHRlciA9PSAnbm8tZ3V0dGVycycgb3IgJF9ndXR0ZXIgPT0gJ25vLWd1dHRlcicsIG51bGwsICRfZ3V0dGVyKTtcblxuICBAcmV0dXJuICRfZ3V0dGVyO1xufVxuXG5cbi8vIEdldCBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGJlZm9yZSBhbmQgYWZ0ZXIgZ3V0dGVyIHZhbHVlcy5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlcnMoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRjb250ZXh0ICAgICAgICAgICAgOiBwYXJzZS1ndXR0ZXJzKCRjb250ZXh0KTtcblxuICAkX2d1dHRlci1wb3NpdGlvbiAgIDogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG4gICRfZ3V0dGVyICAgICAgICAgICAgOiBnZXQtZ3V0dGVyLXdpZHRoKCRjb250ZXh0KTtcblxuICAkX3JldHVybiAgICAgICAgICAgIDogKGJlZm9yZTogbnVsbCwgYWZ0ZXI6IG51bGwpO1xuXG4gIEBpZiBpcy1zcGxpdCgkY29udGV4dCkgYW5kICRfZ3V0dGVyIHtcbiAgICAkX2d1dHRlcjogJF9ndXR0ZXIgLyAyO1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChiZWZvcmU6ICRfZ3V0dGVyLCBhZnRlcjogJF9ndXR0ZXIpKTtcbiAgfSBAZWxzZSB7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKCRfZ3V0dGVyLXBvc2l0aW9uOiAkX2d1dHRlcikpO1xuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBJcyBJbnNpZGVcbi8vIC0tLS0tLS0tLVxuLy8gUmV0dXJucyB0cnVlIGlmIGd1dHRlcnMgYXJlIGluc2lkZS5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1pbnNpZGUoXG4gICRjb250ZXh0XG4pIHtcbiAgJF9pbnNpZGU6IGluc2lkZSBpbnNpZGUtc3RhdGljO1xuICAkX2d1dHRlci1wb3NpdGlvbjogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG5cbiAgQHJldHVybiBpZihpbmRleCgkX2luc2lkZSwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gSXMgU3BsaXRcbi8vIC0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgc3BsaXQuXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gaXMtc3BsaXQoXG4gICRjb250ZXh0XG4pIHtcbiAgJF9zcGxpdDogc3BsaXQgaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfc3BsaXQsICRfZ3V0dGVyLXBvc2l0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xufVxuXG5cbi8vIEd1dHRlciBNYXRoXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSBtYXRoIHRvIHVzZSBmb3IgZ3V0dGVyIGNhbGN1bGF0aW9uc1xuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGd1dHRlci1tYXRoKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkX3JldHVybiAgOiBzdXN5LWdldChtYXRoLCAkY29udGV4dCk7XG4gICRfcmV0dXJuICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpID09IGluc2lkZS1zdGF0aWMsIHN0YXRpYywgJF9yZXR1cm4pO1xuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBSb3cgU3RhcnQgJiBFbmRcbi8vID09PT09PT09PT09PT09PVxuXG4vLyBCcmVha1xuLy8gLS0tLS1cbi8vIEFwcGx5IHRvIGFueSBlbGVtZW50IHRoYXQgc2hvdWxkIGZvcmNlIGEgbGluZSBicmVhay5cbkBtaXhpbiBicmVhayB7XG4gIEBpbmNsdWRlIG91dHB1dCgoY2xlYXI6IGJvdGgpKTtcbn1cblxuXG4vLyBOb0JyZWFrXG4vLyAtLS0tLS0tXG4vLyBDYW5jZWwgdGhlIGJyZWFrKCkgZWZmZWN0LCBlLmcuIHdoZW4gdXNpbmcgbWVkaWEgcXVlcmllcy5cbkBtaXhpbiBub2JyZWFrIHtcbiAgQGluY2x1ZGUgb3V0cHV0KChjbGVhcjogbm9uZSkpO1xufVxuXG5cbi8vIEZ1bGxcbi8vIC0tLS1cbi8vIC0gWyRjb250ZXh0XTogPGxheW91dCBzaG9ydGhhbmQ+XG5AbWl4aW4gZnVsbChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgOiAkY29udGV4dDtcbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGZ1bGwsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgc3BhbihmdWxsIG9mIHBhcnNlLWdyaWQoJGNvbnRleHQpIGJyZWFrKTtcbn1cblxuXG4vLyBGaXJzdFxuLy8gLS0tLS1cbi8vIC0gWyRjb250ZXh0XTogPHNldHRpbmdzPlxuQG1peGluIGZpcnN0KFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgOiAkY29udGV4dDtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3JpZCgkY29udGV4dCk7XG4gICRmbG93ICAgICA6IHN1c3ktZ2V0KGZsb3csICRjb250ZXh0KTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZmlyc3QsICRpbnNwZWN0KTtcbiAgQGlmIG5vdChpcy1zcGxpdCgkY29udGV4dCkpIHtcbiAgICBAaW5jbHVkZSBmbG9hdC1maXJzdCgkZmxvdyk7XG4gIH1cbn1cblxuQG1peGluIGFscGhhKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICBAaW5jbHVkZSBmaXJzdCgkY29udGV4dCk7XG59XG5cblxuLy8gTGFzdFxuLy8gLS0tLVxuLy8gLSBbJGNvbnRleHRdOiA8c2V0dGluZ3M+XG5AbWl4aW4gbGFzdChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGNvbnRleHQ7XG4gICRjb250ZXh0ICA6IHBhcnNlLWdyaWQoJGNvbnRleHQpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChsYXN0LCAkaW5zcGVjdCk7XG5cbiAgJG91dHB1dDogKFxuICAgIGZsb3c6IHN1c3ktZ2V0KGZsb3csICRjb250ZXh0KSxcbiAgICBsYXN0LWZsb3c6IHN1c3ktZ2V0KGxhc3QtZmxvdywgJGNvbnRleHQpLFxuICAgIG1hcmdpbjogaWYoaXMtc3BsaXQoJGNvbnRleHQpLCBudWxsLCAwKSxcbiAgKTtcblxuICBAaW5jbHVkZSBmbG9hdC1sYXN0KCRvdXRwdXQuLi4pO1xufVxuXG5AbWl4aW4gb21lZ2EoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gIEBpbmNsdWRlIGxhc3QoJGNvbnRleHQpO1xufVxuXG5cbi8vIEdldCBFZGdlXG4vLyAtLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIGVkZ2UgdmFsdWUgYmFzZWQgb24gbG9jYXRpb24sIGlmIHBvc3NpYmxlXG5AZnVuY3Rpb24gZ2V0LWVkZ2UoXG4gICRzcGFuXG4pIHtcbiAgJHNwYW4gICAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJGVkZ2UgICAgICAgOiBzdXN5LWdldChlZGdlLCAkc3Bhbik7XG5cbiAgQGlmIG5vdCgkZWRnZSkge1xuICAgICRjb3VudDogc3VzeS1jb3VudChzdXN5LWdldChjb2x1bW5zLCAkc3BhbikpO1xuICAgICRsb2NhdGlvbjogc3VzeS1nZXQobG9jYXRpb24sICRzcGFuKTtcbiAgICAkbjogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuXG4gICAgJG51bWJlcjogaWYodHlwZS1vZigkbG9jYXRpb24pID09IG51bWJlciwgdHJ1ZSwgZmFsc2UpO1xuICAgICRpbmRleDogaWYoJG51bWJlciBhbmQgdW5pdGxlc3MoJGxvY2F0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xuXG4gICAgQGlmICRuID09ICRjb3VudCB7XG4gICAgICAkZWRnZTogZnVsbDtcbiAgICB9IEBlbHNlIGlmICRsb2NhdGlvbiBhbmQgJG4gYW5kICRpbmRleCB7XG4gICAgICBAaWYgJGxvY2F0aW9uID09IDEge1xuICAgICAgICAkZWRnZTogaWYoJG4gPT0gJGNvdW50LCBmdWxsLCBmaXJzdCk7XG4gICAgICB9IEBlbHNlIGlmICRsb2NhdGlvbiArICRuIC0gMSA9PSAkY291bnQge1xuICAgICAgICAkZWRnZTogbGFzdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVkZ2UgPT0gYWxwaGEgb3IgJGVkZ2UgPT0gb21lZ2Ege1xuICAgICRlZGdlOiBpZigkZWRnZSA9PSBhbHBoYSwgZmlyc3QsIGxhc3QpO1xuICB9XG5cbiAgQHJldHVybiAkZWRnZTtcbn1cblxuXG4vLyBHZXQgTG9jYXRpb25cbi8vIC0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIGxvY2F0aW9uIHZhbHVlIGJhc2VkIG9uIGVkZ2UsIGlmIHBvc3NpYmxlXG5AZnVuY3Rpb24gZ2V0LWxvY2F0aW9uKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRsb2NhdGlvbiAgIDogc3VzeS1nZXQobG9jYXRpb24sICRzcGFuKTtcbiAgJGVkZ2UgICAgICAgOiBnZXQtZWRnZSgkc3Bhbik7XG4gICRuICAgICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuXG4gIEBpZiAkZWRnZSBhbmQgbm90KCRsb2NhdGlvbikgYW5kIHR5cGUtb2YoJG4pID09IG51bWJlciBhbmQgdW5pdGxlc3MoJG4pIHtcbiAgICBAaWYgJGVkZ2UgPT0gZmlyc3Qge1xuICAgICAgJGxvY2F0aW9uOiAxO1xuICAgIH0gQGVsc2UgaWYgJGVkZ2UgPT0gbGFzdCB7XG4gICAgICAkbG9jYXRpb246IHN1c3ktY291bnQoc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pKSAtICRuICsgMTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsb2NhdGlvblxufVxuIiwiLmwtaGVhZGVyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Ly8gYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLmhlYWRlci1sb2dvIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogNTQlO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1lZGl1bSkge1xyXG5cdFx0XHRcdHdpZHRoOiA2NCU7XHJcblx0XHRcdH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cdC5ob21lcGFnZS1pbWFnZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdHdpZHRoOiA2NHZ3O1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0dG9wOiAxMHZ3O1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHh4LWxhcmdlKSB7XHJcblx0XHRcdHRvcDogMHZ3O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnNtYWxsLWhlcm8taW1hZ2Uge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHR3aWR0aDogMzJ2dztcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHdpZHRoOiAyNnZ3O1xyXG5cdFx0aGVpZ2h0OiAzMHZ3O1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Ly8gYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2dzZWYtaGVhZGVyLXRvcC1sZWZ0LnBuZ1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1lZGl1bSkge1xyXG5cdFx0XHR3aWR0aDogMjN2dztcclxuXHRcdH1cclxuXHR9XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHdpZHRoOiAyOHZ3O1xyXG5cdFx0aGVpZ2h0OiAzMHZ3O1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHQvLyBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvZ3NlZi1oZWFkZXItdG9wLXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1lZGl1bSkge1xyXG5cdFx0XHR3aWR0aDogMjN2dztcclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KCRtZWRpdW0pIHtcclxuXHQubC1oZWFkZXIge1xyXG5cdCAgICAuaGVhZGVyLWxvZ28ge1xyXG5cdCAgICAgICAgaW1nIHtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDMwcHggNTBweDtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxNXB4O1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxNXB4O1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IGJvdHRvbS1zaGFkb3coMSksIHRvcC1zaGFkb3coMSk7XHJcblx0ICAgICAgICB9XHJcblx0ICAgIH1cclxuXHR9XHJcbn1cclxuIiwiLnNwb25zb3JzaGlwIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC5zcG9uc29yc2hpcC1iYW5uZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubC1mb290ZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTVweCk7XHJcbiAgICBmb250LWZhbWlseTogJHRleHQtZm9udC1yZWd1bGFyO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuZm9vdGVybmF2IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMzB2dztcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiA2MHZ3O1xyXG4gICAgICAgIGhlaWdodDogMzB2dztcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvZ3NlZi1mb290ZXItYm90dG9tLWxlZnQucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1jb3B5cmlnaHQge1xyXG4gICAgJi0tY2VudGVyZWQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoJG1lZGl1bSkge1xyXG5cclxuICAgIC5zcG9uc29yc2hpcCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAuc3BvbnNvcnNoaXAtYmFubmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubC1mb290ZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdGVybmF2IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC5mb290ZXJuYXZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgfVxyXG4gICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcclxuICAgIC5zcG9uc29yc2hpcCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoJHgtbGFyZ2UpIHtcclxuICAgIC5sLWZvb3RlciB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb290ZXJuYXYge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLm1hdGVyaWFsLWljb25zIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtc2l6ZTogMjRweDsgIC8qIFByZWZlcnJlZCBpY29uIHNpemUgKi9cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xyXG4gICAgLyogU3VwcG9ydCBmb3IgYWxsIFdlYktpdCBicm93c2Vycy4gKi9cclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgLyogU3VwcG9ydCBmb3IgU2FmYXJpIGFuZCBDaHJvbWUuICovXHJcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG5cclxuICAgIC8qIFN1cHBvcnQgZm9yIEZpcmVmb3guICovXHJcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG5cclxuICAgIC8qIFN1cHBvcnQgZm9yIElFLiAqL1xyXG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XHJcbn0iLCIuaG9tZV9fdGFiLS1oZWFkaW5nIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDMycHgpO1xuICBmb250LWZhbWlseTogJHRleHQtZm9udC1ib2xkO1xuICBtYXJnaW46IDAuNWVtIDAuNWVtIDAuMjVlbSAwO1xufVxuXG4uaG9tZV9fdGFiLS1ibG9jay1oZWFkaW5nIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDI3cHgpO1xuICBmb250LWZhbWlseTogJHRleHQtZm9udC1ib2xkO1xuICBtYXJnaW46IDAuNWVtIDAuNWVtIDAuNWVtIDBcbn1cblxuLmhvbWVfX3RvcC1iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRtZWRpdW0pIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIHBhZGRpbmctdG9wOiAzMiU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkeC1sYXJnZSkge1xuICAgIHBhZGRpbmctdG9wOiAzMCU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkeHgtbGFyZ2UpIHtcbiAgICBwYWRkaW5nLXRvcDogMjQlO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTYwMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IDIwJTtcbiAgfVxufVxuLmhvbWVfX3RvcC1iYW5uZXItLWFiLWZpbGwge1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICBib3R0b206MDtcbiAgICByaWdodDogMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxufVxuLmhvbWVfX3RvcC1iYW5uZXItLWJnIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cbi5ob21lX190b3AtYmFubmVyIHtcbiAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2MCU7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICB9XG4gICAgICAgIC52aWRlby1qcyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzYwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC52anMtYmlnLXBsYXktYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogMzAlO1xuICAgICAgICAgICAgd2lkdGg6IDE3JTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHRvcDogMzglO1xuICAgICAgICAgICAgbGVmdDogNDMlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy92aWRlby1wbGF5LnN2ZycpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXHQudmlkZW8tanM6aG92ZXIgLnZqcy1iaWctcGxheS1idXR0b24ge1xuICAgIFx0ICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgXHR9XG4gICAgXHQudmlkZW8tanMgLnZqcy1jb250cm9sLWJhciB7XG4gICAgXHQgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDYwLDEwNSwwLjgpO1xuICAgIFx0fVxuICAgICAgICAudmpzLXBvc3RlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkeHgtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHgtbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR4eC1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ob21lX190b3BfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR4LWxhcmdlKSB7XG4gICAgICAgICAgd2lkdGg6IDU1JTtcbiAgICAgIH1cbiAgICB9XG59XG5cbi5ob21lX190aGluLWNhcmQtLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDEuNiU7XG59XG5cbi5ob21lX19wcm9tby1pbWFnZSB7XG4gICAgcGFkZGluZy10b3A6IDkwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuXG4uaG9tZV9fcHJvbW8tYmxvY2sge1xuICAgIC50aXRsZS1sYXJnZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMHB4KTtcbiAgICB9XG4gICAgLnRpdGxlLW1lZGl1bSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWVkaXVtKSB7XG4gICAgICAgIC50aXRsZS1sYXJnZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlLW1lZGl1bSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5icmVhZGNydW1icyB7XHJcbiAgICBwYWRkaW5nOiAwIDAgMzBweCAwO1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTRweCk7XHJcbiAgICAuYnJlYWRjcnVtYi1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuYnJlYWRjcnVtYi1kaXZpZGVyIHtcclxuICAgICAgICBtYXJnaW46IDAgNXB4IDAgNXB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi5wYWRkZWQtbGlua3Mge1xuICAgIC5wYWRkZWQtbGlua3NfX2xpc3Qge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5wYWRkZWQtbGlua3NfX2l0ZW0ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAxMHB4IDIwcHg7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWRkZWQtbGlua3NfX2xhYmVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAucGFkZGVkLWxpbmtzX19saW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGxvYWRpbmctY2FyZCB7XHJcbiAgICAwJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAlIDUwJX1cclxuICAgIDUwJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgNTAlfVxyXG4gICAgMTAwJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAlIDUwJX1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgbG9hZGluZy1jYXJkIHtcclxuICAgIDAle2JhY2tncm91bmQtcG9zaXRpb246MCUgNTAlfVxyXG4gICAgNTAle2JhY2tncm91bmQtcG9zaXRpb246MTAwJSA1MCV9XHJcbiAgICAxMDAle2JhY2tncm91bmQtcG9zaXRpb246MCUgNTAlfVxyXG59XHJcbkAtby1rZXlmcmFtZXMgbG9hZGluZy1jYXJkIHtcclxuICAgIDAle2JhY2tncm91bmQtcG9zaXRpb246MCUgNTAlfVxyXG4gICAgNTAle2JhY2tncm91bmQtcG9zaXRpb246MTAwJSA1MCV9XHJcbiAgICAxMDAle2JhY2tncm91bmQtcG9zaXRpb246MCUgNTAlfVxyXG59XHJcbkBrZXlmcmFtZXMgbG9hZGluZy1jYXJkIHtcclxuICAgIDAle2JhY2tncm91bmQtcG9zaXRpb246MCUgNTAlfVxyXG4gICAgNTAle2JhY2tncm91bmQtcG9zaXRpb246MTAwJSA1MCV9XHJcbiAgICAxMDAle2JhY2tncm91bmQtcG9zaXRpb246MCUgNTAlfVxyXG59XHJcblxyXG4uY2FyZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG4gICAgQGluY2x1ZGUgY2FyZCgxKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmLm92ZXItaW5oZXJpdCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgICAmLmNhcmQtbG9hZGluZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgI2ZmZmZmZiwgI2M4YzhjOCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MDAlIDQwMCU7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGxvYWRpbmctY2FyZCA1cyBlYXNlIGluZmluaXRlO1xyXG4gICAgICAgIC1tb3otYW5pbWF0aW9uOiBsb2FkaW5nLWNhcmQgNXMgZWFzZSBpbmZpbml0ZTtcclxuICAgICAgICAtby1hbmltYXRpb246IGxvYWRpbmctY2FyZCA1cyBlYXNlIGluZmluaXRlO1xyXG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGluZy1jYXJkIDVzIGVhc2UgaW5maW5pdGU7XHJcbiAgICAgICAgaW1nIHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gc3RhbmRhcmQgeWVsbG93IGNhcmQgd2l0aCBpbWFnZSB0byB0aGUgcmlnaHRcclxuICAgICYuY2FyZC0teWVsbG93IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xyXG4gICAgICAgIC5jYXJkX19jb250ZW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcmRfX2NvbnRlbnQtLWlubmVyIHtcclxuICAgIFx0XHRoNCB7XHJcbiAgICBcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICBcdFx0fVxyXG5cclxuICAgIFx0XHRoMi5sYXJnZXIge1xyXG4gICAgXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDI3cHgpO1xyXG4gICAgXHRcdH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcmRfX2Rvd25sb2FkIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGJsdWUgY2FyZHMgLyBsaWdodCBtaW5pIC8gZGFyayBzdGFuZGFyZFxyXG4gICAgJi5jYXJkLS1ibHVlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHQgICAgLmNhcmRfX2NvbnRlbnQge1xyXG5cdFx0ICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xyXG5cdFx0ICAgIGZsb2F0OiBsZWZ0O1xyXG5cdFx0ICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0aDQsIGgyLCBwLCBibG9ja3F1b3RlLCBmb290ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdH1cclxuXHQgICAgfVxyXG4gICAgICAgICYuY2FyZC0tbGlnaHQtYmx1ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICAgICAgICAgIC5jYXJkX19jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICBoNCwgaDIsIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBoNCwgaDIsIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cdCAgICAmLmNhcmQtLWJsdWUtZGFyayB7XHJcblx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0ICAgIH1cclxuICAgIH1cclxuICAgICYuY2FyZC0tbGlnaHQtYmx1ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuICAgICAgICAuY2FyZF9fY29udGVudCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICAgICAgICAgIGg0LCBoMiwgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBoNCwgaDIsIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIHJlZCBjYXJkIHN0YW5kYXJkXHJcbiAgICAmLmNhcmQtLXJlZCB7XHJcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcblx0ICAgIC5jYXJkX19jb250ZW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuXHRcdFx0aDQsIGgyLCBwIHtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHR9XHJcblx0ICAgIH1cclxuICAgIH1cclxuICAgICYuY2FyZC0tb3JhbmdlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgIC5jYXJkX19jb250ZW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcclxuICAgICAgICAgICAgaDQsIGgyLCBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmNhcmQtLXdoaXRlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgLmNhcmRfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGg0LCBoMiwgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gaGlkZSBjYXJkX19jb250ZW50IG9uIGhvdmVyXHJcbiAgICAmLmNhcmQtLWhvdmVyIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG4gICAgICAgIC5jYXJkX19jb250ZW50IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmNhcmRfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkX190aXRsZSB7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgJi5jYXJkLS1zZXRIZWlnaHQge1xyXG4gICAgICAgIGhlaWdodDogMzIwcHg7XHJcbiAgICAgICAgJi5jYXJkLS1ob3ZlciB7XHJcbiAgICAgICAgICAgIC5jYXJkX19pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgxLmNhcmRfX3RpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjNweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuXHRcdCYuYm9sZCB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkdGV4dC1mb250LWJvbGQ7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0XHR9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI4cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgyLmNhcmRfX3RpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjNweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuXHRcdCYuYm9sZCB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkdGV4dC1mb250LWJvbGQ7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0XHR9XHJcblx0XHQmLnVwcGVyY2FzZSB7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR9XHJcblx0XHRzcGFuLm5vcm1hbCB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkdGV4dC1mb250LXJlZ3VsYXI7XHJcblx0XHR9XHJcbiAgICAgICAgJi5udW1iZXIge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJHRleHQtZm9udC1ib2xkO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNjBweCk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMy5jYXJkX190aXRsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4cHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1lZGl1bSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTlweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwLmNhcmRfX2JsdXJiIHtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjBweCk7XHJcbiAgICB9XHJcbiAgICAuY2FyZF9fdGl0bGUtLXNldFdpZHRoIHtcclxuICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgfVxyXG4gICAgLmNhcmRfX2hlYWRlciB7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmRfX2NvbnRlbnQge1xyXG5cclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMTBweCAyMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaDQge1xyXG5cdCAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsO1xyXG5cdCAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0ICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTRweCk7XHJcblx0ICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY2FyZF9fY29udGVudC0tbm8tY2F0IHtcclxuXHQgICAgICAgIHBhZGRpbmc6IDQwcHggMjBweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhcmRfX2NvbnRlbnQtLW5vLXBhZGRpbmcge1xyXG5cdCAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWVkaXVtKSB7XHJcblx0XHQgICAgIFx0cGFkZGluZzogMDtcclxuXHRcdCAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmRfX2NvbnRlbnQtLWlubmVyIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5jYXJkX19jb250ZW50LS1xdW90ZXMge1xyXG5cclxuXHQgICAgLmNhcmRfX3F1b3RlIHtcclxuXHRcdCAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XHJcblx0XHQgICAgcGFkZGluZzogMTBweDtcclxuXHJcblx0XHQgICAgJjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0ICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHQgICAgfVxyXG5cclxuXHRcdCAgICBmb290ZXIge1xyXG5cdFx0XHQgICAgc3BhbiB7XHJcblx0XHRcdFx0ICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHQgICAgfVxyXG5cdFx0ICAgIH1cclxuXHQgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmRfX2NvbnRlbnQtLXR3ZWV0cyB7XHJcblx0ICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuY2FyZF9fY29udGVudC0tdHJhbnNwYXJlbmN5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XHJcbiAgICB9XHJcbiAgICAuY2FyZF9fY29udGVudC1pbWFnZSB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICAgIC5jYXJkX19kb3dubG9hZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjEpO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDI1cHggMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmNhcmRfX2xpbmssICYuY2FyZF9fbGluayB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAuY2FyZF9fYXJyb3cge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jYXJkX19ocmVmIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAuY2FyZF9fYnV0dG9uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICBib3R0b206IC00NnB4O1xyXG4gICAgfVxyXG4gICAgLmNhcmRfX2ltYWdlIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmRfX2ltYWdlLS10b3AtcmlnaHQge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmNhcmRfX2ltYWdlLS1pbmxpbmUge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmNhcmRfX2RvdWJsZUltYWdlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5jYXJkX19pY29uIHtcclxuICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xyXG4gICAgfVxyXG4gICAgLmNhcmRfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgfVxyXG4gICAgLy8uY2FyZC1pbWFnZS0tZnVsbCB7XHJcbiAgICAvLyAgaW1nIHtcclxuICAgIC8vICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gIH1cclxuICAgIC8vfVxyXG4gICAgLy8uY2FyZC1pbWFnZS0td2l0aEhlYWRlciB7XHJcbiAgICAvLyAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyAgICAuY2FyZC1oZWFkZXIge1xyXG4gICAgLy8gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyAgICAgIGJvdHRvbTogLTFweDtcclxuICAgIC8vICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xyXG4gICAgLy8gICAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vICAgICAgcGFkZGluZzogMjBweDtcclxuICAgIC8vICAgIH1cclxuICAgIC8vICAgIC5jYXJkLXRpdGxlIHtcclxuICAgIC8vICAgICAgbWFyZ2luOiAwO1xyXG4gICAgLy8gICAgfVxyXG4gICAgLy99XHJcbiAgICAvLyYuY2FyZC0tbGluayB7XHJcbiAgICAvLyAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC8vICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIC8vfVxyXG5cclxuICAgIC5jYXJkX19zdHJhcCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG5cclxuICAgICAgICAmLS1sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB0b3A6IC00MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAmLXllbGxvdyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2ZyZXNoLWxhYmVsLXllbGxvdy5wbmcnKTsgfVxyXG4gICAgICAgICAgICAmLWRhcmstYmx1ZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2ZyZXNoLWxhYmVsLWRhcmstYmx1ZS5wbmcnKTsgfVxyXG4gICAgICAgICAgICAmLWxpZ2h0LWJsdWUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9mcmVzaC1sYWJlbC1saWdodC1ibHVlLnBuZycpOyB9XHJcbiAgICAgICAgICAgICYtcmVkIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvZnJlc2gtbGFiZWwtcmVkLnBuZycpOyB9XHJcbiAgICAgICAgICAgICYtb3JhbmdlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvZnJlc2gtbGFiZWwtb3JhbmdlLnBuZycpOyB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi0tcmV2ZWFsIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNjBweDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FyZF9fY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcmRfX3N0cmFwIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcmRfX3RpdGxlIHtcclxuXHQgICAgLy8gUHJlc2VydmUgb3JpZ2luYWwgY2FzZVxyXG4gICAgICAgICAgICAvL3RleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtbGV0dGVyIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcmRfX2NvbnRlbnQtLWlubmVyIHtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmNhcmRfX2NvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC03MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwyNTUsMjU1LDApLCByZ2JhKDI1NSwyNTUsMjU1LCAxKSA5MCUpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICYtLXJldmVhbC1sYXJnZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMzIwcHg7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmNhcmRfX2NvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC43cyBlYXNlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMnB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMSksXHJcbiAgICAmOm50aC1jaGlsZCgyKSxcclxuICAgICY6bnRoLWNoaWxkKDMpLFxyXG4gICAgJjpudGgtY2hpbGQoNCkge1xyXG4gICAgICAgIC5jYXJkX19zdHJhcC0tbGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uY2FyZHMgLmNhcmQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbWVkaXVtKSB7XHJcbiAgICAuY2FyZCB7XHJcbiAgICAgICAgJi5jYXJkLS1kb3VibGUsIC5jYXJkLS1kb3VibGUge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FyZF9fZG91YmxlSW1hZ2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FyZF9fY29udGVudC1pbWFnZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjJweCAwcHggMjBweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhcmQtLXNldEhlaWdodCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzIwcHg7XHJcbiAgICAgICAgICAgICYuY2FyZC0taG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmNhcmRfX2ltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoODUwcHgpIHtcclxuICAgIC5jYXJkIHtcclxuICAgICAgICAuY2FyZF9fZG91YmxlSW1hZ2Uge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KDk2MHB4KSB7XHJcbiAgICAuY2FyZCB7XHJcblx0ICAgIC5jYXJkX19jb250ZW50LS1yZWdpc3RlciBwIHtcclxuXHQgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblx0ICAgIH1cclxuICAgICAgICAmLmNhcmQtLWRvdWJsZSwgLmNhcmQtLWRvdWJsZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FyZC0tc3F1YXJlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KDExNTBweCkge1xyXG4gICAgLmNhcmQge1xyXG5cdCAgICAuY2FyZF9fY29udGVudC0tcmVnaXN0ZXIgcCB7XHJcblx0ICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0ICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5jYXJkX19hcnJvdyB7XHJcbiAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjRweCk7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS43O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgYm90dG9tOiAxMHB4O1xyXG4gICAgJi5jYXJkX19hcnJvdy0td2hpdGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICB9XHJcbiAgICAmLmNhcmRfX2Fycm93LS1ibHVlIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG4gICAgJi5jYXJkX19hcnJvdy0tcHJpbWFyeSB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBtYW51YWwgY2FyZCBoZWlnaHRzXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XHJcblx0LmNhcmQge1xyXG5cdCAgICAuY2FyZF9faW1hZ2UtLXRvcC1yaWdodCB7XHJcblx0XHQgICAgZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRtYXJnaW46IC03MXB4IC0yMHB4IDIwcHggMjBweDtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHR9XHJcblx0ICAgIC5jYXJkX19pbWFnZS0taW5saW5lIHtcclxuXHRcdCAgICBmbG9hdDogbGVmdDtcclxuXHRcdFx0bWFyZ2luOiA0cHggMzBweCAyMHB4IDA7XHJcblx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0fVxyXG4gICAgICAgIC5jYXJkX19kb3VibGVJbWFnZSB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhcmQtLXNldEhlaWdodCB7XHJcblxyXG4gICAgICAgIH1cclxuXHR9XHJcblxyXG5cdC5jYXJkLS1yZWdpc3Rlci1oZWlnaHQtMSB7XHJcblx0XHRoZWlnaHQ6IDE4MHB4O1xyXG5cdH1cclxuXHJcblx0LmNhcmQtLXJlZ2lzdGVyLWhlaWdodC0yIHtcclxuXHRcdGhlaWdodDogMzczcHg7XHJcblx0fVxyXG4gICAgLmNhcmRfX2RvdWJsZS1pbWFnZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCIkYXJyb3ctd2lkdGg6IDQwcHg7XG4ubmF2aWdhdGlvbi1iYXIge1xuICB3aWR0aDogMTAwJTsgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG59XG5cbiAgLm5hdmlnYXRpb24tYmFyX190YWIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC41ZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogOTk5O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMHB4IDFweDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwM2M2OTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICBtYXgtd2lkdGg6IDE0ZW07XG4gICAgfVxuICAgIC5uYXZpZ2F0aW9uLWJhcl9fdGFiLS1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGFycm93LXdpZHRoO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjVlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAgIC5uYXZpZ2F0aW9uLWJhcl9fdGFiX19hcnJvdyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjRweCk7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogJGFycm93LXdpZHRoO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7IFxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICYud2hpdGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfSIsIi5oZXJvX193cmFwcGVyIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICAgIC5oZXJvX19pbWFnZS0tb25seSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuLmhlcm8ge1xyXG4gICAgLmhlcm9fX2ltYWdlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAvLyBTZXQgbWluLWhlaWdodCB0byB3aGF0ZXZlciB0aGUgZGVzaWduIHNob3dzIGZvciBtb2JpbGVcclxuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgICAmLmhlcm9fX2NhcHRpb25zIHtcclxuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0ICAgIHBhZGRpbmc6IDIwcHg7XHJcblx0ICAgIGgzLCBoNCwgYSB7XHJcblx0XHQgICAgY29sb3I6ICR3aGl0ZTtcclxuXHQgICAgfVxyXG5cdCAgICBoMyB7XHJcblx0XHQgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwcHgpO1xyXG5cdFx0ICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0ICAgIH1cclxuXHJcblx0ICAgIGg0IHtcclxuXHRcdCAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XHJcblx0XHQgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG5cdCAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xyXG4gICAgLmhlcm8td3JhcHBlcntcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDIwcHg7XHJcbiAgICB9XHJcbiAgICAuaGVybyB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgLmhlcm9fX2ltYWdlIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFJlbW92ZSBpZiAuaGVyb19fY2Fyb3VzZWwgaWYgbm90IG5lZWRlZCBvbiB0aGlzIHByb2plY3RcclxuICAgICAgICAmLmhlcm9fX2Nhcm91c2VsIHtcclxuLy8gICAgICAgICAgICAuaGVyb19fY2Fyb3VzZWxDb3B5IHtcclxuLy8gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbi8vICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbi8vICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbi8vICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4vLyAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAuaGVyb19fY2Fyb3VzZWxDb250ZW50IHtcclxuLy8gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbi8vICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbi8vICAgICAgICAgICAgICAgIGhlaWdodDogNTAwcHg7XHJcbi8vICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTYwcHg7XHJcbi8vICAgICAgICAgICAgICAgIHJpZ2h0OiA1MCU7XHJcbi8vICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNTAlO1xyXG4vLyAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAuaGVyb19fY2Fyb3VzZWxDYXB0aW9uIHtcclxuLy8gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbi8vICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbi8vICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbi8vICAgICAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcclxuLy8gICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuLy8gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XHJcbi8vICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgIC5oZXJvX19jYXJvdXNlbENvcHlCYWNrZHJvcCB7XHJcbi8vICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4vLyAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oZXJvX19jYXB0aW9ucyB7XHJcblx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTZXQgdGhpcyB0byB3aWR0aCBvZiB0aGUgaGVybyBpbWFnZXMgYmVpbmcgdXNlZFxyXG4kZGVmYXVsdC1oZXJvLWltYWdlLXdpZHRoOiAxODAwcHg7XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KCRkZWZhdWx0LWhlcm8taW1hZ2Utd2lkdGgpIHtcclxuICAgIC5oZXJvIHtcclxuICAgICAgICAvLyBQaWNrIGEgY29sb3VyIHRoYXQgY29tcGxpbWVudHMgdGhlIGltYWdlcyAtIHdpbGwgYmUgdmlzaWJsZSBlaXRoZXIgc2lkZSBvZiB0aGUgLmhlcm8gY29udGVudCBvbiB2ZXJ5IGxhcmdlIHNjcmVlbnNcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gICAgICAgIC5oZXJvX19pbWFnZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gRmxleHNsaWRlciBjYXJvdXNlbCBtb2RpZmljYXRpb25zIC0gbm90IGFkZGVkIHRvIHRoZSBmbGV4c2xpZGVyIGxpYnJhcnlcclxuXHJcbi5mbGV4c2xpZGVyIC5zbGlkZXMgPiBsaS5mdWxsIC5jZW50ZXJlZCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5mbGV4c2xpZGVyIC5zbGlkZXMgPiBsaS5mdWxsIC5jZW50ZXJlZCBpbWcge1xyXG4gICAgbWluLXdpZHRoOjEwMDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50ICgkbGFyZ2UpIHtcclxuICAgIC8vIC5mbGV4c2xpZGVyIC5zbGlkZXMgPiBsaS5mdWxsIC5jZW50ZXJlZCBpbWcge1xyXG4gICAgLy8gICAgIG1pbi13aWR0aDoxODAwcHggIWltcG9ydGFudDtcclxuICAgIC8vIH1cclxufVxyXG4iLCIuaG9tZWdyb3duLWhlcm9lcyB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5ob21lZ3Jvd24taGVyb2VzX19oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIHBhZGRpbmc6IDMwcHg7XG59XG5cbi5ob21lZ3Jvd24taGVyb2VzX190aXRsZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5ob21lZ3Jvd24taGVyb2VzX19pZnJhbWUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEyMzZweDtcbn1cblxuLmhvbWVncm93bi1oZXJvZXNfX2Zvb3RlciB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDIwcHggMCAwIDA7XG4gICAgfVxuICAgIHAsbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoNjIwcHgpIHtcbiAgICAuaG9tZWdyb3duLWhlcm9lc19faWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMjQxcHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KDEwNjRweCkge1xuICAgIC5ob21lZ3Jvd24taGVyb2VzX19pZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDY2NXB4O1xuICAgIH1cbn0iLCIubWFpbm5hdiB7XG4gICAgZm9udC1mYW1pbHk6ICR0ZXh0LWZvbnQtcmVndWxhcjtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbiAgICAubWFpbm5hdl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBib3gtc2l6aW5nOiB1bnNldDtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDIwcHggMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgICYtLXByaW1hcnkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1haW5uYXZfX2l0ZW0ge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuICAgICAgICBmb250LWZhbWlseTogJHRleHQtZm9udC1ib2xkO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW46IDE2cHggYXV0byAwO1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4KTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAjbWFpbm5hdl9fYWN0aW9uIHtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHQgICAgY29sb3I6ICR3aGl0ZTtcblx0ICAgIGJvcmRlcjogbm9uZTtcblx0ICAgIHBhZGRpbmc6IDZweCA4cHg7XG5cdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgICByaWdodDogMHB4O1xuXHQgICAgdG9wOiAwcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgLm1hdGVyaWFsLWljb25zIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRtZWRpdW0pIHtcbiAgICAubWFpbm5hdiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgLm1haW5uYXZfX2xpc3Qge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMS41cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNCksIDAgMS41cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAjbWFpbm5hdl9fYWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLm1haW5uYXZfX2l0ZW0ge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgZmxleC1ncm93OiA1O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuICAgIC5tYWlubmF2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG4gICAgICAgIH1cbiAgICAgICAgLm1haW5uYXZfX2xpc3Qge1xuXG4gICAgICAgICAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXNlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudG9wbmF2IHtcbi8vICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRvcG5hdl9fdGFnbGluZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHRleHQtZm9udC1ib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHRleHQtZm9udC1ib2xkO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbWVkaXVtKSB7XG4gICAgLnRvcG5hdiB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAycHggMCAwO1xuICAgICAgICAudG9wbmF2X190YWdsaW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMnB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjVweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcbiAgICAudG9wbmF2IHtcbiAgICAgICAgLnRvcG5hdl9fdGFnbGluZSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkeC1sYXJnZSkge1xuICAgIC50b3BuYXYge1xuICAgICAgICAudG9wbmF2X190YWdsaW5lIHtcbiAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTVweCk7XG4gICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5pbnRybyB7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIHRvcDogMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkbGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3V0dGVyKDEyKTtcbiAgICAgICAgcGFkZGluZzogMmVtIDFlbSAyZW0gMGVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICB9XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi0tYmcge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogMmVtIDFlbSAyZW0gMmVtO1xuICAgICAgICAgICAgbGVmdDogMmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICR0ZXh0LWZvbnQtYm9sZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNnB4KTtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM2cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkeC1sYXJnZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0MnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOHB4KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMXB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcbiAgICAuaW50cm8ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuXG5AaW5jbHVkZSBicmVha3BvaW50KCR4LWxhcmdlKSB7XG4gICAgLmludHJvIHtcbiAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkeHgtbGFyZ2UpIHtcbiAgICAuaW50cm8ge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yZWdpc3RlciB7XG5cdFxuICAgIC5yZWdpc3Rlcl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICB9XG4gICAgLnJlZ2lzdGVyX19oZWFkZXIge1xuXHQgICAgaDMge1xuXHRcdCAgICBAaW5jbHVkZSBmb250LXNpemUoNDhweCk7XG5cdFx0ICAgIGNvbG9yOiAkd2hpdGU7XG5cdFx0ICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXHQgICAgfVxuICAgIH1cbiAgICAucmVnaXN0ZXJfX3RleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjBweCk7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICR0ZXh0LWZvbnQtcmVndWxhcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucmVnc2l0ZXJfX2NvbnRlbnQtLWNvbXBsZXRlIHtcblx0ICAgIFxuXHQgICAgcGFkZGluZzogMTAwcHggMDtcblx0ICAgIGgyIHtcblx0XHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdCAgICBmb250LWZhbWlseTogJHRleHQtZm9udC1yZWd1bGFyO1xuXHRcdCAgICBAaW5jbHVkZSBmb250LXNpemUoOTRweCk7XG5cdFx0ICAgIGNvbG9yOiAkd2hpdGU7XG5cdFx0ICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdCAgICB9XG5cdCAgICBoMyB7XG5cdFx0ICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMnB4KTtcblx0XHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHQgICAgfVxuICAgIH1cbn1cblxuLnJlZ2lzdGVyX19zaWduLWluLXRhYiB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgJi5yZWdpc3Rlcl9fc2lnbi1pbi10YWItLWhlaWdodCB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cbiAgLnJlZ2lzdGVyX19zaWduLWluLXRhYl9fd29yZGluZyB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAZXh0ZW5kIC5oMztcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLnJlZ2lzdGVyLS1wcmltYXJ5IHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yLWRhcms7XG59IiwiLnNjaG9vbCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMThweCk7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIC5zY2hvb2xfX2xpc3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnNjaG9vbF9fcm93IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICB9XG4gICAgLnNjaG9vbF9faGVhZGVyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEwcHgpO1xuICAgIH1cbiAgICAuc2Nob29sX19yb3c6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIC5zY2hvb2xfX2NlbGwge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zY2hvb2xfX2NlbGwge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzM4OTNjOTtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDEwcHg7XG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2Nob29sX19wb3N0Y29kZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgfVxuICAgIC5zY2hvb2xfX25hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgfVxufSIsIi5zZWFyY2gtY29tbXVuaXR5IHtcbi8vXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0cGFkZGluZzogMTBweDtcbn1cblxuLmZvcm0tcm93IHtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuXG4uc2VhcmNoLWNvbW11bml0eV9fc2VhcmNoLFxuLnNlYXJjaC1jb21tdW5pdHlfX3RhZ3MsXG4uc2VhcmNoLWNvbW11bml0eV9fb3JkZXIsXG4uc2VhcmNoLWNvbW11bml0eV9fdGFnLW9wdGlvbnMge1xuICAgIC5mb3JtX19sYWJlbCB7XG4vLyAgICAgICAgQGV4dGVuZCAuZm9ybV9fZmllbGQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59XG5cblxuLnNlYXJjaF9fYnV0dG9uIHtcblx0d2lkdGg6IDM4MHB4O1xufVxuXG4uc2VhcmNoLWNvbW11bml0eV9fdGFncyxcbi5zZWFyY2gtY29tbXVuaXR5X190YWctb3B0aW9ucyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQudGFnLWNoZWNrYm94IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTsgLyogSUU2LCBJRTcgKi9cbiAgICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuXHRcdHotaW5kZXg6IDU7XG5cdH1cblxuXHQudGljayB7XG5cdFx0Y29sb3I6ICRncmV5O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDRweDtcblx0XHRyaWdodDogOXB4O1xuXHR9XG5cblx0Ji5pcy1ub3QtY2hlY2tlZCxcblx0LmZvcm0tcm93LmlzLWNoZWNrZWQge1xuXHRcdC50aWNrIHtcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdH1cblx0fVxufVxuXG4uc2VhcmNoLWNvbW11bml0eV9fdGFnLW9wdGlvbnMge1xuICAgIC50aWNrIHtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICByaWdodDogLThweDtcbiAgICB9XG59XG5cbi5zZWFyY2gtY29tbXVuaXR5X19zZWxlY3QtYWxsIHtcblx0LnNlbGVjdC1hbGwge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcblx0XHRsaW5lLWhlaWdodDogMTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxcHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5mb3JtIHtcblx0LnNlYXJjaC1jb21tdW5pdHlfX3RhZy1vcHRpb25zIHtcblx0IFx0b3ZlcmZsb3c6IGhpZGRlbjtcbiBcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcbiBcdFx0cGFkZGluZzogMTBweDtcblxuXHRcdC5mb3JtX19sYWJlbCB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMTRweCk7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAzZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cbn1cblxuLnNlYXJjaC1jb21tdW5pdHlfX29yZGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC5vcmRlci10b2dnbGUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDVweDtcblx0XHRib3R0b206IDExcHg7XG5cdFx0cmlnaHQ6IDEwcHg7XG5cdFx0ei1pbmRleDogMTA7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0fVxuXG5cdC5vcmRlci10b2dnbGUtLW5ld2VzdCB7XG5cdFx0cmlnaHQ6IDMzcHg7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggJHNlY29uZGFyeS1jb2xvcjtcblx0fVxuXG5cdCYub3JkZXJlZC1uZXdlc3Qge1xuXHRcdC5vcmRlci10b2dnbGUtLW5ld2VzdCB7XG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0XHR9XG5cdH1cblxuXHQmLm9yZGVyZWQtb2xkZXN0IHtcblx0XHQub3JkZXItdG9nZ2xlLS1vbGRlc3Qge1xuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0fVxuXHR9XG5cblx0aW5wdXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpOyAvKiBJRTYsIElFNyAqL1xuICAgICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdH1cbn1cblxuLmZvcm1fX2ZpZWxkLS1zZWFyY2gtY29tbXVuaXR5IHtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4uZm9ybSB7XG5cdC5zZWFyY2gtY29tbXVuaXR5X19zZWFyY2gge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC5mb3JtX19sYWJlbHtcblx0XHRcdGJvcmRlcjogbm9uZSFpbXBvcnRhbnQ7XG4vL1x0XHRcdGJvcmRlci1yaWdodDogc29saWQgMXB4ICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0bWFyZ2luOiAzcHggMDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0cGFkZGluZy10b3A6IDNweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0fVxuXG5cdFx0LmZvcm1fX2ZpZWxkLS1zZWFyY2gtY29tbXVuaXR5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAxMHB4O1xuLy9cdFx0XHRwYWRkaW5nLWxlZnQ6IDgwcHg7XG4vL1x0XHRcdGJvcmRlcjogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLnNlYXJjaC1yZXN1bHRzIHtcblx0bWFyZ2luLXRvcDogNjZweDtcbn1cblxuLnF1ZXN0aW9uLW1hcmsge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdHBhZGRpbmc6IDA7XG5cdHdpZHRoOiAxZW07XG5cdGhlaWdodDogMWVtO1xuXHRAaW5jbHVkZSBmb250LXNpemUoMzBweCk7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbWVkaXVtKSB7XG4gICAgLmZvcm0ge1xuICAgICAgICAuc2VhcmNoLWNvbW11bml0eV9fdGFnLW9wdGlvbnMge1xuICAgICAgICAgICAgLnRpY2sge1xuLy8gICAgICAgICAgICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcblx0LmZvcm0tcm93IHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG5cblxuICAgIC5zZWFyY2gtY29tbXVuaXR5IHtcbiAgICAgICAgLmZvcm0ge1xuICAgICAgICAgICAgLmZvcm1fX2ZpZWxkLCAuZm9ybV9fbGFiZWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXHQuZm9ybSB7XG5cdFx0LnNlYXJjaC1jb21tdW5pdHlfX3NlYXJjaCB7XG5cdFx0XHQuZm9ybV9fbGFiZWwge1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0dG9wOiBhdXRvO1xuXHRcdFx0XHRsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXHRcdFx0fVxuXG5cdFx0XHQuZm9ybV9fZmllbGQtLXNlYXJjaC1jb21tdW5pdHkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0d2lkdGg6IDczJTtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zZWFyY2gtY29tbXVuaXR5IHtcblx0XHRwYWRkaW5nOiAyMHB4IDIwcHggMCAyMHB4O1xuXHR9XG5cblx0LnNlYXJjaC1jb21tdW5pdHlfX3RhZ3Mge1xuXHRcdC50aWNrLFxuXHRcdC51bi10aWNrZWQge1xuXHRcdFx0cmlnaHQ6IDEwcHg7XG5cdFx0fVxuXHR9XG5cdC5mb3JtIHtcblx0XHQuc2VhcmNoLWNvbW11bml0eV9fdGFnLW9wdGlvbnMge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAudGljaywgLnVuLXRpY2tlZCB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cblx0XHR9XG5cdH1cbn0iLCIucGFuZWwge1xuICAgICYucGFuZWwtLWJsdWUge1xuXHQgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICB9XG4gICAgJi5wYW5lbC0teWVsbG93IHtcblx0ICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gICAgfVxuICAgIC5wYW5lbF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIFxuICAgICAgICAmLnBhbmVsX19jb250ZW50LS1lcnJvciB7XG5cdCAgICAgICAgcCB7XG5cdFx0ICAgICAgICBtYXJnaW46IDA7XG5cdCAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wYW5lbF9fYnV0dG9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAucGFuZWxfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICB9XG4gICAgLnBhbmVsX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIFxuICAgIGZvcm0ge1xuXHQgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgfVxufSIsIi5xdWljay1mYWN0cyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAucXVpY2stZmFjdHNfX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgICAucXVpY2stZmFjdHNfX2ZhY3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn0iLCIudHdpdHRlci10aW1lbGluZSB7XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgaGVpZ2h0OiA5NSU7XG59IiwiLnVwbG9hZGlmeSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5zd2Z1cGxvYWQge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgei1pbmRleDogNSFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbi51cGxvYWRpZml2ZS1xdWV1ZSB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi51cGxvYWRpZml2ZS1xdWV1ZS1pdGVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNXB4KTtcbiAgICAuY2xvc2Uge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG4udXBsb2FkaWZ5LXF1ZXVlLWl0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE1cHgpO1xuICAgIC5jYW5jZWwge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuIiwiQG1peGluIG5hdkJ1YmJsZU5hdk92ZXJyaWRlTGVmdCgkdmFsKSB7XG4gICYuZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYsIC5mbGV4c2xpZGVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtcHJldiB7XG4gICAgbGVmdDogLSAkdmFsLzI7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTtcbiAgfVxufVxuXG5AbWl4aW4gbmF2QnViYmxlTmF2T3ZlcnJpZGVSaWdodCgkdmFsKSB7XG4gICYuZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQsIC5mbGV4c2xpZGVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dCB7XG4gICAgcmlnaHQ6IC0gJHZhbC8yO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogOTk7XG4gIH1cbn1cblxuQG1peGluIG5hdkJ1YmJsZU1peGluKCRuYXYtYnViYmxlLXNpemUpIHtcbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiBhIHtcbiAgICB3aWR0aDogJG5hdi1idWJibGUtc2l6ZTtcbiAgICBoZWlnaHQ6ICRuYXYtYnViYmxlLXNpemU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiA0MyU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkbmF2LWJ1YmJsZS1zaXplIC8gMy42O1xuICAgIH1cbiAgICAmLmZsZXgtcHJldiwgJi5mbGV4LW5leHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgfVxuICAgICYuZmxleC1wcmV2IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgNTAlIDUwJSAwO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nOiAkbmF2LWJ1YmJsZS1zaXplIC8gMyAkbmF2LWJ1YmJsZS1zaXplIC8gMS42OyAvLzE3cHggMjhweFxuICAgICAgfVxuICAgIH1cbiAgICAmLmZsZXgtbmV4dCB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCUgMCAwIDUwJTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZzogJG5hdi1idWJibGUtc2l6ZSAvIDMgJG5hdi1idWJibGUtc2l6ZSAvIDEuNiAwIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiAgLmNhcm91c2VsX19jb250YWluZXJfX2ZsZXhzbGlkZXIge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMjBweDtcbiAgICB9XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci10b3A6IDBweCBzb2xpZCAkb3JhbmdlO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmLmRlZmF1bHQtbmF2IHtcbiAgICAgIEBpbmNsdWRlIG5hdkJ1YmJsZU5hdk92ZXJyaWRlTGVmdCg5MHB4KTtcbiAgICAgIEBpbmNsdWRlIG5hdkJ1YmJsZU5hdk92ZXJyaWRlUmlnaHQoOTBweCk7XG4gICAgICBAaW5jbHVkZSBuYXZCdWJibGVNaXhpbig5MHB4KTtcbiAgICB9XG4gICAgJi5zbWFsbGVyLW5hdiB7XG4gICAgICBAaW5jbHVkZSBuYXZCdWJibGVOYXZPdmVycmlkZUxlZnQoNTBweCk7XG4gICAgICBAaW5jbHVkZSBuYXZCdWJibGVOYXZPdmVycmlkZVJpZ2h0KDUwcHgpO1xuICAgICAgQGluY2x1ZGUgbmF2QnViYmxlTWl4aW4oNTBweCk7XG4gICAgfVxuICB9XG5cbiAgLmNhcm91c2VsX19jb250YWluZXJfX2ZsZXhzbGlkZXItLXNsaWRlcyA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5jYXJvdXNlbF9fY29udGFpbmVyX19mbGV4c2xpZGVyLS1jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjRkNDNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDM4JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogM2VtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMS4wKTtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuXG4gIC8vIGNvbnRhaW5lciBvZmZzZXQgdG8gYWxpZ24gd2l0aCB0aGUgcGFnZSB0aXRsZVxuICAuY2Fyb3VzZWxfX2NvbnRhaW5lci0taGVhZGVyLW9mZnNldCB7XG4gICAgbWFyZ2luLXRvcDogODVweDtcbiAgfVxuXG4gIC8vIHJlc291cmNlIGhlcm8gY2Fyb3VzZWxcbiAgLmNhcm91c2VsX19jb250YWluZXItLXJlc291cmNlLWhlcm8ge1xuICAgIC5jYXJvdXNlbF9fY29udGFpbmVyX19mbGV4c2xpZGVyLS1jYXB0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHgtbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdGl0bGVcbiAgICAuY2Fyb3VzZWxfX2NvbnRhaW5lcl9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM0cHgpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkeC1sYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBib2R5IGNvcHlcbiAgICAuY2Fyb3VzZWxfX2NvbnRhaW5lcl9fYm9keSB7XG5cbiAgICAgIGgzIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMThweCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR4LWxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiIsIi52aWRlby1qcyB7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAwO1xufVxuXG4ucm95YWxTbGlkZXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnZpZGVvX19idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogNjJweDtcblx0aGVpZ2h0OiA2MnB4O1xuXHRsZWZ0OiA1MCU7XG5cdHRvcDogNTAlO1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICB6LWluZGV4OiAxMDtcblxuXHQubWF0ZXJpYWwtaWNvbnMge1xuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi10b3A6IC0uNWVtO1xuXHRcdG1hcmdpbi1sZWZ0OiAtLjVlbTtcblx0XHRmb250LXNpemU6IDVlbTtcblx0fVxufVxuXG4udmlkZW9fX3RodW1iIHtcblx0LnZpZGVvX19idXR0b24ge1xuXHRcdHdpZHRoOiAxOHB4O1xuXHRcdGhlaWdodDogMThweDtcblx0fVxufVxuXG4ucGxheWluZyB7XG5cdC52aWRlb19fYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5yc1RodW1icyB7XG5cdG1hcmdpbi1ib3R0b206MjBweDtcbn1cblxuLnJzRGVmYXVsdCB7XG5cdC5yc1RodW1iIHtcblx0XHQmLnJzTmF2U2VsZWN0ZWQgaW1nIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHRcdC5tYXRlcmlhbC1pY29ucyB7XG5cdFx0XHRmb250LXNpemU6IDEuNWVtO1xuXHRcdH1cblx0fVxufVxuXG4ucmVzb3VyY2UtYWN0aXZpdHlfX3ZpZGVvLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IDNlbTtcblx0ICAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XG5cdCAgICBoZWlnaHQ6IDMwJTtcblx0ICAgIHdpZHRoOiAxNyU7XG5cdCAgICBib3JkZXI6IG5vbmU7XG5cdCAgICB0b3A6IDM4JTtcblx0ICAgIGxlZnQ6IDQzJTtcblx0ICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cdCAgICAmOmhvdmVyIHtcblx0ICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0ICAgIH1cblx0ICAgICY6YmVmb3JlIHtcblx0ICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvdmlkZW8tcGxheS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcblx0ICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuXHQgICAgICBjb250ZW50OiAnJztcblx0ICAgIH1cblx0ICB9XG5cdC52aWRlby1qczpob3ZlciAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XG5cdCAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0fVxuXHQudmlkZW8tanMgLnZqcy1jb250cm9sLWJhciB7XG5cdCAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDYwLDEwNSwwLjgpO1xuXHR9XG59XG4iLCJAaW1wb3J0IFwiLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGlzIG1peGluIHByb3ZpZGVzIGJhc2ljIHN1cHBvcnQgZm9yIENTUzMgcHJvcGVydGllcyBhbmRcbi8vIHRoZWlyIGNvcnJlc3BvbmRpbmcgZXhwZXJpbWVudGFsIENTUzIgcHJvcGVydGllcyB3aGVuXG4vLyB0aGUgaW1wbGVtZW50YXRpb25zIGFyZSBpZGVudGljYWwgZXhjZXB0IGZvciB0aGUgcHJvcGVydHlcbi8vIHByZWZpeC5cbkBtaXhpbiBleHBlcmltZW50YWwoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7IC13ZWJraXQtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAgLWtodG1sLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgLW1vei0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICAgICAtbXMtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgIC1vLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAjeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbn1cblxuLy8gU2FtZSBhcyBleHBlcmltZW50YWwoKSwgYnV0IGZvciBjYXNlcyB3aGVuIHRoZSBwcm9wZXJ0eSBpcyB0aGUgc2FtZSBhbmQgdGhlIHZhbHVlIGlzIHZlbmRvcml6ZWRcbkBtaXhpbiBleHBlcmltZW50YWwtdmFsdWUoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICN7JHByb3BlcnR5fSA6IC13ZWJraXQtI3skdmFsdWV9OyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgLWtodG1sLSN7JHZhbHVlfTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgI3skcHJvcGVydHl9IDogICAgLW1vei0jeyR2YWx1ZX07IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICN7JHByb3BlcnR5fSA6ICAgICAtbXMtI3skdmFsdWV9OyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAgIC1vLSN7JHZhbHVlfTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAgICAjeyR2YWx1ZX07IH1cbn1cbiIsIi5yZXNvdXJjZXMtc2VhcmNoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuICAjcmVzb3VyY2VzLXNlYXJjaF9fZHluLWJsb2NrcywgI3JlbGF0ZWRfX2R5bi1ibG9ja3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkLmwtTS0xb2YyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkbWVkaXVtKXtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgybikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRsYXJnZSl7XG4gICAgICAmOm50aC1vZi10eXBlKDJuKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3BhbigzKTtcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoNG4pIHtcbiAgICAgICAgQGluY2x1ZGUgbGFzdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkaGVhZGVyLWhlaWdodDogOGVtO1xuICAucmVzb3VyY2VzLXNlYXJjaF9faGVhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcbiAgICAgIGhlaWdodDogNmVtO1xuICAgIH1cbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggZ3JleTtcbiAgfVxuXG4gIC5yZXNvdXJjZXMtc2VhcmNoX19oZWFkZXJfX2NvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC1oZWlnaHQ6IDRlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItaGVpZ2h0IC8gMztcblxuICAgICYtLXByaW1hcnkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHAge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5yZXNvdXJjZXMtc2VhcmNoX19oZWFkZXJfX2NvbF9fYnV0dG9uLWdyb3VwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAuYnRuLS1yZXNvdXJjZXMge1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICB9XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAmLm9wZW4gPiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG4gICAgICAmLm9wZW4gPiAuYnRuLS1yZXNvdXJjZXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICAmLm9wZW4gPiAuYnRuLS1yZXNvdXJjZXMgaSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAyLjVlbTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgICAgIG1hcmdpbjogN3B4IDAgMDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwwLDAsLjE3NSk7XG4gICAgICAgIC5kcm9wZG93bi1tZW51X19pdGVtIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA0ZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzZW07XG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMGVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTFweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgbGVmdDogMXB4O1xuICAgICAgICAgICAgICB0b3A6IC0yMHB4O1xuICAgICAgICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Y2hlY2tlZDpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Y2hlY2tlZDphZnRlciB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgSWNvbnNcIjtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxFODc2XCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4iLCIlYm9sZGVyLWgzLWNvbnRlbnQge1xuICBmb250LWZhbWlseTogJHRleHQtZm9udC1ib2xkO1xuICBAaW5jbHVkZSBmb250LXNpemUoMzBweCk7XG59XG5cbi5zLXVnYyB7XG4gIGgzIHtcbiAgICBAZXh0ZW5kICVib2xkZXItaDMtY29udGVudDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMThweCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIxcHgpO1xuICAgIH1cbiAgfVxuICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbmgzLnMtdWdjIHtcbiAgQGV4dGVuZCAlYm9sZGVyLWgzLWNvbnRlbnQ7XG59XG4iLCIuYWNjb3JkaW9uIHtcbiAgICBoMyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJysnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdGV4dC1mb250LWxpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnLSc7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIH1cbn1cbiIsIi5idG4ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMnB4KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC1mYW1pbHk6ICR0ZXh0LWZvbnQtbGlnaHQ7XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbiVsb2FkLW1vcmUtbW9kdWxlIHtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIycHgpO1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMWVtO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW4gMC43NXMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyAvLyB0aGlzIHdpbGwgcHJvYmFibHkgaGF2ZSB0byBiZSBvdmVyd3JpdHRlbiBidG4gdG8gYnRuXHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIk1hdGVyaWFsIEljb25zXCI7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxFNjI3XCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubWF0ZXJpYWwtaWNvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogbm9uZTtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgd2lkdGg6IDFlbTtcclxuICAgICAgICBoZWlnaHQ6IDFlbTtcclxuICAgIH1cclxufVxyXG4uYnRuLS1sb2FkLW1vcmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBwYWRkaW5nOiAwLjdlbSAyZW07XHJcbiAgICBAZXh0ZW5kICVsb2FkLW1vcmUtbW9kdWxlO1xyXG4gICAgZm9udC1mYW1pbHk6ICR0ZXh0LWZvbnQtYm9sZDtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxufVxyXG5cclxuLmJ0bi0tbG9hZC1tb3JlLCAuYnRuLS1yZXNvdXJjZXMge1xyXG4gICAgQGV4dGVuZCAlbG9hZC1tb3JlLW1vZHVsZTtcclxufVxyXG5cclxuLmJ0bi0tcmVzb3VyY2VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM2cHgpO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLS1yZXNvdXJjZXMge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyZXk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGkge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzZweCk7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBsaWdodGdyZXk7XHJcbiAgICAgICAgaGVpZ2h0OiA4NSU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICByaWdodDogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gUmFpc2VkIEJ1dHRvblxyXG4uYnRuLS1yc2Qge1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBwYWRkaW5nOiAxM3B4IDEycHghaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgdGV4dC1hbGlnbjogQ2VudGVyO1xyXG59XHJcblxyXG4vLyBGbG9hdGluZyBidXR0b25cclxuLmJ0bi0tZmx0IHtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIC5tYXRlcmlhbC1pY29ucyB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM0cHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLS1wcmltYXJ5IHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi0td2hpdGUge1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLS1zZWFyY2gge1xyXG4gICAgZm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XHJcbiAgICBmb250LWZhbWlseTogXCJNYXRlcmlhbCBJY29uc1wiO1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDQwcHgpO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC01NXB4O1xyXG59XHJcblxyXG4uYnRuLS1leHRlbmRlZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAuYnRuLS1leHRlbmRlZC1sYWJlbCB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdztcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTRweCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCA3MHB4IDEwcHggMDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuYnRuLS1leHRlbmRlZC1pY29uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtMTBweDtcclxuICAgICAgICByaWdodDogLTEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiRidG4tLW1heFdpZHRoOiAxNGVtO1xyXG4uYnRuLS1kaXNjb3ZlciB7XHJcbiAgICBmb250LWZhbWlseTogJHRleHQtZm9udC1ib2xkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1pbi1oZWlnaHQ6ICRidG4tLW1heFdpZHRoIC8gODtcclxuICAgIHBhZGRpbmc6ICRidG4tLW1heFdpZHRoIC8gMjA7XHJcbiAgICBsaW5lLWhlaWdodDogJGJ0bi0tbWF4V2lkdGggLyAxMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgJi5zbWFsbCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkYnRuLS1tYXhXaWR0aCAqIDAuODtcclxuICAgIH1cclxuICAgICYuYnRuLS1kaXNjb3Zlci0tdG8tYm90dG9tIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcclxuICAgICAgICAgICAgYm90dG9tOiAxMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi0tcG9zdGNvZGUge1xyXG4gICAgQGV4dGVuZCAuYnRuLS1kaXNjb3ZlcjtcclxuICAgIEBleHRlbmQgJWxvYWQtbW9yZS1tb2R1bGU7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMHB4KTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmJ0bi0tc3F1YXJlIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGhlaWdodDogJGJ0bi0tbWF4V2lkdGggLyA1O1xyXG4gICAgd2lkdGg6ICRidG4tLW1heFdpZHRoIC8gNTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICYucHJpbnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL3ByaW50ZXIuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjAlO1xyXG4gICAgfVxyXG4gICAgJi5zaGFyZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL3NoYXJlLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYwJTtcclxuICAgIH1cclxuICAgIHVsLnNvY2lhbE9wdGlvbnMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6ICRidG4tLW1heFdpZHRoIC8gNTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAkYnRuLS1tYXhXaWR0aCAvIDU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGksIGxpIGEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGJ0bi0tbWF4V2lkdGggLyA4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgJi5mYiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvRl9pY29uLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYudHdpdCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvdHdpdHRlci1sb2dvLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZW1haWwge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2VtYWlsLWludml0ZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5idG4tLXJlc291cmNlcy1jYXJvIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkdGV4dC1mb250LWJvbGQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWluLWhlaWdodDogJGJ0bi0tbWF4V2lkdGggLyA4O1xyXG4gICAgcGFkZGluZzogJGJ0bi0tbWF4V2lkdGggLyAyMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkYnRuLS1tYXhXaWR0aCAvIDEwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICAmLnNtYWxsIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRidG4tLW1heFdpZHRoICogMC44O1xyXG4gICAgfVxyXG4gICAgJi5idG4tLXJlc291cmNlcy1jYXJvLS10by1ib3R0b20ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xyXG4gICAgICAgICAgICBib3R0b206IDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRidG4tLW1heFdpZHRoO1xyXG4gICAgfVxyXG59XHJcbiIsIiRjaGVja2JveFdpZHRoOiAzMHB4O1xyXG4kY2hlY2tib3hIZWlnaHQ6ICRjaGVja2JveFdpZHRoO1xyXG4kY2hlY2tib3hCZ0NvbG9yOiAjZmZmZmZmO1xyXG4kY2hlY2tib3hDaGVja2VkQkdDb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRjaGVja2JveERpc2FibGVkQmdDb2xvcjogIzMzMzMzMztcclxuJGNoZWNrYm94Q2hlY2tlZENoZWNrSWNvbjogdXJsKGh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9tYXRlcmlhbC1pY29ucy9leHRlcm5hbC1hc3NldHMvdjQvaWNvbnMvc3ZnL2ljX2NoZWNrX3doaXRlXzI0cHguc3ZnKTtcclxuJGNoZWNrYm94Qm9yZGVyUmFkaXVzOiAxMHB4O1xyXG5cclxuLmZvcm0ge1xyXG4gICAgLmZvcm1fX3NlY3Rpb24ge1xyXG5cdCAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuZm9ybV9fZmllbGRfX2xhYmVsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgJi5lcnJvciB7XHJcbiAgICAgICAgICAgID4gaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBpbnB1dCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6ICRjaGVja2JveFdpZHRoO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkY2hlY2tib3hIZWlnaHQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGNoZWNrYm94QmdDb2xvcjtcclxuICAgICAgICAgICAgICBzaXplOiAwJTtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hlY2tib3hCb3JkZXJSYWRpdXM7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBjdWJpYy1iZXppZXIoLjA3LC45OCwuMywxLjg4KTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hlY2tib3hDaGVja2VkQkdDb2xvcjtcclxuICAgICAgICAgICAgICAgIGltYWdlOiAkY2hlY2tib3hDaGVja2VkQ2hlY2tJY29uO1xyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBzaXplOiAxMDAlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjaGVja2JveERpc2FibGVkQmdDb2xvcjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcm1fX3NlY3Rpb24tLWJsdWUsIC5wYW5lbC0tYmx1ZSAmIHtcclxuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIC5mb3JtX190aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtX19maWVsZCB7XHJcbiAgICAgICAgICAgICYuZm9ybV9fZmllbGQtLWVycm9yIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNjNDI2MmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm1fX2Vycm9yIHtcclxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybV9fZmllbGQtLWNoZWNrYm94IHtcclxuICAgICAgICAgICAgJjpmb2N1cyArIC5mb3JtX19sYWJlbC0tY2hlY2tib3ggLmZvcm1fX2ljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxcHggLTg3cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm1fX2ZpZWxkLS1jaGVja2JveDpjaGVja2VkIHtcclxuICAgICAgICAgICAgJjpjaGVja2VkICsgLmZvcm1fX2ZpZWxkLS1lcnJvciAuZm9ybV9faWNvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzNweCAtMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtX19sYWJlbC0tY2hlY2tib3gge1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZm9ybV9fZmllbGQtLWVycm9yIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIC5mb3JtX19pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY3cHggLTMwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcm1fX3RpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjRweCk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gICAgLmZvcm1fX2Jsb2NrIHtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMThweCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9ybV9fbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuICAgIH1cclxuICAgIC5mb3JtX19sYWJlbC0tY2hlY2tib3gge1xyXG4vLyAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4cHgpO1xyXG4gICAgICAgIC8vIGZvbnQtZmFtaWx5OiAnQXJpYWwnLCBzYW5zLXNlcmlmO1xyXG4gICAgfVxyXG4gICAgLmZvcm1fX2xhYmVsLS1zbWFsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xyXG4gICAgfVxyXG4gICAgLmZvcm1fX2ZpZWxkIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdBcmlhbCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcclxuICAgICAgICAmLmZvcm1fX2Vycm9yIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcm1fX2ZpZWxkLS1zZWFyY2gge1xyXG5cdCAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xyXG5cdCAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTJweDtcclxuXHQgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEycHg7XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICBcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbiAgICAuZm9ybV9fYmxvY2stLXJhZGlvIHtcclxuXHQgICAgXHJcbiAgICAgICBcdHVsIHtcclxuXHQgICAgXHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0ICAgICAgIFxyXG5cdFx0ICAgIGxpIHtcclxuXHRcdCAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0ICAgICAgXHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgICAgICBpbnB1dCwgbGFiZWwge1xyXG5cdCAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdCAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuZm9ybV9fZmllbGQtLWNoZWNrYm94IHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG4gICAgICAgICYgKyBsYWJlbCAuZm9ybV9faWNvbiB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLnNwcml0ZV9faWNvbjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTMwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDI3cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjdweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Y2hlY2tlZCArIGxhYmVsIC5mb3JtX19pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9ybV9fbGFiZWwtLWNoZWNrYm94IHtcclxuICAgICAgICAmLmZvcm1fX2ZpZWxkLS1lcnJvciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgLmZvcm1fX2ljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2OHB4IC0zMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtX19maWVsZC0tcmFkaW8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XHJcbiAgICAgICAgJiArIC5mb3JtX19pY29uIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAuc3ByaXRlX19pY29uO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTJweCAtMzBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMjdweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmNoZWNrZWQgKyAuZm9ybV9faWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MnB4IC0ycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zm9jdXMgKyAuZm9ybV9faWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MnB4IC0ycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtX19ibG9jay0tY2hlY2tib3gge1xyXG4gICAgICAgIGlucHV0LCBsYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHNwYW4sIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHNwYW4ge1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOjIzcHg7XHJcbiAgICAgICAgaGVpZ2h0OjIzcHg7XHJcbiAgICAgICAgbWFyZ2luOi0xcHggMTBweCAwIDA7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG5cclxuICAgICAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHNwYW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00cHggLTMycHg7XHJcbiAgICAgICAgJi5kYXJrIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjotNHB4IC00cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCBzcGFuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOi00cHggLTRweDtcclxuICAgICAgICAmLmRhcmsge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOi00cHggLTRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCBzcGFuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc3Rpb246IDBweCAwcHg7XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHNwYW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zdGlvbjogMHB4IDBweDtcclxuICAgIH1cclxuICAgIC5maWVsZF9fZXJyb3Ige1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgIH1cclxuICAgIC5mb3JtX19idXR0b24ge1xyXG5cdCAgICBwYWRkaW5nOiA2cHggMTJweDtcclxuICAgICAgICBpbnB1dFttdWx0aXBsZV0ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcm1fX2ZpZWxkLS1lcnJvciB7XHJcbi8vICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNjNDI2MmU7XHJcblxyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICB9XHJcbiAgICBcclxuXHQuc2VsZWN0LXN0eWxlIHtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0ICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblx0ICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKCcuLi8uLi9pbWFnZXMvc2VsZWN0LWljb24ucG5nJykgbm8tcmVwZWF0IDk2JSA1MCU7XHJcblx0ICAgIFxyXG5cdCAgICAmLnNlbGVjdC1zdHlsZS1zbWFsbCB7XHJcblx0XHQgICAgd2lkdGg6IDI1JTtcclxuXHQgICAgfVxyXG4gICAgICAgICY6Oi1tcy1leHBhbmQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHR9XHJcblx0XHJcblx0LnNlbGVjdC1zdHlsZSBzZWxlY3Qge1xyXG5cdCAgICBwYWRkaW5nOiA3cHggOHB4O1xyXG5cdCAgICB3aWR0aDogMTAwJTtcclxuLy9cdCAgICBib3JkZXI6IG5vbmU7XHJcblx0ICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcblx0ICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdCAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG5cdCAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgJjo6LW1zLWV4cGFuZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgfVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcclxuICAgIC5mb3JtIHtcclxuICAgICAgICAuZm9ybV9fbGFiZWwsIC5mb3JtX19maWVsZCwgLmZpZWxkX19lcnJvciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZm9ybS0tc3BsaXQge1xyXG4gICAgICAgICAgICAuZm9ybV9fbGFiZWwsIC5mb3JtX19maWVsZCwgLmZpZWxkX19lcnJvciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtX19maWVsZC0tc21hbGwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi50YWdzIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbn1cclxuXHJcbi8vIFJlY2FwdGNoYVxyXG4ubS1mb3JtLWctcmVjYXB0Y2hhIHtcclxuICAgIG1hcmdpbjogMzBweCAwO1xyXG5cclxuICAgIC5tLWZvcm0tZy1yZWNhcHRjaGFfX2Vycm9yIHtcclxuICAgICAgICBjb2xvcjogI2RhMjkxYztcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTRweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmctcmVjYXB0Y2hhIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn0iLCIudS1za2lwdG9jb250ZW50IHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRvcDogLTEwcHg7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xuICAgIH1cbn1cblxuLnUtc2NyZWVucmVhZGVyIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICBsZWZ0Oi0xMDAwMHB4O1xuICAgIHRvcDphdXRvO1xuICAgIHdpZHRoOjFweDtcbiAgICBoZWlnaHQ6MXB4O1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbn0iLCIudWktZGF0ZXBpY2tlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xufSIsIi5wLTB7XG4gIHBhZGRpbmc6IDBweDtcbn1cbi5tLTB7XG4gIG1hcmdpbjogMHB4O1xufVxuLmQtbm9uZXtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5mb3JtX19zZWN0aW9uLnAtMHtcbiAgcGFkZGluZzogMHB4O1xufVxuLmRpc3BsYXktaWJ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6MTAwJTtcbn1cbi5mb3JtIC5zZWxlY3Qtc3R5bGUtZnVsbHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYm9yZGVyLXRvcC1ibHVle1xuICBib3JkZXItdG9wOjJweCBzb2xpZCAjMDAzYzY5O1xufVxuLmZvcm0gLmN1c3R1bS1jaGVjay1ib3ggLmZvcm1fX2ZpZWxkX19sYWJlbC1jb250YWluZXIgPiBpbnB1dCArIHNwYW4ge1xuICAgIG1pbi13aWR0aDogMzVweDtcbiAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cbi5mb3JtIC5jdXN0dW0tY2hlY2stYm94ICAuZm9ybS1ibG9ja0ZpZWxkLS1jaGVja2JveHtcbiAgcGFkZGluZy1sZWZ0OjE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG59XG5cbi5ibHVlLWJ0bi1zdWJtaXR7XG4gIGZvbnQtZmFtaWx5OiBcIkF2YW50R2FyZGVHb3RoaWMtQm9sZFwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuNzVlbTtcbiAgcGFkZGluZzogMC43ZW0gMWVtO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDNjNjk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubWItMi5jYW1wYWlnbntcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuLnNoLWxhcmdlLXNjcmVlbntcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5yZXNwb25zaXZlLWltZ3tcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5jYW1wYWlnbi5tdC0ze1xuICBtYXJnaW4tdG9wOiAzZW07XG59XG4ub3JkZXItcGFjayB7XG4gIGZvbnQtZmFtaWx5OiBcIkF2YW50R2FyZGVHb3RoaWMtQm9sZFwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWF4LXdpZHRoOiAyNzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMWVtIGF1dG8gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuLnJlZC1iZy1sYWJlbHtcbiAgZm9udC1mYW1pbHk6IFwiQXZhbnRHYXJkZUdvdGhpYy1Cb2xkXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwZW0gYXV0byAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgYmFja2dyb3VuZDogJHJlZDtcbiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xufVxuLmNhbXBhaWdue1xuICAucmlnaHQtY29udGVudHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgfVxuICAubGVmdC1jb250ZW50e1xuICAgIHBhZGRpbmc6MWVtO1xuICB9XG4gIC5pbnRyb190eHR7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxuICAuYnRuLWZ1bGwtYmxvY2t7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICMwMDNjNjk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOjE2cHg7XG4gIH1cbiAgaDJ7XG4gICAgZm9udC1zaXplOiAyLjFyZW07XG4gIH1cbiAgLmNhbXBhaWduLWRlc2NyaXB0aW9uIGgze1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG4gIC5jYW1wYWlnbi1kZXNjcmlwdGlvbiBwe1xuICAgIG1hcmdpbi10b3A6MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgfVxuICAubGFuZGluZy10aXRsZS5ib2xke1xuICAgIGZvbnQtZmFtaWx5OiBBdmFudEdhcmRlR290aGljLUJvbGQsQXJpYWwsc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG4gIC5sLW5lc3RlZC0xb2Yye1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5hZGQtcGFkZGluZ3tcbiAgICBwYWRkaW5nOiAxZW07XG4gIH1cbiAgLmZvcm0gLmZvcm1fX3NlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgfVxuICAuZm9ybV9fYmxvY2t7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxuICAuc2Nob29sLmZvcm17XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxufVxuLmxvZ2dlZC11c2Vye1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGF7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIH1cbn1cbi5mb3JtLmhlYWRlci1zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAuZmllbGRfX2Vycm9ye1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206MHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgfVxufVxuLmZvcm0uZnVsbC13aWR0aC1mb3Jte1xuICAuZm9ybV9fZmllbGQsIC5maWVsZF9fZXJyb3Ige1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJG1lZGl1bSkge1xuICAubXctMTh7XG4gICAgbWF4LXdpZHRoOiAxOGVtO1xuICB9XG4gIC5jYW1wYWlnbi5kaXNwbGF5LWJveCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmNhbXBhaWduIHtcbiAgICAubGVmdC1ibG9jay13aWR0aCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnJpZ2h0LWJsb2NrLXdpZHRoIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAubGVmdC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDFlbSAyZW07XG4gICAgfVxuICAgIGgye1xuICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgfVxuXG4gICAgLmFkZC1wYWRkaW5ne1xuICAgICAgcGFkZGluZzogMmVtO1xuICAgIH1cbiAgICAuYWRkLWJvcmRlci1hZnRlcntcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIDphZnRlcntcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgIGhlaWdodDo4MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDNjNjk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmwtbmVzdGVkLTFvZjJ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC5mb3JtIC5mb3JtX19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggNTBweDtcbiAgICB9XG5cbiAgfVxuICAub3JkZXItcGFjayB7XG4gICAgbWF4LXdpZHRoOiA1OTBweDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cblxuICAuYmx1ZS1idG4tc3VibWl0e1xuICAgIHBhZGRpbmc6IDAuN2VtIDJlbTtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgOmhvdmVye1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuICAuZm9ybSAuY3VzdHVtLWNoZWNrLWJveCAuZm9ybV9fZmllbGRfX2xhYmVsLWNvbnRhaW5lciA+IGlucHV0ICsgc3BhbiB7XG4gICAgbWluLXdpZHRoOiA1MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIH1cblxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuICAubWluLWgtbC00MzB7XG4gICAgbWluLWhlaWdodDogNDMwcHg7XG4gIH1cbiAgLm1pbi1oLWwtMzMwe1xuICAgIG1pbi1oZWlnaHQ6IDMzMHB4O1xuICB9XG4gIC5zaC1sYXJnZS1zY3JlZW57XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmNhbXBhaWduLmRpc3BsYXktYm94e1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmNhbXBhaWduIHtcbiAgICAuaGVhZGVyLXB7XG4gICAgICBmb250LXNpemU6IDEuMzFlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICB9XG4gICAgLmxlZnQtYmxvY2std2lkdGgge1xuICAgICAgd2lkdGg6IDM3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAucmlnaHQtYmxvY2std2lkdGgge1xuICAgICAgd2lkdGg6IDYzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAuYWRkLXBhZGRpbmd7XG4gICAgICBwYWRkaW5nOiAyZW0gNWVtO1xuICAgIH1cblxuICAgIC5sLUwtMW9mMiB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICB9XG5cblxuICB9XG5cbiAgLmNhbXBhaWduIGgye1xuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICB9XG4gIC5jYW1wYWlnbiAuaW50cm9fdHh0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAuZm9ybSAuY3VzdHVtLWNoZWNrLWJveCAgLmZvcm0tYmxvY2tGaWVsZC0tY2hlY2tib3h7XG4gICAgcGFkZGluZy1sZWZ0Ojg1cHg7XG4gICAgcGFkZGluZy1yaWdodDogODVweDtcbiAgICBwe1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJHgtbGFyZ2UpIHtcbiAgLmNhbXBhaWduIGgye1xuICAgIGZvbnQtc2l6ZTogMi43NXJlbTtcbiAgfVxuICAub3JkZXItcGFjayB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gIH1cbiAgLmNhbXBhaWdue1xuICAgIC5pbnRyb190eHR7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgfVxuICAgIC5idG4tZnVsbC1ibG9ja3tcbiAgICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgIH1cbiAgICAubGVmdC1jb250ZW50e1xuICAgICAgcGFkZGluZzozMHB4IDYwcHg7XG4gICAgfVxuICAgIC5jYW1wYWlnbi1kZXNjcmlwdGlvbiBoM3tcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG4gICAgLmNhbXBhaWduLWRlc2NyaXB0aW9uIHB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgfVxuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzMDBweCkge1xuICAuY2FtcGFpZ24ge1xuICAgIC5oZWFkZXItcCB7XG4gICAgICBmb250LXNpemU6IDEuMGVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIH1cbiAgfVxuICAuc2gtbGFyZ2Utc2NyZWVuLnJpZ2h0LWJsb2NrLXdpZHRoIGltZ3tcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4iLCIubWluLTJ7XG4gIG1pbi1oZWlnaHQ6IDJlbTtcbn1cbi5tYi0yNXtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbi5pbWctYm9yZGVyLXdyYXB7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCAjMDAzYzY5O1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2ZjYzQwMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGltZ3tcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxufVxuLmJpZy1yZWQtZm9udHNpemV7XG4gIGZvbnQtc2l6ZTogMi44MTI1cmVtO1xuICBmb250LWZhbWlseTogXCJBdmFudEdhcmRlR290aGljLUJvbGRcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjYzQyNjJlO1xufVxuLmF0aGxldGUtZGV0YWlsc3tcbiAgbWF4LXdpZHRoOiA1ODVweDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC1mYW1pbHk6IFwiQXZhbnRHYXJkZUdvdGhpYy1Cb2xkXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIH1cblxufVxuLmF0aGxldGUtYmxvY2stdGl0bGV7XG4gIGZvbnQtc2l6ZTogMzhweDtcbiAgZm9udC1mYW1pbHk6IFwiQXZhbnRHYXJkZUdvdGhpYy1Cb2xkXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuLmF0aGxldGUtaW4tYS1kYXl7XG4gIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgdGJvZHkge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIHRyIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICB9XG4gICAgICAgIHRke1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgY29sb3I6ICNjNDI2MmU7XG4gICAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnF1b3RlLXdyYXA6OmFmdGVye1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTM5cHg7XG4gIGxlZnQ6IDQwcHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNDBweCA2NXB4IDAgMDtcbiAgYm9yZGVyLWNvbG9yOiAjYzQyNjJlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMHB4O1xuICBfYm9yZGVyLWNvbG9yOiAjYzQyNjJlICMwMDAwMDAgIzAwMDAwMCAjMDAwMDAwO1xuICBfZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQ2hyb21hKGNvbG9yPScjMDAwMDAwJyk7XG59XG4ucXVvdGUtd3JhcHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzQyNjJlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZzogMzBweDtcblxuICBwe1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuLnF1b3Rlcy1se1xuICBmb250LWZhbWlseTogXCJBdmFudEdhcmRlR290aGljLUJvbGRcIiwgQXJpYWwsIFNhbnMtU2VyaWY7XG4gIGZvbnQtc2l6ZTogOTdweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICBoZWlnaHQ6IDM1cHg7XG59XG4ucXVvdGVzLWwudGV4dC1yaWdodHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uYXRobGV0ZS1ibG9jay1yZXBlYXRlcntcbiAgLmNhcmRfX2NvbnRlbnR7XG4gICAgY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgcHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICB9XG4gIC5iZy15ZWxsb3d7XG4gICAgLmNhcmRfX2NvbnRlbnR7XG4gICAgICBjb2xvcjogIzAwM2M2OTtcbiAgICB9XG4gIH1cbiAgLmNhcmQ6bnRoLWNoaWxkKDRuKXtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgLmhvbWVfX3RhYi0taGVhZGluZywgLmJpZy1yZWQtZm9udHNpemV7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG4gIC5hdGhsZXRlLWRldGFpbHMge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuICAuYXRobGV0ZS1ibG9jay10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG4gIC5hdGhsZXRlLWluLWEtZGF5IHRhYmxlIHRib2R5IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB0ciBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgIH1cbiAgfVxuICAucXVvdGUtd3JhcCBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgLnF1b3Rlcy1sIHtcbiAgICBmb250LXNpemU6IDc1cHg7XG4gIH1cbiAgLnF1b3RlLXdyYXAge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cblxuICAucXVvdGUtd3JhcDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI5cHg7XG4gICAgbGVmdDogMzBweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDMwcHggNTVweCAwIDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzQyNjJlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgX2JvcmRlci1jb2xvcjogI2M0MjYyZSAjMDAwMDAwICMwMDAwMDAgIzAwMDAwMDtcbiAgICBfZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQ2hyb21hKGNvbG9yPScjMDAwMDAwJyk7XG4gIH1cblxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgLmF0aGxldGUtYmxvY2stcmVwZWF0ZXIgLm1pbi0ye1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmF0aGxldGUtYmxvY2stcmVwZWF0ZXIgLm1pbi0zIHtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5hdGhsZXRlLWJsb2NrLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG4gIC5xdW90ZS13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG4gIC5hdGhsZXRlLWJsb2NrLXJlcGVhdGVyIC5jYXJkOm50aC1jaGlsZCgybil7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIH1cblxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmF0aGxldGUtaW4tYS1kYXkgdGFibGUgdGJvZHkgdHIgdGQ6bnRoLWNoaWxkKDEpIHtcbiAgICBtaW4td2lkdGg6IDEyNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1ODBweCkge1xuICAubWItMjV7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuICAuaG9tZV9fdGFiLS1oZWFkaW5nLCAuYmlnLXJlZC1mb250c2l6ZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbiAgLmF0aGxldGUtZGV0YWlscyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB9XG4gIC5hdGhsZXRlLWJsb2NrLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG4gIC5hdGhsZXRlLWluLWEtZGF5IHRhYmxlIHRib2R5IHRyIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/